學(xué)生信息管理系統(tǒng)C語(yǔ)言版_第1頁(yè)
學(xué)生信息管理系統(tǒng)C語(yǔ)言版_第2頁(yè)
學(xué)生信息管理系統(tǒng)C語(yǔ)言版_第3頁(yè)
學(xué)生信息管理系統(tǒng)C語(yǔ)言版_第4頁(yè)
學(xué)生信息管理系統(tǒng)C語(yǔ)言版_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論