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

下載本文檔

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

文檔簡介

/交流學(xué)習(xí)/QQ:1194758555#include#include#include#include#includeint k,n;struct student double yuwen; double shuxue; double yingyu; double zong; double pingjun; char name20; char num20; 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é)號;void shanchu(struct student stu,int *num1);void shanchuyi(struct student stu,int *num1);/刪除一條記錄;void shanchuquanbu(struct 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,char *num);/檢查學(xué)號的合法性;int jianchachengji(double num);/檢查成績的合法性;void outputone(struct student *stu,int i,int x);/輸出一條信息void caidan();int main() int q; jiazai(stu,&n); caidan(); scanf(%d,&q); while(q6) printf(輸入錯誤請重新輸入n請輸入0-6的數(shù)字n); scanf(%d,&q); Sleep(300); 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(歡迎進(jìn)入學(xué)生信息管理系統(tǒng)n); printf(n); printf( 1添加學(xué)生成績 n); printf(n); printf( 2修改學(xué)生成績 n); printf(n); printf( 3排序 n); printf(n); printf( 4查找 n); printf(n); printf( 5刪除 n); printf(n); printf( 6輸出 n); printf(n); printf( 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(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)(const void *a,const void *b)= xuehao,yuwen,shuxue,yingyu,zongchengji; int a; printf(n); printf( 歡迎進(jìn)入學(xué)生信息排序頁面 n); printf(n); printf(n); printf( 0:按學(xué)號降序排序 n); printf(n); printf( 1:按語文成績降序排序 n); printf(n); printf( 2:按數(shù)學(xué)成績降序排序 n); printf(n); 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(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 yuwen ? 1 : -1;int shuxue(const void *a,const void *b) return (struct student *)a)-shuxue shuxue ? 1 : -1;int yingyu(const void *a,const void *b) return (struct student *)a)-yingyu yingyu ? 1 : -1;int zongchengji(const void *a,const void *b) return (struct student *)a)-zong 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é)生信息刪除頁面 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é)生信息刪除頁面 n); printf(n); in=findnum(stu,*num1,str); while(in0) printf(該學(xué)生的信息不存在n); printf(重新輸入(yes-y)返回主菜單(no-n)n); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(請輸入y或nn); scanf(%s,y); if(!strcmp(y,n) Sleep(300); system(cls); main(); Sleep(300); system(cls); printf(n); printf( 歡迎進(jìn)入學(xué)生信息刪除頁面 n); printf(n); printf(請輸入需要刪除的學(xué)號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,w)=NULL) printf(打開失敗n); exit(0); Sleep(300); system(cls); printf(n); printf( 歡迎進(jìn)入學(xué)生信息刪除頁面 n); printf(n); 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(!strcmp(y,n) main(); if(!strcmp(y,y) shanchuyi(stu,num1);void shanchuquanbu(struct student stu,int *num1) char y20,a20; FILE *fp; printf(n); printf( 歡迎進(jìn)入學(xué)生信息刪除頁面 n); printf(n); printf(是否全部刪除?(yes-y)返回主菜單(no-n)n); scanf(%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,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,y) main(); else Sleep(300); system(cls); return; else Sleep(300); system(cls); 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(請輸入選擇: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; for(i=0; i0) printf(n); printf(%-10s%-6s%-6s%-6s%-6s%-6s%-6s,學(xué)號,姓名,語文,數(shù)學(xué),英語,平均,總成績n); /printf(n); for(i=0; inum,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,stu-pingjun,stu-zong); else printf(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,stu-num,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,stu-pingjun,stu-zong); 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) 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(%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.shuxue); b=jianchachengji(stui.shuxue); while(b=0) 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); 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); printf(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(cls); baocun(stu,*num1); printf(返回主菜單(yes-y)結(jié)束(no-n)n); getchar(); scanf(%s,y); while(strcmp(y,n)&strcmp(y,y) printf(請輸入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); printf( 歡迎進(jìn)入學(xué)生信息修改頁面 n); printf(n); printf(請輸入要修改學(xué)生的學(xué)號n); getchar(); scanf(%s,str); c=jianchaxuehao(stu,str); in=findnum(stu,n,str); while(c=0|in0) if(in0|(in0&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(); scanf(%s,a); Sleep(300); system(cls); printf(n); 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); 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); system(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(strcmp(q,y)&strcmp(q,n) printf(請輸入y或nn); getchar(); scanf(%s,q); if(!strcmp(q,y) printf(請輸入%s的語文成績n,stuin.num); scanf(%lf,&stuin.yuwen); b=jianchachengji(stuin.yuwen); while(b=0) printf(輸入錯誤請重新輸入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=jianchachengji(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); system(cls); main(); baocun(stu,n); printf(添加成功n返回主菜單(yes-y)結(jié)束(no-n)n); getchar(); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(請輸入y或nn); getchar(); scanf(%s,y); if(!strcmp(y,y) Sleep(300); system(cls);

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論