網(wǎng)站首頁 編程語言 正文
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)學(xué)籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
設(shè)計(jì)一個(gè)學(xué)籍管理系統(tǒng),基本功能包括:
1.輸入學(xué)生基本信息
2.查詢學(xué)生信息(1.按學(xué)號2.按姓名)
3.刪除學(xué)生信息(1.按學(xué)號2.按姓名)
4.學(xué)生信息排序(1.按學(xué)號2.按姓名)
5.修改學(xué)生基本信息
6.輸出學(xué)生信息
7.保存學(xué)生信息
0.退出程序
注:由于知識有限,該系統(tǒng)暫時(shí)規(guī)定只輸入3個(gè)學(xué)生數(shù)據(jù),今后會改良成可隨機(jī)處理任意多個(gè)學(xué)生的數(shù)據(jù)
一、首頁
void enter(struct student stu[],int n) { ?? ?int select; ? ? while(select!=0) ?? ?{ ?? ? ? ? printf("\t\t\t ?---------------------------\n"); ?? ? ? ? printf("\n"); ? ? ? ? ?printf("\t\t\t ? ? 歡迎使用學(xué)籍管理系統(tǒng)\n"); ? ? ? ??? ? printf("\n"); ? ? ??? ? printf("\t\t\t ?---------------------------\n"); ?? ? ? ? printf("\t\t\t ?1.輸入學(xué)生基本信息\n"); ?? ? ? ? printf("\t\t\t ?2.查詢學(xué)生信息(1.按學(xué)號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?3.刪除學(xué)生信息(1.按學(xué)號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?4.學(xué)生信息排序(1.按學(xué)號2.按姓名)\n"); ? ? ? ? ?printf("\t\t\t ?5.修改學(xué)生基本信息\n"); ? ? ? ? ?printf("\t\t\t ?6.輸出學(xué)生信息\n"); ? ? ? ? ?printf("\t\t\t ?7.保存學(xué)生信息\n"); ? ? ? ? ?printf("\t\t\t ?0.退出程序\n"); ?? ? ? ? printf("\t\t\t ?請輸入您的選項(xiàng)"); ?? ? ? ? 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 ?您已退出學(xué)籍管理系統(tǒng)\n");break; ? ? ? ? ? ? default:printf("輸入有誤\n"); ?? ??? ??? ?system("pause"); ?? ? ? ? ? ?system("cls");?? ? ? ? ?? ??? ? ? } ?? ?} }
二、輸入
int count=0; ? ?//計(jì)數(shù)器記錄學(xué)生個(gè)數(shù) 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 ? 歡迎進(jìn)入學(xué)生信息錄入系統(tǒng)\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ? ? printf("\t\t請輸入學(xué)生基本信息(學(xué)號,姓名,年齡,性別(女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 ? 歡迎進(jìn)入學(xué)生信息查詢系統(tǒng)\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇查詢方式(1.按學(xué)號查詢 ?2.按姓名查詢)"); ?? ?scanf("%d",&select2); ?? ?system("cls"); ?? ?switch(select2) ?? ?{ ?? ?case 1: ?? ??? ?{? ?? ??? ? ? printf("\t\t\t\t ?請輸入學(xué)號"); ?? ??? ? ? 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 ? 歡迎進(jìn)入學(xué)生信息刪除系統(tǒng)\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇刪除方式(1.按學(xué)號刪除 ?2.按姓名刪除)"); ? ? scanf("%d",&select3); ? ? system("cls"); ?? ?switch(select3) ?? ?{ ?? ?case 1: ?? ??? ?{ ? ? ? ? ? ? printf("\t\t\t\t ?請輸入學(xué)號"); ? ? ? ? ? ? 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 ? 歡迎進(jìn)入學(xué)生信息排序系統(tǒng)\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t請選擇排序方式(1.按學(xué)號排序 ?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 ? 歡迎進(jìn)入學(xué)生信息修改系統(tǒng)\n"); ? ? printf("\n"); ? ? printf("\t\t\t-------------------------------\n"); ?? ?printf("\t\t\t請輸入您要修改的學(xué)生學(xué)號"); ?? ?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 ? 歡迎進(jìn)入學(xué)生信息輸出系統(tǒng)\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盤讀寫打開或建立一個(gè)名為“xxsx”的文本文件,允許讀寫 ?? ?{ ?? ??? ?printf("\t\t\t\t文件不能打開!"); ?? ??? ?exit(0); ?? ?} ?? ?for(i=0;i
九、主函數(shù)
int main(){ ?? ?struct student stu[3]; ?? ?enter(stu,3); ? ?//規(guī)定學(xué)生數(shù)為3人 ?? ?return 0; }
十、結(jié)構(gòu)體定義
struct student{ ?? ?int number; ?? ?char name[10]; ?? ?int age; ?? ?char sex; }; ? ?//定義結(jié)構(gòu)體student
原文鏈接:https://blog.csdn.net/qq_42197887/article/details/107222753
相關(guān)推薦
- 2023-02-03 Linux設(shè)置每晚定時(shí)備份Oracle數(shù)據(jù)表的操作命令_linux shell
- 2023-05-20 pytorch中forwod函數(shù)在父類中的調(diào)用方式解讀_python
- 2022-11-06 修改Nginx配置返回指定content-type的方法_nginx
- 2022-12-11 python中windows鏈接linux執(zhí)行命令并獲取執(zhí)行狀態(tài)的問題小結(jié)_python
- 2021-12-08 教你如何在windows?10家庭版上安裝docker_docker
- 2022-11-21 詳解如何使用Python實(shí)現(xiàn)刪除重復(fù)文件_python
- 2022-04-03 Pytorch寫數(shù)字識別LeNet模型_python
- 2021-12-19 Linux下wget命令詳細(xì)介紹_Linux
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支