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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、下載可編輯/ 交流學(xué)習(xí)/QQ:1194758555#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>#include<windows.h>int k,n;struct studentdouble yuwen;double shuxue;double yingyu;double zong;double pingjun;char name20;char num20; stu1000;void jiazai(struct student stu,int

2、 *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é)號;void shanchu(struct student stu,int *num1);void shanchuyi(struct student stu,int *num1);/刪除一條記錄 ;void shanchuquanbu(struct student stu,int *num1);void tianjiayi(str

3、uct 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,char *num);/檢查學(xué)號的合法性;int jianchachengji(double

4、num);/檢查成績的合法性;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).專業(yè) .整理 .下載可編輯printf(" 輸入錯誤請重新輸入 n 請輸入 0-6 的數(shù)字 n"); scanf("%d",&q);Sleep(300);system("cls");swit

5、ch(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("歡迎進(jìn)入學(xué)生信息管理系統(tǒng)n");printf("n");printf

6、("1添加學(xué)生成績n");printf("n");printf("2修改學(xué)生成績n");printf("n");printf("3排序n");.專業(yè) .整理 .下載可編輯printf("n");printf("4查找n");printf("n");printf("5刪除n");printf("n");printf("6輸出n");printf("n");pr

7、intf("0退出n");printf("n");printf("n");printf("請輸入選擇 :n");void jiazai(struct student stu,int *num1)FILE *fp;int i;if(fp=fopen("d:student.dat","r")=NULL)*num1=0;return;for(i=0; fread(&stui,sizeof(struct student),1,fp)!=0; i+)*num1=i;fclose

8、(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(const void *a,const void *b);int(*cmp)(constvoid*a,constvoid*b)=xuehao,yuwen,shuxue,

9、yingyu,zongchengji;int a;printf("n");printf("歡迎進(jìn)入學(xué)生信息排序頁面n");printf("n");.專業(yè) .整理 .下載可編輯printf("n");printf("0:按學(xué)號降序排序n");printf("n");printf("1:按語文成績降序排序n");printf("n");printf("2:按數(shù)學(xué)成績降序排序n");printf("n"

10、);printf("3:按英語成績降序排序n");printf("n");printf("4:安總成績降序排序n");printf("n");printf("請輸入選擇 :n");scanf("%d",&a);Sleep(300);system("cls");qsort(stu,n,sizeof(stu0),cmpa);output(stu,n,0);int xuehao(const void *a,const void *b)if(strcmp(

11、structstudent*)a)->num,(structstudent*)b)->num)>0)return -1;elsereturn 1;int yuwen(const void *a,const void *b)return(structstudent*)a)->yuwen< (structstudent*)b)->yuwen?1:-1;int shuxue(const void *a,const void *b)return(structstudent*)a)->shuxue< (structstudent *)b)->shux

12、ue?1:-1;int yingyu(const void *a,const void *b)return(structstudent*)a)->yingyu< (structstudent *)b)->yingyu?1:-1;int zongchengji(const void *a,const void *b)return (struct student *)a)->zong < (struct student *)b)->zong ?1:-1;.專業(yè) .整理 .下載可編輯void shanchuyi(struct student stu,int *nu

13、m1)int i,in,c;char y20;FILE *fp;char str20;printf("n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n");printf("請輸入需要刪除的學(xué)號 n");scanf("%s",str);c=jianchaxuehao(stu,str);while(c=0)printf("輸入的學(xué)號不合法請重新輸入n");scanf("%s",str);c=jianchaxuehao(stu,str)

14、;Sleep(300);system("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n");in=findnum(stu,*num1,str);while(in<0)printf("該學(xué)生的信息不存在 n");printf("重新輸入 (yes-y)返回主菜單( no-n)n");scanf("%s",y);while(strcmp(y,"y")&&strcm

15、p(y,"n")printf("請輸入 y 或 nn");scanf("%s",y);if(!strcmp(y,"n")Sleep(300);system("cls");main();Sleep(300);system("cls");printf(".專業(yè) .整理 .下載可編輯n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n");printf("請輸入需要刪除的學(xué)號 n"

16、);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","w")=NULL)printf("打開失敗 n");exit(0);Sleep(300);system("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n

17、");printf("刪除成功 n");baocun(stu,*num1);printf("繼續(xù)刪除( yes-y) 返回上主菜單( no-n)n");getchar();scanf("%s",y);while(strcmp(y,"y")&&strcmp(y,"n")printf("請輸入 y 或 nn");getchar();scanf("%s",y);Sleep(300);system("cls");if(

18、!strcmp(y,"n")main();if(!strcmp(y,"y")shanchuyi(stu,num1);void shanchuquanbu(struct student stu,int *num1).專業(yè) .整理 .下載可編輯char y20,a20;FILE *fp;printf("n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n");printf("是否全部刪除? (yes-y) 返回主菜單( no-n)n");scanf(&quo

19、t;%s",y);while(strcmp(y,"y")&&strcmp(y,"n")printf("請輸入 y 或 nn");scanf("%s",y);Sleep(300);system("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息刪除頁面n");printf("n");if(!strcmp(y,"y")fp=fopen("d:student.dat&

20、quot;,"w");*num1=0;printf("刪除完成 n");fclose(fp);printf("返回主菜單 (yes-y)結(jié)束 (no-n)n");scanf("%s",a);while(strcmp(a,"y")&&strcmp(a,"n")printf("請輸入 y 或 nn");scanf("%s",a);Sleep(300);system("cls");if(!strcmp(a,

21、"y")main();elseSleep(300);system("cls");return;elseSleep(300);.專業(yè) .整理 .下載可編輯system("cls");main();void shanchu(struct student stu,int *num1)int q;printf("n");printf("刪除n");printf("n");printf(" 1: 刪除指定信息 n");printf("n");pr

22、intf(" 2: 刪除全部信息 n");printf("n");printf("n");printf("請輸入選擇 :n");getchar();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;f

23、or(i=0; i<n; i+)if(strcmp(stui.num,num)=0)return i;return -1;void baocun(struct student stu,int n)FILE *fp;.專業(yè) .整理 .下載可編輯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

24、,int x)int i;char y20;if(n>0)printf(" n");printf(" %-10s %-6s %-6s %-6s %-6s %-6s%-6s"," 學(xué)號 "," 姓名 "," 語文 "," 數(shù)學(xué) "," 英語 "," 平均 "," 總成績 n");/printf(" n");for(i=0; i<n; i+)outputone(&stui,n,x)

25、;printf(" n");if(x)char q10;printf("返回主菜單( yes-y )返回上級菜單( no-n )n");scanf("%s",q);while(strcmp(q,"y")&&strcmp(q,"n")printf("請輸入 y 或 nn");scanf("%s",q);Sleep(300);system("cls");if(!strcmp(q,"y")main();wh

26、ile(!strcmp(q,"n")paixu(stu,n);.專業(yè) .整理 .下載可編輯elseprintf("沒有任何記錄,請先添加信息n");printf("返回主菜單( yes-y) 結(jié)束( no-n)n");scanf("%s",y);while(strcmp(y,"y")&&strcmp(y,"n")printf("請輸入 y 或 nn");scanf("%s",y);Sleep(300);system(&q

27、uot;cls");if(!strcmp(y,"y")main();elsereturn;void outputone(struct student *stu,int n,int x)if(!x)printf(" 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->

28、zong);elseprintf(" n");printf(" %-8s%-6s %-6s %-6s%-6s %-6s %-6s"," 學(xué)號 ","姓名 "," 語文 "," 數(shù)學(xué) "," 英語 "," 平均 "," 總成績 n");printf(" n");printf(" %-8s %-6s %-6.1lf %-6.1lf %-6.1lf %-6.1lf%-6.1lfn",

29、stu->num,stu->name,stu->yuwen,stu->shuxue,stu->yingyu,stu->pingju n,stu->zong);.專業(yè) .整理 .下載可編輯printf(" n");void tianjiayi(struct student stu,int i)int a,b;printf("請輸入學(xué)生學(xué)號 n");getchar();scanf("%s",stui.num);a=jianchaxuehao(stu,stui.num);while(a=0|a=2)

30、if(a=0)printf(" 輸入的學(xué)號不合法請重新輸入 n"); if(a=2)printf("輸入的學(xué)號與已有的重復(fù)請重新輸入n");scanf("%s",stui.num);a=jianchaxuehao(stu,stui.num);Sleep(300);system("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息添加頁面n");printf("n");printf("請輸入該學(xué)生姓名 n");scanf

31、("%s",);printf("請輸入語文成績 n");scanf("%lf",&stui.yuwen);b=jianchachengji(stui.yuwen);while(b=0)printf("輸入錯誤請重新輸入 n");scanf("%lf",&stui.yuwen);b=jianchachengji(stui.yuwen);printf("請輸入數(shù)學(xué)成績 n");scanf("%lf",&stui.shu

32、xue);b=jianchachengji(stui.shuxue);while(b=0).專業(yè) .整理 .下載可編輯printf("輸入錯誤請重新輸入 n");scanf("%lf",&stui.shuxue);b=jianchachengji(stui.shuxue);printf("請輸入英語成績 n");scanf("%lf",&stui.yingyu);b=jianchachengji(stui.yingyu);while(b=0)printf("輸入錯誤請重新輸入 n"

33、;);scanf("%lf",&stui.yingyu);b=jianchachengji(stui.yingyu);stui.pingjun=(stui.yuwen+stui.shuxue+stui.yingyu)/3;stui.zong=stui.yuwen+stui.shuxue+stui.yingyu;void tianjia(struct student stu,int *num1)char p10="y",y10;printf("n");printf("歡迎進(jìn)入學(xué)生信息添加頁面n");print

34、f("n");while(!strcmp(p,"y")tianjiayi(stu,*num1);(*num1)+=1;printf("是否繼續(xù)添加 (yes-y,no-n)n");getchar();scanf("%s",p);while(strcmp(p,"n")&&strcmp(p,"y")printf("請輸入 y 或 nn");getchar();scanf("%s",p);Sleep(300);system(&

35、quot;cls");baocun(stu,*num1);printf("返回主菜單( yes-y) 結(jié)束( no-n)n");getchar();scanf("%s",y);while(strcmp(y,"n")&&strcmp(y,"y").專業(yè) .整理 .下載可編輯printf("請輸入 y 或 nn");getchar();scanf("%s",y);if(!strcmp(y,"y")Sleep(300);system(&

36、quot;cls");main();elsereturn;void xiugai(struct student stu,int n)int in,b,c;char a10,q10;char str20,y10;printf("n");printf("歡迎進(jìn)入學(xué)生信息修改頁面n");printf("n");printf("請輸入要修改學(xué)生的學(xué)號 n");getchar();scanf("%s",str);c=jianchaxuehao(stu,str);in=findnum(stu,n,

37、str);while(c=0|in<0)if(in<0|(in<0&&c=1)printf("此條信息不存在 n");if(c=0)printf("輸入不合法請重新輸入n");printf("重新輸入 (yes-y)返回主菜單( no-n)n");scanf("%s",a);while(strcmp(a,"y")&&strcmp(a,"n")printf("請輸入 y 或 nn");getchar();sc

38、anf("%s",a);Sleep(300);system("cls");printf("n");.專業(yè) .整理 .下載可編輯printf("歡迎進(jìn)入學(xué)生信息修改頁面n");printf("n");if(!strcmp(a,"n")Sleep(300);system("cls");main();printf("請輸入要修改學(xué)生的學(xué)號n");scanf("%s",str);c=jianchaxuehao(stu,str

39、);in=findnum(stu,n,str);printf("修改前的信息如下 :n");outputone(&stuin,n,1);printf("是否修改姓 ?(yes-y,no-n)n");getchar();scanf("%s",y);while(strcmp(y,"y")&&strcmp(y,"n")printf("請輸入 y 或 nn");getchar();scanf("%s",y);Sleep(300);syste

40、m("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息修改頁面n");printf("n");if(!strcmp(y,"y")printf("請輸入姓名 n");scanf("%s",);printf(" 是 否 修 改 %s 的 成 績 ?(yes-y) 返 回 主 菜 單 (no-n)n",stuin.num);/getchar();scanf("%s",q);while

41、(strcmp(q,"y")&&strcmp(q,"n")printf("請輸入 y 或 nn");getchar();.專業(yè) .整理 .下載可編輯scanf("%s",q);if(!strcmp(q,"y")printf(" 請輸入 %s的語文成績 n",stuin.num); scanf("%lf",&stuin.yuwen); b=jianchachengji(stuin.yuwen);while(b=0)printf(&qu

42、ot;輸入錯誤請重新輸入 n");scanf("%lf",&stuin.yuwen);b=jianchachengji(stuin.yuwen);printf(" 請輸入 %s的數(shù)學(xué)成績 n",stuin.num); scanf("%lf",&stuin.shuxue); b=jianchachengji(stuin.shuxue);while(b=0)printf("輸入錯誤請重新輸入 n");scanf("%lf",&stuin.shuxue);b=jian

43、chachengji(stuin.shuxue);printf(" 請輸入 %s的英語成績 n",stuin.num); scanf("%lf",&stuin.yingyu); b=jianchachengji(stuin.yingyu); while(b=0)printf("輸入錯誤請重新輸入 n");scanf("%lf",&stuin.yingyu);b=jianchachengji(stuin.yingyu);if(!strcmp(q,"n")Sleep(300);sys

44、tem("cls");main();baocun(stu,n);printf("添加成功 n 返回主菜單( yes-y) 結(jié)束( no-n)n");getchar();scanf("%s",y);while(strcmp(y,"y")&&strcmp(y,"n").專業(yè) .整理 .下載可編輯printf("請輸入 y 或 nn");getchar();scanf("%s",y);if(!strcmp(y,"y")Slee

45、p(300);system("cls");main();elsereturn;void find(struct student stu,int n)int in,c;char str20,y20,q20;printf("n");printf("歡迎進(jìn)入學(xué)生信息查詢頁面n");printf("n");printf("請輸入需要查詢的學(xué)號 n");scanf("%s",str);c=jianchaxuehao(stu,str);while(c=0)printf("輸入的學(xué)號不合法請重新輸入n");scanf("%s",str);c=jianchaxuehao(stu,str);Sleep(300);system("cls");printf("n");printf("歡迎進(jìn)入學(xué)生信息查詢頁面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論