學生成績管理系統(tǒng)c語言版.doc_第1頁
學生成績管理系統(tǒng)c語言版.doc_第2頁
學生成績管理系統(tǒng)c語言版.doc_第3頁
學生成績管理系統(tǒng)c語言版.doc_第4頁
學生成績管理系統(tǒng)c語言版.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

#include#include#define NULL 0#define LTS sizeof(struct mark)struct mark unsigned long int num; char name20; int clas ; float math; float English; float computer; float total; float ver; struct mark *next; ;struct mark *D_insertsort(struct mark *head) int flag=0,a,b; struct mark *f,*g,*q,*r,*s,*t; f=head; q=f-next; f-next=NULL; t=f; printf(按數(shù)學請按1,按英語請按2,按微機請按3,按總成績請按4:n); scanf(%d,&a); switch(a) case 1: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-mathmath) r-next=f; f=r; t=f; else if(f-mathr-math) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-mathmath) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; break; case 2: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-EnglishEnglish) r-next=f; f=r; t=f; else if(f-Englishr-English) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-EnglishEnglish) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; break; case 3: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-computercomputer) r-next=f; f=r; t=f; else if(f-computerr-computer) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-computercomputer) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; break; case 4: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-totaltotal) r-next=f; f=r; t=f; else if(f-totalr-total) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-totaltotal) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; break; default: printf(*你的輸入有錯,請重新輸入n); return(t); struct mark *S_insertsort(struct mark *head) int flag=0,a,b; struct mark *f,*g,*q,*r,*s,*t; f=head; q=f-next; f-next=NULL; t=f; printf(按數(shù)學請按1,按英語請按2,按微機請按3,按總成績請按4:n); scanf(%d,&a); switch(a) case 1: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-math=r-math) r-next=f; f=r; t=f; else if(f-mathmath) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-math=r-math) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; case 2: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-English=r-English) r-next=f; f=r; t=f; else if(f-EnglishEnglish) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-English=r-English) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; case 3: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-computer=r-computer) r-next=f; f=r; t=f; else if(f-computercomputer) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-computer=r-computer) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; case 4: for(q;q!=NULL;) r=q; q=q-next; r-next=NULL; if(f-total=r-total) r-next=f; f=r; t=f; else if(f-totaltotal) while(f!=NULL) if(f-next!=NULL) s=f-next; if (s-total=r-total) r-next=f-next; f-next=r; break; else f=f-next; else if(f-next=NULL) f-next=r; break; head=t; return(t); void began()/*開始界面*/ printf(tn); printf(t 學生成績管理系統(tǒng) n); printf(tn); printf(t (0) 學 籍 錄 入 (1) 成 績 錄 入n); printf(tn); printf(t (2) 顯 示 全 部 學 生 成績 (3) 刪 除 學 生 成 績n); printf(tn); printf(t (4) 顯 示 某 學 生 成 績 (5) 顯示指定分數(shù)段學生成績n); printf(tn); printf(t (6) 顯示班級人數(shù)及平均成績 (7) 成 績 排 序 并 顯 示 n); printf(tn);void main() struct mark *head; struct mark *Lp,*mp,*up,*rp,*rup; struct mark *zp,*jp; struct mark *sp,*hp; struct mark *xp,*ip,*ap; struct mark *fp,*ep; struct mark *bp; struct mark *pp; int n,i,k,b,flag,min,max; float s; head=NULL; began();for (i=0;inum); printf(*請輸入學生名字n); scanf(%s,&Lp-name); printf(*請輸入學生班級n); scanf(%d,&Lp-clas); Lp-computer=NULL; Lp-English=NULL; Lp-math=NULL; Lp-total=NULL; Lp-ver=NULL; if(head=NULL) head=Lp; mp=Lp; mp-next=NULL; else Lp-next=NULL; mp-next=Lp; mp=Lp; printf(*學籍輸入成功n); began(); break; case 1: up=(struct mark *)malloc(LTS); printf(*請輸入學生學號n); scanf(%lu,&up-num); if(head=NULL) printf(*還沒有學生學籍n); else rp=(struct mark *)malloc(LTS); rp=head; while(rp!=NULL) if(rp-num=up-num) printf(*請輸入數(shù)學成績n); scanf(%f,&rp-math); printf(*請輸入英語成績n); scanf(%f,&rp-English); printf(*請輸入微機成績n); scanf(%f,&rp-computer); rp-total=(rp-math+rp-English+rp-computer); rp-ver=rp-total/3; flag=1; break; else rp=rp-next; flag=0; if(flag=1) printf(*學生成績錄入成功n); else if (flag=0) printf(*沒有該學生的學籍n); began(); break; case 2: xp=head; if(xp!=NULL) do printf(*學號 %lun,xp-num); printf(*姓名 %sn,xp-name); printf(*班級 %dn,xp-clas); if(xp-math=NULL) printf(*還沒錄入該學生成績); else if(xp-math!=NULL) printf(*數(shù)學成績 %.2fn,xp-math); printf(*英語成績 %.2fn,xp-English); printf(*微機成績 %.2fn,xp-computer); printf(*總成績 %.2fn,xp-total); printf(*平均成績 %.2fn,xp-ver); printf(*n ); printf(*n ); xp=xp-next; while(xp!=NULL); else printf(*還沒存入數(shù)據(jù)n); began(); break; case 3: hp=(struct mark *)malloc(LTS); printf(*請輸入學生學號n); scanf(%lu,&hp-num); if(head=NULL) printf(*還沒有學生學籍n); else sp=(struct mark *)malloc(LTS); sp=head; while(sp!=NULL) if(sp-num=hp-num) sp-computer=NULL; sp-English=NULL; sp-math=NULL; sp-total=NULL; sp-ver=NULL; flag=1; break; else sp=sp-next; flag=0; if(flag=1) printf(*學生成績刪除成功n); else if (flag=0) printf(*沒有該學生的學籍n); began(); break; case 4: ip=(struct mark *)malloc(LTS); printf(*請輸入學生學號n); scanf(%lu,&ip-num); if(head=NULL) printf(*還沒有學生學籍n); else ap=(struct mark *)malloc(LTS); ap=head; while(ap!=NULL) if(ap-num=ip-num&ap-math!=NULL) printf(*學號 %lun,ap-num); printf(*姓名 %sn,ap-name); printf(*班級 %dn,ap-clas); printf(*數(shù)學成績 %.2fn,ap-math); printf(*英語成績 %.2fn,ap-English); printf(*微機成績 %.2fn,ap-computer); printf(*總成績 %.2fn,ap-total); printf(*平均成績 %.2fn,ap-ver); flag=1; break; else ap=ap-next; flag=0; if(flag=1) printf(*學生成績輸出成功n); else if (flag=0) printf(*沒有該學生的學籍或者還沒輸入該學生成績n); began(); break; case 5: printf(*請輸入最低總分:); scanf(%d,&min); printf(*請輸入最高總分:); scanf(%d,&max); fp=(struct mark *)malloc(LTS); fp=head; while(fp!=NULL) if(fp-total=min&fp-totalnum); printf(*姓名 %sn,fp-name); printf(*班級 %dn,fp-clas); printf(*數(shù)學成績 %.2fn,fp-math); printf(*英語成績 %.2fn,fp-English); printf(*微機成績 %.2fn,fp-computer); printf(*總成績 %.2fn,fp-total); printf(*平均成績 %.2fn,fp-ver); fp=fp-next; began(); break;case 6: printf(*請輸入班級號); scanf(%d,&b); s=0; i=0; bp=(struct mark *)malloc(LTS); bp=head

溫馨提示

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

最新文檔

評論

0/150

提交評論