




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流學(xué)生信息管理系統(tǒng)C語(yǔ)言版.精品文檔./交流學(xué)習(xí)/QQ:1194758555#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>#include<windows.h>int k,n;struct student double yuwen; double shuxue; double yingyu; double zong; double pingjun; char name20; char num2
2、0; stu1000;void jiazai(struct student stu,int *num1);void baocun(struct student stu,int n);void find(struct student stu,int n);int findnum(struct student stu,int n,char *num);/查找學(xué)號(hào);void shanchu(struct student stu,int *num1);void shanchuyi(struct student stu,int *num1);/刪除一條記錄;void shanchuquanbu(stru
3、ct student stu,int *num1);void tianjiayi(struct student stu,int i);/添加一記錄;void tianjia(struct student stu,int *num1);/添加記錄;void xiugai(struct student stu,int n);/修改一條記錄;void output(struct student stu,int n,int x);/打印信息;void paixu(struct student stu,int n);/排序;int jianchaxuehao(struct student stu,cha
4、r *num);/檢查學(xué)號(hào)的合法性;int jianchachengji(double num);/檢查成績(jī)的合法性;void outputone(struct student *stu,int i,int x);/輸出一條信息void caidan();int main() int q; jiazai(stu,&n); caidan(); scanf("%d",&q); while(q>6) printf("輸入錯(cuò)誤請(qǐng)重新輸入n請(qǐng)輸入0-6的數(shù)字n"); scanf("%d",&q); Sleep(30
5、0); system("cls"); switch(q) case 1 : tianjia(stu,&n); break; case 2: xiugai(stu,n); break; case 3: paixu(stu,n); break; case 4: find(stu,n); break; case 5: shanchu(stu,&n); break; case 6: output(stu,n,0); break; case 0: exit(0); return 0;void caidan() printf("n"); printf
6、("歡迎進(jìn)入學(xué)生信息管理系統(tǒng)n"); printf("n"); printf(" 1添加學(xué)生成績(jī) n"); printf("n"); printf(" 2修改學(xué)生成績(jī) n"); printf("n"); printf(" 3排序 n"); printf("n"); printf(" 4查找 n"); printf("n"); printf(" 5刪除 n"); printf(&
7、quot;n"); printf(" 6輸出 n"); printf("n"); printf(" 0退出 n"); printf("n"); printf("n"); printf("請(qǐng)輸入選擇:n");void jiazai(struct student stu,int *num1) FILE *fp; int i; if(fp=fopen("d:student.dat","r")=NULL) *num1=0; retur
8、n; for(i=0; fread(&stui,sizeof(struct student),1,fp)!=0; i+) *num1=i; fclose(fp);void paixu(struct student stu,int n) int xuehao(const void *a,const void *b); int yuwen(const void *a,const void *b); int shuxue(const void *a,const void *b); int yingyu(const void *a,const void *b); int zongchengji
9、(const void *a,const void *b); int (*cmp)(const void *a,const void *b)= xuehao,yuwen,shuxue,yingyu,zongchengji; int a; printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息排序頁(yè)面 n"); printf("n"); printf("n"); printf(" 0:按學(xué)號(hào)降序排序 n"); printf("n"); printf(" 1:按語(yǔ)
10、文成績(jī)降序排序 n"); printf("n"); printf(" 2:按數(shù)學(xué)成績(jī)降序排序 n"); printf("n"); printf(" 3:按英語(yǔ)成績(jī)降序排序 n"); printf("n"); printf(" 4:安總成績(jī)降序排序 n"); printf("n"); printf("請(qǐng)輸入選擇:n"); scanf("%d",&a); Sleep(300); system("
11、;cls"); qsort(stu,n,sizeof(stu0),cmpa); output(stu,n,0);int xuehao(const void *a,const void *b) if(strcmp(struct student *)a)->num,(struct student *)b)->num)>0) return -1; else return 1;int yuwen(const void *a,const void *b) return (struct student *)a)->yuwen < (struct student *)
12、b)->yuwen ? 1 : -1;int shuxue(const void *a,const void *b) return (struct student *)a)->shuxue < (struct student *)b)->shuxue ? 1 : -1;int yingyu(const void *a,const void *b) return (struct student *)a)->yingyu < (struct student *)b)->yingyu ? 1 : -1;int zongchengji(const void *
13、a,const void *b) return (struct student *)a)->zong < (struct student *)b)->zong ? 1 : -1;void shanchuyi(struct student stu,int *num1) int i,in,c; char y20; FILE *fp; char str20; printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); printf("請(qǐng)輸入需要?jiǎng)h除的學(xué)號(hào)n"
14、); scanf("%s",str); c=jianchaxuehao(stu,str); while(c=0) printf("輸入的學(xué)號(hào)不合法請(qǐng)重新輸入n"); scanf("%s",str); c=jianchaxuehao(stu,str); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); in=findnum(stu,*num1,str
15、); while(in<0) printf("該學(xué)生的信息不存在n"); printf("重新輸入(yes-y)返回主菜單(no-n)n"); scanf("%s",y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); scanf("%s",y); if(!strcmp(y,"n") Sleep(300); system("cls")
16、; main(); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); printf("請(qǐng)輸入需要?jiǎng)h除的學(xué)號(hào)n"); scanf("%s",str); in=findnum(stu,*num1,str); for(i=in; i<*num1-1; i+) stui=stui+1; (*num1)-; if(fp=fopen("d:student.dat&
17、quot;,"w")=NULL) printf("打開失敗n"); exit(0); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); printf("刪除成功n"); baocun(stu,*num1); printf("繼續(xù)刪除(yes-y)返回上主菜單(no-n)n"); getchar(); scanf("%s
18、",y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",y); Sleep(300); system("cls"); if(!strcmp(y,"n") main(); if(!strcmp(y,"y") shanchuyi(stu,num1);void shanchuquanbu(struct student stu,in
19、t *num1) char y20,a20; FILE *fp; printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); printf("是否全部刪除?(yes-y)返回主菜單(no-n)n"); scanf("%s",y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); scanf("%s"
20、;,y); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息刪除頁(yè)面 n"); printf("n"); if(!strcmp(y,"y") fp=fopen("d:student.dat","w"); *num1=0; printf("刪除完成n"); fclose(fp); printf("返回主菜單(yes-y)結(jié)束(no-n)n"); scan
21、f("%s",a); while(strcmp(a,"y")&&strcmp(a,"n") printf("請(qǐng)輸入y或nn"); scanf("%s",a); Sleep(300); system("cls"); if(!strcmp(a,"y") main(); else Sleep(300); system("cls"); return; else Sleep(300); system("cls"
22、); main();void shanchu(struct student stu,int *num1) int q; printf("n"); printf("刪除n"); printf("n"); printf("1:刪除指定信息n"); printf("n"); printf("2:刪除全部信息n"); printf("n"); printf("n"); printf("請(qǐng)輸入選擇:n"); getchar()
23、; scanf("%d",&q); system("cls"); switch(q) case 1: shanchuyi(stu,num1); break; case 2: shanchuquanbu(stu,num1); break;int findnum(struct student stu,int n,char *num) int i; for(i=0; i<n; i+) if(strcmp(stui.num,num)=0) return i; return -1;void baocun(struct student stu,int
24、n) FILE *fp; if(fp=fopen("d:student.dat","w")=NULL) printf("打開失敗n"); exit(0); fwrite(stu,(n+1)*sizeof(stu0),1,fp); fclose(fp);void output(struct student stu,int n,int x) int i; char y20; if(n>0) printf("n"); printf("%-10s%-6s%-6s%-6s%-6s%-6s%-6s",
25、"學(xué)號(hào)","姓名","語(yǔ)文","數(shù)學(xué)","英語(yǔ)","平均","總成績(jī)n"); /printf("n"); for(i=0; i<n; i+) outputone(&stui,n,x); printf("n"); if(x) char q10; printf("返回主菜單(yes-y)返回上級(jí)菜單(no-n)n"); scanf("%s",q); while(str
26、cmp(q,"y")&&strcmp(q,"n") printf("請(qǐng)輸入y或nn"); scanf("%s",q); Sleep(300); system("cls"); if(!strcmp(q,"y") main(); while(!strcmp(q,"n") paixu(stu,n); else printf("沒有任何記錄,請(qǐng)先添加信息n"); printf("返回主菜單(yes-y)結(jié)束(no-n)
27、n"); scanf("%s",y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); scanf("%s",y); Sleep(300); system("cls"); if(!strcmp(y,"y") main(); else return;void outputone(struct student *stu,int n,int x) if(!x) printf(&
28、quot;n"); printf("%-10s%-6s%-6.2lf%-6.2lf%-6.2lf%-6.2lf%-6.2lfn",stu->num,stu->name,stu->yuwen,stu->shuxue,stu->yingyu,stu->pingjun,stu->zong); else printf("n"); printf("%-8s%-6s%-6s%-6s%-6s%-6s%-6s","學(xué)號(hào)","姓名","語(yǔ)文"
29、,"數(shù)學(xué)","英語(yǔ)","平均","總成績(jī)n"); printf("n"); printf("%-8s%-6s%-6.1lf%-6.1lf%-6.1lf%-6.1lf%-6.1lfn",stu->num,stu->name,stu->yuwen,stu->shuxue,stu->yingyu,stu->pingjun,stu->zong); printf("n");void tianjiayi(struct stud
30、ent stu,int i) int a,b; printf("請(qǐng)輸入學(xué)生學(xué)號(hào)n"); getchar(); scanf("%s",stui.num); a=jianchaxuehao(stu,stui.num); while(a=0|a=2) if(a=0) printf("輸入的學(xué)號(hào)不合法請(qǐng)重新輸入n"); if(a=2) printf("輸入的學(xué)號(hào)與已有的重復(fù)請(qǐng)重新輸入n"); scanf("%s",stui.num); a=jianchaxuehao(stu,stui.num); Sle
31、ep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息添加頁(yè)面 n"); printf("n"); printf("請(qǐng)輸入該學(xué)生姓名n"); scanf("%s",); printf("請(qǐng)輸入語(yǔ)文成績(jī)n"); scanf("%lf",&stui.yuwen); b=jianchachengji(stui.yuwen); while(b=0) printf(&
32、quot;輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stui.yuwen); b=jianchachengji(stui.yuwen); printf("請(qǐng)輸入數(shù)學(xué)成績(jī)n"); scanf("%lf",&stui.shuxue); b=jianchachengji(stui.shuxue); while(b=0) printf("輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stui.shuxue); b=jianchachengji(stu
33、i.shuxue); printf("請(qǐng)輸入英語(yǔ)成績(jī)n"); scanf("%lf",&stui.yingyu); b=jianchachengji(stui.yingyu); while(b=0) printf("輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stui.yingyu); b=jianchachengji(stui.yingyu); stui.pingjun=(stui.yuwen+stui.shuxue+stui.yingyu)/3; stui.zong=stui.yuwe
34、n+stui.shuxue+stui.yingyu;void tianjia(struct student stu,int *num1) char p10="y",y10; printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息添加頁(yè)面 n"); printf("n"); while(!strcmp(p,"y") tianjiayi(stu,*num1); (*num1)+=1; printf("是否繼續(xù)添加(yes-y,no-n)n"); getchar(); sca
35、nf("%s",p); while(strcmp(p,"n")&&strcmp(p,"y") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",p); Sleep(300); system("cls"); baocun(stu,*num1); printf("返回主菜單(yes-y)結(jié)束(no-n)n"); getchar(); scanf("%s",y); while(strcmp(y,
36、"n")&&strcmp(y,"y") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",y); if(!strcmp(y,"y") Sleep(300); system("cls"); main(); else return;void xiugai(struct student stu,int n) int in,b,c; char a10,q10; char str20,y10; printf("n");
37、 printf(" 歡迎進(jìn)入學(xué)生信息修改頁(yè)面 n"); printf("n"); printf("請(qǐng)輸入要修改學(xué)生的學(xué)號(hào)n"); getchar(); scanf("%s",str); c=jianchaxuehao(stu,str); in=findnum(stu,n,str); while(c=0|in<0) if(in<0|(in<0&&c=1) printf("此條信息不存在n"); if(c=0) printf("輸入不合法請(qǐng)重新輸入n&qu
38、ot;); printf("重新輸入(yes-y)返回主菜單(no-n)n"); scanf("%s",a); while(strcmp(a,"y")&&strcmp(a,"n") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",a); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息修改頁(yè)面 n");
39、 printf("n"); if(!strcmp(a,"n") Sleep(300); system("cls"); main(); printf("請(qǐng)輸入要修改學(xué)生的學(xué)號(hào)n"); scanf("%s",str); c=jianchaxuehao(stu,str); in=findnum(stu,n,str); printf("修改前的信息如下:n"); outputone(&stuin,n,1); printf("是否修改姓?(yes-y,no-n)n&q
40、uot;); getchar(); scanf("%s",y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",y); Sleep(300); system("cls"); printf("n"); printf(" 歡迎進(jìn)入學(xué)生信息修改頁(yè)面 n"); printf("n"); if(!strcm
41、p(y,"y") printf("請(qǐng)輸入姓名n"); scanf("%s",); printf("是否修改%s的成績(jī)?(yes-y)返回主菜單(no-n)n",stuin.num); /getchar(); scanf("%s",q); while(strcmp(q,"y")&&strcmp(q,"n") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s&quo
42、t;,q); if(!strcmp(q,"y") printf("請(qǐng)輸入%s的語(yǔ)文成績(jī)n",stuin.num); scanf("%lf",&stuin.yuwen); b=jianchachengji(stuin.yuwen); while(b=0) printf("輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stuin.yuwen); b=jianchachengji(stuin.yuwen); printf("請(qǐng)輸入%s的數(shù)學(xué)成績(jī)n",stui
43、n.num); scanf("%lf",&stuin.shuxue); b=jianchachengji(stuin.shuxue); while(b=0) printf("輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stuin.shuxue); b=jianchachengji(stuin.shuxue); printf("請(qǐng)輸入%s的英語(yǔ)成績(jī)n",stuin.num); scanf("%lf",&stuin.yingyu); b=jianchachengji
44、(stuin.yingyu); while(b=0) printf("輸入錯(cuò)誤請(qǐng)重新輸入n"); scanf("%lf",&stuin.yingyu); b=jianchachengji(stuin.yingyu); if(!strcmp(q,"n") Sleep(300); system("cls"); main(); baocun(stu,n); printf("添加成功n返回主菜單(yes-y)結(jié)束(no-n)n"); getchar(); scanf("%s"
45、,y); while(strcmp(y,"y")&&strcmp(y,"n") printf("請(qǐng)輸入y或nn"); getchar(); scanf("%s",y); if(!strcmp(y,"y") Sleep(300); system("cls"); main(); else return;void find(struct student stu,int n) int in,c; char str20,y20,q20; printf("n&q
46、uot;); printf(" 歡迎進(jìn)入學(xué)生信息查詢頁(yè)面 n"); printf("n"); printf("請(qǐng)輸入需要查詢的學(xué)號(hào)n"); scanf("%s",str); c=jianchaxuehao(stu,str); while(c=0) printf("輸入的學(xué)號(hào)不合法請(qǐng)重新輸入n"); scanf("%s",str); c=jianchaxuehao(stu,str); Sleep(300); system("cls"); printf("n"); printf(&qu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍛造生產(chǎn)工藝員考試試卷及答案
- 2025年南平事業(yè)單位真題
- 高原環(huán)境下低空空域的研究與挑戰(zhàn)
- 2024年麗水云和縣招聘事業(yè)編制教師真題
- 昌吉吉盛新型建材二期工業(yè)硅項(xiàng)目綜合循環(huán)水泵站水泵技術(shù)協(xié)議
- 教育變革背景下的在線教育平臺(tái)政策分析
- 教育行業(yè)的數(shù)據(jù)泄露預(yù)防與應(yīng)對(duì)措施
- 數(shù)字時(shí)代的教育變革傳統(tǒng)教學(xué)與數(shù)字教材的結(jié)合
- 企業(yè)園區(qū)安全防范的智能化升級(jí)方案
- 中職文案寫作課件
- 2025揚(yáng)州輔警考試真題
- 股份分配與業(yè)績(jī)對(duì)賭協(xié)議合同
- 病媒生物媒介昆蟲的地理分布與疾病傳播的時(shí)空特征研究-洞察闡釋
- 個(gè)人形象管理課程課件
- 2025年 黑龍江省公安廳招聘輔警筆試考試試卷附答案
- vte護(hù)理管理制度
- 自助臺(tái)球安全管理制度
- 2025至2030年中國(guó)石晶地板行業(yè)市場(chǎng)現(xiàn)狀調(diào)查及投資前景研判報(bào)告
- 2025-2030中國(guó)寵物醫(yī)療保險(xiǎn)行業(yè)競(jìng)爭(zhēng)狀況與需求趨勢(shì)預(yù)測(cè)報(bào)告
- 帶鋼熱軋智能控制系統(tǒng)
- 2024年安徽蕪湖一中自主招生考試數(shù)學(xué)試卷真題(含答案詳解)
評(píng)論
0/150
提交評(píng)論