網站首頁 編程語言 正文
本文實例為大家分享了C語言實現學籍管理系統的具體代碼,供大家參考,具體內容如下
設計一個學籍管理系統,基本功能包括:
1.輸入學生基本信息
2.查詢學生信息(1.按學號2.按姓名)
3.刪除學生信息(1.按學號2.按姓名)
4.學生信息排序(1.按學號2.按姓名)
5.修改學生基本信息
6.輸出學生信息
7.保存學生信息
0.退出程序
注:由于知識有限,該系統暫時規定只輸入3個學生數據,今后會改良成可隨機處理任意多個學生的數據
一、首頁
void enter(struct student stu[],int n) { ?? ?int select; ? ? while(select!=0) ?? ?{ ?? ? ? ? printf("\t\t\t ?---------------------------\n"); ?? ? ? ? printf("\n"); ? ? ? ? ?printf("\t\t\t ? ? 歡迎使用學籍管理系統\n"); ? ? ? ??? ? printf("\n"); ? ? ??? ? printf("\t\t\t ?---------------------------\n"); ?? ? ? ? printf("\t\t\t ?1.輸入學生基本信息\n"); ?? ? ? ? printf("\t\t\t ?2.查詢學生信息(1.按學號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?3.刪除學生信息(1.按學號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?4.學生信息排序(1.按學號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?5.修改學生基本信息\n"); ? ? ? ? ?printf("\t\t\t ?6.輸出學生信息\n"); ? ? ? ? ?printf("\t\t\t ?7.保存學生信息\n"); ? ? ? ? ?printf("\t\t\t ?0.退出程序\n"); ?? ? ? ? printf("\t\t\t ?請輸入您的選項"); ?? ? ? ? scanf("%d",&select); ?? ? ? ? system("cls"); ?? ? ? ? ? switch(select) ?? ??? ? ? { ?? ? ? ? ? ?case 1:input(stu,n);break; ?? ? ? ? ? ?case 2:seek(stu,n);break; ?? ? ? ? ? ?case 3:delect(stu,n);break; ?? ? ? ? ? ?case 4:sort(stu,n);break; ?? ? ? ? ? ?case 5:revise(stu,n);break; ?? ? ? ? ? ?case 6:output(stu,n);break; ? ? ? ? ? ? case 7:keep(stu,n);break; ?? ??? ??? ?case 0:printf("\t\t\t ?您已退出學籍管理系統\n");break; ? ? ? ? ? ? default:printf("輸入有誤\n"); ?? ??? ??? ?system("pause"); ?? ? ? ? ? ?system("cls");?? ? ? ? ?? ??? ? ? } ?? ?} }
二、輸入
int count=0; ? ?//計數器記錄學生個數 void input(struct student stu[],int n) {?? ? ?? ?? ?int i; ?? ?if(count!=0) ?? ??? ?count=0; ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息錄入系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\t\t請輸入學生基本信息(學號,姓名,年齡,性別(女w,男m))\n"); ? ? for(i=0;i
三、查詢
void seek(struct student stu[],int n) { ? ? int i,select2,num2; ?? ?char name2[10]; ?? ?printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息查詢系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇查詢方式(1.按學號查詢 ?2.按姓名查詢)"); ?? ?scanf("%d",&select2); ?? ?system("cls"); ?? ?switch(select2) ?? ?{ ?? ?case 1: ?? ??? ?{? ?? ??? ? ? printf("\t\t\t\t ?請輸入學號"); ?? ??? ? ? scanf("%d",&num2); ?? ??? ? ? system("cls"); ?? ??? ? ? for(i=0;i
四、刪除
void delect(struct student stu[],int n) { ? ? int i=n,j,select3,num3,choice3; ? ? char name3[10]; ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息刪除系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇刪除方式(1.按學號刪除 ?2.按姓名刪除)"); ? ? scanf("%d",&select3); ? ? system("cls"); ?? ?switch(select3) ?? ?{ ?? ?case 1: ?? ??? ?{ ? ? ? ? ? ? printf("\t\t\t\t ?請輸入學號"); ? ? ? ? ? ? scanf("%d",&num3); ?? ??? ? ? ?system("cls"); ?? ??? ? ? ?for(i=0;i
五、排序
void sort(struct student stu[],int n) { ? ? int select4,i,j; ?? ?struct student t; ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息排序系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇排序方式(1.按學號排序 ?2.按姓名排序)"); ? ? scanf("%d",&select4); ?? ?system("cls"); ?? ?switch(select4) ?? ?{ ?? ?case 1:{ ? //冒泡排序 ?? ??? ??? ??? ?for(j=1;jstu[i+1].number) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?t=stu[i]; ?? ??? ??? ??? ??? ??? ??? ?stu[i]=stu[i+1]; ?? ??? ??? ??? ??? ??? ??? ?stu[i+1]=t; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?}?? ? ?? ?? ??? ? ? }break; ?? ?case 2:{ ? ? ? ? ? ? ? ? for(j=1;j 0) ?? ??? ??? ??? ??? ??? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? t=stu[i]; ?? ??? ??? ??? ??? ??? ??? ?stu[i]=stu[i+1]; ?? ??? ??? ??? ??? ??? ??? ?stu[i+1]=t; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ? ? } ?? ?} printf("\t\t\t\t已按要求完成排序\n"); system("pause"); system("cls");?? ??? ? ?? }?
六、修改
void revise(struct student stu[],int n) { ? ? int num5,i=n,choice5; ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息修改系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t\t請輸入您要修改的學生學號"); ?? ?scanf("%d",&num5); ?? ?system("cls"); ? ? for(i=0;i
七、輸出
void output(struct student stu[],int n) { ?? ?int i; ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\n"); ? ? printf("\t\t\t ? 歡迎進入學生信息輸出系統\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?for(i=0;i
八、保存
void keep(struct student stu[],int n) { ?? ?FILE *fp; ? ? //文件指針fp ?? ?int i; ?? ?if((fp=fopen("d:\\xsxx.txt","wt+"))==NULL)//在D盤讀寫打開或建立一個名為“xxsx”的文本文件,允許讀寫 ?? ?{ ?? ??? ?printf("\t\t\t\t文件不能打開!"); ?? ??? ?exit(0); ?? ?} ?? ?for(i=0;i
九、主函數
int main(){ ?? ?struct student stu[3]; ?? ?enter(stu,3); ? ?//規定學生數為3人 ?? ?return 0; }
十、結構體定義
struct student{ ?? ?int number; ?? ?char name[10]; ?? ?int age; ?? ?char sex; }; ? ?//定義結構體student
原文鏈接:https://blog.csdn.net/qq_42197887/article/details/107222753
相關推薦
- 2021-12-10 redis服務器cpu100%的原因和解決方案
- 2023-03-29 C語言楊氏矩陣實例教你編寫_C 語言
- 2022-03-25 .NET提取?Thread?中返回值詳情_ASP.NET
- 2022-06-24 Python利用隨機函數生成變化圖形詳解_python
- 2022-08-29 Python基礎語法之變量與數據類型詳解_python
- 2023-05-23 pytorch中backward()方法如何自動求梯度_python
- 2022-07-15 Android自定義view實現圓形進度條效果_Android
- 2022-07-12 CSS樣式:行內元素 盒子模型
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支