版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C語言學(xué)生成績(jī)管理系統(tǒng)程序</p><p> C可視化程序設(shè)計(jì)報(bào)告</p><p><b> 一.設(shè)計(jì)題目</b></p><p><b> 學(xué)生成績(jī)管理系統(tǒng)</b></p><p><b> 二、課題的任務(wù):</b></p><
2、;p> 所有記錄保存在一個(gè)數(shù)據(jù)文件中;</p><p><b> 具備記錄添加功能;</b></p><p> 查詢功能(如按學(xué)號(hào)查詢成績(jī)等);</p><p> 計(jì)算統(tǒng)計(jì)功能(如統(tǒng)計(jì)某門課程的平均程序);</p><p> 排序功能(如按成績(jī)排序);</p><p> 統(tǒng)計(jì)并顯
3、示信息功能;</p><p><b> 三.課程設(shè)計(jì)目的</b></p><p> 了解軟件工程中的一些系統(tǒng)分析,模塊分析,代碼設(shè)計(jì)的概念,利用visual c++實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的錄入、查詢、刪除、統(tǒng)計(jì)等基本操作,掌握C語言中的結(jié)構(gòu)體、指針、函數(shù)(系統(tǒng)函數(shù)、自定義函數(shù))、文件操作等知識(shí)。通過對(duì)系統(tǒng)的分析和設(shè)計(jì),進(jìn)一步鞏固C語言的學(xué)習(xí),以提高對(duì)開發(fā)環(huán)境。<
4、;/p><p> 四、成員承擔(dān)的任務(wù):</p><p> 陳梁:完成下面子程序的編寫:</p><p><b> a:主函數(shù)的編譯</b></p><p> b:定位指針的Locate()函數(shù)的編譯,與調(diào)試。</p><p> c:主菜單函數(shù)的編譯,及其它外部函數(shù)的編譯,與調(diào)試。</p
5、><p> d: 任務(wù)分配,規(guī)定變量符號(hào),及變量的初始化。</p><p> e:程序的組裝及調(diào)試。</p><p> ?。和瓿上旅孀映绦虻木帉懀?lt;/p><p> a:統(tǒng)計(jì)數(shù)據(jù)函數(shù)的編譯。</p><p> b::查找學(xué)生記錄函數(shù)的編譯。</p><p> c:增加學(xué)生記錄的函數(shù)的編譯。
6、</p><p> 陳?。?完成下面子程序的編寫:</p><p><b> a:刪除函數(shù)的編譯</b></p><p><b> b:修改函數(shù)的編譯</b></p><p><b> c:排序函數(shù)的編譯</b></p><p> 陳昊:完成下
7、面子程序的編寫:</p><p> a:顯示函數(shù)的編譯。</p><p> b:歡迎界面的制作。</p><p><b> c:保存函數(shù)的編譯</b></p><p><b> 五、程序流程圖</b></p><p><b> 1.系統(tǒng)總體結(jié)構(gòu)圖</
8、b></p><p><b> 六.系統(tǒng)源代碼</b></p><p> #include "stdio.h" </p><p> #include "stdlib.h" </p><p> #include "string.h" </p&g
9、t;<p> int shoudsave=0; //定義一個(gè)全局變量 </p><p> struct student </p><p><b> { </b></p><p> char num[11];//學(xué)號(hào) </p><p> char name[20];//姓名</p>&
10、lt;p> char sex[4]; //性別</p><p> int cgrade; //c語言成績(jī)</p><p> int mgrade; //數(shù)學(xué)成績(jī)</p><p> int egrade; //英語成績(jī)</p><p> int totle; //總分</p><p> int ave;
11、 //平均分</p><p> char neartime[10];//最近更新時(shí)間 </p><p><b> }; </b></p><p> typedef struct node //聲明新的結(jié)構(gòu)體類型Node</p><p><b> { </b></p><p
12、> struct student data; </p><p> struct node *next; </p><p> }Node,*Link; </p><p> void welcome()//歡迎界面</p><p><b> { </b></p><p> print
13、f(" ***************************\n");</p><p> printf(" *歡 迎 使 用*\n");</p><p> printf(" *河南理工大學(xué)大學(xué)學(xué)生成績(jī)
14、管理系統(tǒng) *\n");</p><p> printf(" ***************************\n");</p><p> printf(" 本系統(tǒng)由計(jì)算機(jī)學(xué)院 信管1002班\n\t\t\t傾情奉獻(xiàn)\n");</p><p> p
15、rintf("\n");</p><p> printf(" 愿我們的努力\n");</p><p> printf(" 能為您的學(xué)習(xí)工作帶來方便\n");</p><p> printf("
16、 您的支持將是我們不斷創(chuàng)新的動(dòng)力\n");</p><p> printf(" 祝您使用愉快!\n\t\t如有任何疑問聯(lián)系我們\n\t\t QQ:453275642\n\t\tTel:15116336758\n");</p><p><b> }</b></p><p>
17、void menu() //主菜單</p><p><b> { </b></p><p> printf("\t*************************************************************\n");</p><p> printf("\t* MMMMMMMMMM
18、MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p> printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p> printf("\t* MMM 1
19、<輸入學(xué)生資料> 2<刪除學(xué)生資料> MMM *\n");</p><p> printf("\t* MMM 3<查詢學(xué)生資料> 4<修改學(xué)生資料> MMM *\n");</p><p> printf("\t* MMM 5&l
20、t;顯示學(xué)生資料> 6<統(tǒng)計(jì)學(xué)生成績(jī)> MMM *\n");</p><p> printf("\t* MMM 7<排序?qū)W生成績(jī)> 8<保存學(xué)生資料> MMM *\n");</p><p> printf("\t* MMM 9<
21、菜單導(dǎo)航> 0<退出系統(tǒng)> MMM *\n");</p><p> printf("\t* MMM MMM *\n");</p><p> printf("\t* MMM
22、 MMM *\n");</p><p> printf("\t* MMM ********************************* MMM *\n");</p><p> printf("\t* MMM i 歡迎
23、使用河南理工大學(xué)大學(xué)學(xué)生成績(jī)管理系統(tǒng)i MMM *\n");</p><p> printf("\t* MMM ********************************* MMM *\n");</p><p> printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
24、MMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p> printf("\t* MMM 出品人:夢(mèng)幻小組 | 輔導(dǎo)老師:于金霞 MMM *\n");</p><p> printf("\t* MMM 組長(zhǎng):陳梁 | 夢(mèng)幻組合 MMM *\n&q
25、uot;);</p><p> printf("\t* MMM 組員:陳梁 陳昊 陳俊 成就夢(mèng)幻品質(zhì) MMM *\n");</p><p> printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><
26、p> printf("\t*************************************************************\n");</p><p><b> }</b></p><p> void printstart() </p><p><b> { </b>
27、;</p><p> printf("-----------------------------------------------------------------------\n"); </p><p><b> } </b></p><p> void Wrong() </p><p>
28、<b> { </b></p><p> printf("\n對(duì)不起!你輸入的信息有誤!請(qǐng)重新輸入!\n"); </p><p><b> } </b></p><p> void Nofind() </p><p><b> {</b></
29、p><p> printf(" ________________________________________________________________________\n"); </p><p> printf("\n\t!!!!!!!!!!!!!!!!!!!!!!提示:沒有找到該學(xué)生!\n");</p><p&g
30、t; printf(" ________________________________________________________________________\n");</p><p> printf("\n");</p><p><b> } </b></p><p> void
31、printc() // 本函數(shù)用于輸出中文 </p><p><b> { </b></p><p> printf(" 學(xué)號(hào)\t 姓名 性別 英語 數(shù)學(xué) C語言 總分 平均分\n"); </p><p><b> } </b></p>
32、<p> void printe(Node *p)//本函數(shù)用于輸出英文 </p><p><b> { </b></p><p> printf("%-12s%s\t%s\t%d\t %d\t %d\t %d\t %d\n",p->data.num,p->data.name,p->data.sex,p-&
33、gt;data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);//輸出成績(jī)</p><p><b> } </b></p><p> Node* Locate(Link l,char findmess[],char nameornum[]) //該函數(shù)用于定位
34、鏈表中符合要求的接點(diǎn),并返回該指針 </p><p><b> { </b></p><p><b> Node *r; </b></p><p> if(strcmp(nameornum,"num")==0) //按學(xué)號(hào)查詢 </p><p><b> { &
35、lt;/b></p><p> r=l->next; </p><p> while(r!=NULL) </p><p><b> { </b></p><p> if(strcmp(r->data.num,findmess)==0)//將輸入學(xué)號(hào)與已有學(xué)號(hào)對(duì)比 </p><
36、p> return r; //返回地址</p><p> r=r->next; </p><p><b> } </b></p><p><b> } </b></p><p> else if(strcmp(nameornum,"name")==0) //
37、按姓名查詢將輸入姓名與已有姓名對(duì)比 </p><p><b> { </b></p><p> r=l->next; </p><p> while(r!=NULL) </p><p><b> { </b></p><p> if(strcmp(r->
38、data.name,findmess)==0) </p><p> return r; //返回地址</p><p> r=r->next; </p><p><b> } </b></p><p><b> } </b></p><p> return 0;
39、 </p><p><b> } </b></p><p> void Add(Link l) //增加學(xué)生 </p><p><b> { </b></p><p> Node *p,*r,*s; //定義Node型指針</p><p> char num[11]
40、; </p><p><b> r=l; </b></p><p> s=l->next; </p><p> while(r->next!=NULL) </p><p> r=r->next; //將指針置于最末尾 </p><p><b> while(1
41、) </b></p><p><b> { </b></p><p> printf("請(qǐng)您輸入學(xué)號(hào)(以'0'返回上一級(jí)菜單:)"); </p><p> scanf("%s",num); </p><p> if(strcmp(num,&quo
42、t;0")==0) </p><p><b> break; </b></p><p><b> while(s) </b></p><p><b> { </b></p><p> if(strcmp(s->data.num,num)==0)//將新輸
43、入學(xué)號(hào)與已有學(xué)號(hào)對(duì)比</p><p><b> { </b></p><p> printf("?。。。。?!提示:學(xué)號(hào)為'%s'的學(xué)生已經(jīng)存在,若要修改請(qǐng)你選擇'4 修改'!\n",num); </p><p> printstart(); </p><p>
44、printc(); </p><p> printe(s); </p><p> printstart(); </p><p> printf("\n"); </p><p><b> return; </b></p><p><b> } </b&g
45、t;</p><p> s=s->next;//指向下一個(gè)地址 </p><p><b> } </b></p><p> p=(Node *)malloc(sizeof(Node));//在內(nèi)存中分配長(zhǎng)度與node相同的連續(xù)空間用于存儲(chǔ)新數(shù)據(jù) </p><p> strcpy(p->data.num
46、,num); </p><p> printf("請(qǐng)你輸入姓名:"); </p><p> scanf("%s",p->data.name); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入性別:"); </p>&
47、lt;p> scanf("%s",p->data.sex); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入c語言成績(jī):"); </p><p> scanf("%d",&p->data.cgrade); </p>&l
48、t;p> getchar(); </p><p> printf("請(qǐng)你輸入數(shù)學(xué)成績(jī):"); </p><p> scanf("%d",&p->data.mgrade); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入英語成
49、績(jī):"); </p><p> scanf("%d",&p->data.egrade); </p><p> getchar(); </p><p> p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; //求總分</p
50、><p> p->data.ave=p->data.totle / 3;//信息輸入已經(jīng)完成 </p><p> p->next=NULL; </p><p> r->next=p; </p><p><b> r=p; </b></p><p> shoudsave
51、=1; </p><p><b> } </b></p><p><b> } </b></p><p> void Qur(Link l) //查詢學(xué)生 </p><p><b> { </b></p><p><b> int s
52、el; </b></p><p> char findmess[20]; </p><p><b> Node *p; </b></p><p> if(!l->next)//當(dāng)l->next=NULL時(shí)成立 </p><p><b> { </b></p>
53、;<p> printf("\n********>提示:沒有資料可以查詢!\n"); </p><p><b> return;</b></p><p><b> }</b></p><p> printf("\n********>1按學(xué)號(hào)查找\n******
54、**>2按姓名查找\n"); </p><p> scanf("%d",&sel); </p><p> if(sel==1)//學(xué)號(hào) </p><p><b> { </b></p><p> printf("請(qǐng)你輸入要查找的學(xué)號(hào):"); <
55、/p><p> scanf("%s",findmess); </p><p> p=Locate(l,findmess,"num"); </p><p><b> if(p) </b></p><p><b> { </b></p><
56、p> printf("\t\t\t\t查找結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printe(p); </p><p> printstart(); </p><p><b> } &l
57、t;/b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p> else if(sel==2) //姓名 </p><p><b> { </b>
58、</p><p> printf("請(qǐng)你輸入要查找的姓名:"); </p><p> scanf("%s",findmess); </p><p> p=Locate(l,findmess,"name"); </p><p><b> if(p) </b>
59、;</p><p><b> { </b></p><p> printf("\t\t\t\t查找結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printe(p); </p>
60、<p> printstart(); </p><p><b> } </b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p><b&
61、gt; else </b></p><p><b> Wrong(); </b></p><p><b> } </b></p><p> void Del(Link l) //刪除函數(shù) </p><p><b> { </b></p>&l
62、t;p><b> int sel; </b></p><p> Node *p,*r; </p><p> char findmess[20]; </p><p> if(!l->next) </p><p><b> { </b></p><p>
63、printf("\n********>提示:沒有資料可以刪除!\n"); </p><p><b> return; </b></p><p><b> } </b></p><p> printf("\n********>1按學(xué)號(hào)刪除\n********>2按姓名刪除
64、\n"); </p><p> scanf("%d",&sel); </p><p> if(sel==1) </p><p><b> { </b></p><p> printf("請(qǐng)你輸入要?jiǎng)h除的學(xué)號(hào):"); </p><p>
65、; scanf("%s",findmess); </p><p> p=Locate(l,findmess,"num"); </p><p><b> if(p) </b></p><p><b> { </b></p><p><b>
66、r=l; </b></p><p> while(r->next!=p) </p><p> r=r->next; </p><p> r->next=p->next; </p><p><b> free(p); </b></p><p> prin
67、tf("\n********>提示:該學(xué)生已經(jīng)成功刪除!\n");</p><p> printf("\t\t\t\t請(qǐng)按任意鍵返回。。。\n");</p><p> getchar();</p><p> shoudsave=1; </p><p><b> } </b&
68、gt;</p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p> else if(sel==2) </p><p><b> { </b></p>
69、<p> printf("請(qǐng)你輸入要?jiǎng)h除的姓名:"); </p><p> scanf("%s",findmess); </p><p> p=Locate(l,findmess,"name"); </p><p><b> if(p) </b></p>
70、;<p><b> { </b></p><p><b> r=l; </b></p><p> while(r->next!=p) </p><p> r=r->next; </p><p> r->next=p->next; </p>
71、<p><b> free(p); </b></p><p> printf("\n********>提示:該學(xué)生已經(jīng)成功刪除!\n"); </p><p> shoudsave=1; </p><p><b> } </b></p><p><b
72、> else </b></p><p> Nofind(); </p><p><b> } </b></p><p><b> else </b></p><p><b> Wrong(); </b></p><p><
73、;b> } </b></p><p> void Modify(Link l) //修改函數(shù)模塊</p><p><b> { </b></p><p><b> Node *p; </b></p><p> char findmess[20]; </p>
74、<p> if(!l->next) </p><p><b> { </b></p><p> printf("\n********>提示:沒有資料可以修改!\n"); </p><p><b> return; </b></p><p><b
75、> } </b></p><p> printf("請(qǐng)你輸入要修改的學(xué)生學(xué)號(hào):"); </p><p> scanf("%s",findmess); </p><p> p=Locate(l,findmess,"num"); </p><p> void
76、printstart1();</p><p><b> if(p) </b></p><p><b> { </b></p><p> printf("請(qǐng)你輸入新學(xué)號(hào)(原來是%s):",p->data.num); </p><p> scanf("%s&
77、quot;,p->data.num); </p><p> printf("請(qǐng)你輸入新姓名(原來是%s):",p->data.name); </p><p> scanf("%s",p->data.name); </p><p> getchar(); </p><p> pr
78、intf("請(qǐng)你輸入新性別(原來是%s):",p->data.sex); </p><p> scanf("%s",p->data.sex); </p><p> printf("請(qǐng)你輸入新的c語言成績(jī)(原來是%d分):",p->data.cgrade); </p><p> sca
79、nf("%d",&p->data.cgrade); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入新的數(shù)學(xué)成績(jī)(原來是%d分):",p->data.mgrade); </p><p> scanf("%d",&p->data.m
80、grade); </p><p> getchar(); </p><p> printf("請(qǐng)你輸入新的英語成績(jī)(原來是%d分):",p->data.egrade); </p><p> scanf("%d",&p->data.egrade);</p><p> p->
81、;data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; </p><p> p->data.ave=p->data.totle/3; </p><p> printf("\n********>提示:資料修改成功!\n"); </p><p> s
82、houdsave=1; </p><p><b> } </b></p><p><b> else </b></p><p> Nofind(); </p><p><b> } </b></p><p> void Disp(Link l)
83、//顯示函數(shù)模塊 </p><p><b> { </b></p><p> int count=0; </p><p><b> Node *p; </b></p><p> p=l->next; </p><p><b> if(!p) <
84、/b></p><p><b> { </b></p><p> printf("\n********>提示:沒有資料可以顯示!\n"); </p><p><b> return; </b></p><p><b> } </b><
85、;/p><p> printf("\t\t\t\t顯示結(jié)果\n"); </p><p> printstart(); </p><p> printc(); </p><p> printf("\n"); </p><p><b> while(p) </b
86、></p><p><b> { </b></p><p> printe(p); </p><p> p=p->next; </p><p><b> } </b></p><p> printstart(); </p><p>
87、; printf("\n"); </p><p><b> } </b></p><p> void Tongji(Link l) </p><p><b> { </b></p><p> Node *pm,*pe,*pc,*pt,*pa; //用于指向分?jǐn)?shù)最高的接點(diǎn)
88、 </p><p> Node *r=l->next; </p><p><b> if(!r) </b></p><p><b> { </b></p><p> printf("\n********>提示:沒有資料可以統(tǒng)計(jì)!\n"); </p>
89、<p><b> return ; </b></p><p><b> } </b></p><p> pm=pe=pc=pt=pa=r; </p><p> while(r!=NULL) </p><p><b> { </b></p>
90、<p> if(r->data.cgrade>=pc->data.cgrade) </p><p><b> pc=r; </b></p><p> if(r->data.mgrade>=pm->data.mgrade) </p><p><b> pm=r; </b>
91、</p><p> if(r->data.egrade>=pe->data.egrade) </p><p><b> pe=r; </b></p><p> if(r->data.totle>=pt->data.totle) </p><p><b> pt=r;
92、</b></p><p> if(r->data.ave>=pa->data.ave) </p><p><b> pa=r;</b></p><p> r=r->next; </p><p><b> } </b></p><p>
93、; printf("------------------------------統(tǒng)計(jì)結(jié)果--------------------------------\n"); </p><p> printf("*總分最高者:\t%s %d分\n",pt->data.name,pt->data.totle); </p><p> printf(
94、"*平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave); </p><p> printf("*英語最高者:\t%s %d分\n",pe->data.name,pe->data.egrade); </p><p> printf("*數(shù)學(xué)最高者:\t%s %d分\n&qu
95、ot;,pm->data.name,pm->data.mgrade); </p><p> printf("*c語言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade); </p><p> printstart(); </p><p><b> } </b&g
96、t;</p><p> void Sort(Link l) </p><p><b> { </b></p><p><b> Link ll; </b></p><p> Node *p,*rr,*s; </p><p> ll=(Link)malloc(size
97、of(Node)); //用于做新的連表 </p><p> ll->next=NULL; </p><p> if(l->next==NULL) </p><p><b> { </b></p><p> printf("\n********>提示:沒有資料可以排序!\n"
98、); </p><p><b> return ; </b></p><p><b> } </b></p><p> p=l->next; </p><p><b> while(p) </b></p><p><b> {
99、</b></p><p> s=(Node*)malloc(sizeof(Node)); //新建接點(diǎn)用于保存信息 </p><p> s->data=p->data; </p><p> s->next=NULL; </p><p><b> rr=ll; </b></p&g
100、t;<p> while(rr->next!=NULL && rr->next->data.totle>=p->data.totle) </p><p> rr=rr->next; </p><p> if(rr->next==NULL) </p><p> rr->next=s;
101、 </p><p><b> else </b></p><p><b> { </b></p><p> s->next=rr->next; </p><p> rr->next=s; </p><p><b> } </b>
102、;</p><p> p=p->next; </p><p><b> } </b></p><p><b> free(l); </b></p><p> l->next=ll->next; </p><p> printf("\n**
103、******>提示:排序已經(jīng)完成!\n"); </p><p><b> } </b></p><p> void Save(Link l) </p><p><b> { </b></p><p> FILE* fp; </p><p><b&
104、gt; Node *p; </b></p><p> int flag=1,count=0; </p><p> fp=fopen("c:\\student","wb"); </p><p> if(fp==NULL) </p><p><b> { </b>
105、</p><p> printf("\n********>提示:重新打開文件時(shí)發(fā)生錯(cuò)誤!\n"); </p><p><b> exit(1); </b></p><p><b> } </b></p><p> p=l->next; </p>
106、<p><b> while(p) </b></p><p><b> { </b></p><p> if(fwrite(p,sizeof(Node),1,fp)==1) </p><p><b> { </b></p><p> p=p->nex
107、t; </p><p><b> count++; </b></p><p><b> } </b></p><p><b> else </b></p><p><b> { </b></p><p><b>
108、 flag=0; </b></p><p><b> break; </b></p><p><b> } </b></p><p><b> } </b></p><p><b> if(flag) </b></p>&
109、lt;p><b> { </b></p><p> printf("\n********>提示:文件保存成功.(有%d條記錄已經(jīng)保存.)\n",count); </p><p> shoudsave=0; </p><p><b> } </b></p><p&g
110、t; fclose(fp); </p><p><b> } </b></p><p> void help()</p><p><b> {</b></p><p> printf("歡迎進(jìn)入河南理工大學(xué)學(xué)生成績(jī)管理系統(tǒng)《菜單導(dǎo)航》\n\t\t我們將竭誠(chéng)為您服務(wù)\n"
111、);</p><p> printf("以下是各菜單功能簡(jiǎn)介:");</p><p> printf("1.<輸入>:此功能用于錄入新生學(xué)號(hào),性別,及各科成績(jī)。\n");</p><p> printf("2.<刪除>:用于注銷離校學(xué)生資料。\n");</p>&
112、lt;p> printf("3.<查詢>:此功能下設(shè)兩個(gè)選項(xiàng),分別用于學(xué)號(hào)查詢和姓名查詢。\n");</p><p> printf("4.<修改>;用來改動(dòng)已錄入的學(xué)生信息。\n");</p><p> printf("5.<顯示>:用來顯示所有學(xué)生信息。\n");</p&g
113、t;<p> printf("6.<統(tǒng)計(jì)>:選出總成績(jī)第一,及單科第一的學(xué)生\n");</p><p> printf("7.<排序>:用來對(duì)學(xué)生成績(jī)進(jìn)行排序,但不顯示。\n");</p><p> printf("8.<保存>:用于存儲(chǔ)新錄入的學(xué)生信息,在每次操作最后必須保存。\n&
114、quot;);</p><p> printf("如您人有疑問請(qǐng)聯(lián)系我們");</p><p> printf("\t\t\t\t請(qǐng)按任意鍵返回。。。\n");</p><p> getchar();</p><p><b> }</b></p><p&
115、gt; void main() </p><p><b> { </b></p><p> Link l;//鏈表 </p><p> FILE *fp; //文件指針 </p><p><b> int sel; </b></p><p><b> c
116、har ch; </b></p><p> char jian; </p><p> int count=0; </p><p> Node *p,*r; </p><p> welcome();</p><p> printf("\n\n\t\t\t\t\t\t\t請(qǐng)按任意鍵繼續(xù)\n&
117、quot;);</p><p> getchar();</p><p> printf("\t\t**************************************************");</p><p> printf("\t\t\t\t 學(xué)生成績(jī)管理系統(tǒng)\n");</p&g
118、t;<p> printf("\t\t**************************************************");</p><p> l=(Node*)malloc(sizeof(Node)); </p><p> l->next=NULL; </p><p><b> r=l;
119、 </b></p><p> fp=fopen("C:\\student","rb"); </p><p> if(fp==NULL) </p><p><b> { </b></p><p> printf("\n********>提示:文件還
120、不存在,是否創(chuàng)建?(y/n)\n"); </p><p> scanf("%c",&jian); </p><p> if(jian=='y'||jian=='Y') </p><p> fp=fopen("C:\\student","wb"); &l
121、t;/p><p><b> else </b></p><p><b> exit(0); </b></p><p><b> } </b></p><p> printf("\n********>提示:文件已經(jīng)打開,正在導(dǎo)入記錄......\n"
122、); </p><p> while(!feof(fp)) </p><p><b> { </b></p><p> p=(Node*)malloc(sizeof(Node)); </p><p> if(fread(p,sizeof(Node),1,fp)) //將文件的內(nèi)容放入接點(diǎn)中 </p>
123、<p><b> { </b></p><p> p->next=NULL; </p><p> r->next=p; </p><p> r=p; //將該接點(diǎn)掛入連中 </p><p><b> count++; </b></p><p>
124、;<b> } </b></p><p><b> } </b></p><p> fclose(fp); //關(guān)閉文件 </p><p> printf("\n*********>提示:記錄導(dǎo)入完畢,共導(dǎo)入%d條記錄.\n",count); </p><p>&l
125、t;b> while(1) </b></p><p><b> { </b></p><p><b> menu(); </b></p><p> printf("請(qǐng)你選擇操作:"); </p><p> scanf("%d",&a
126、mp;sel); </p><p> if(sel==0) </p><p><b> { </b></p><p> if(shoudsave==1) </p><p> { getchar(); </p><p> printf("\n********>提示:資料已經(jīng)
127、改動(dòng),是否將改動(dòng)保存到文件中(y/n)?\n"); </p><p> scanf("%c",&ch); </p><p> if(ch=='y'||ch=='Y') </p><p><b> Save(l); </b></p><p><
128、;b> } </b></p><p> printf("\n********>提示:你已經(jīng)退出系統(tǒng),再見!\n"); </p><p><b> break; </b></p><p><b> } </b></p><p> switch(se
129、l) </p><p><b> { </b></p><p> case 1:Add(l);break; //增加學(xué)生 </p><p> case 2:Del(l);break;//刪除學(xué)生 </p><p> case 3:Qur(l);break;//查詢學(xué)生 </p><p>
130、 case 4:Modify(l);break;//修改學(xué)生 </p><p> case 5:Disp(l);break;//顯示學(xué)生 </p><p> case 6:Tongji(l);break;//統(tǒng)計(jì)學(xué)生 </p><p> case 7:Sort(l);break;//排序?qū)W生 </p><p> case 8:Save
131、(l);break;//保存學(xué)生 </p><p> case 9:help();break; </p><p> default: Wrong();getchar();break; </p><p><b> } </b></p><p><b> } </b></p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)--c語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)———學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c語言課程設(shè)計(jì)--- 學(xué)生成績(jī)管理
評(píng)論
0/150
提交評(píng)論