版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 高級(jí)語(yǔ)言程序設(shè)計(jì)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題目: 學(xué)生成績(jī)管理學(xué)系統(tǒng) </p><p> 專 業(yè) : </p><p><b> 班 級(jí) :</b></p&g
2、t;<p> 學(xué) 號(hào) : </p><p> 姓 名 : </p><p><b> 指導(dǎo)教師 : </b></p><p> 日 期: </p><p> 1、程序基本功能要求</p><p><b> (1) 用戶登錄</b
3、></p><p> (2) 錄入學(xué)生信息</p><p> (3) 顯示學(xué)生總成績(jī)信息</p><p> (4) 對(duì)總成績(jī)排序</p><p> (5) 顯示學(xué)生單科成績(jī)排序</p><p> (6) 添加學(xué)生信息</p><p> (7) 刪除學(xué)生信息</p>
4、<p> (8) 修改學(xué)生信息</p><p> (9) 查詢學(xué)生信息</p><p> (10) 從文件讀入學(xué)信息</p><p> (11) 刪除文件中學(xué)生信息</p><p> (12) 保存學(xué)生信息</p><p><b> (13) 退出</b></p>
5、;<p> 2、總體設(shè)計(jì)(功能模塊說明,如函數(shù)功能、參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等,并注明各模塊的具體成員分工)</p><p><b> 2.1函數(shù)功能</b></p><p> ?。?)主函數(shù)main():定義學(xué)生結(jié)構(gòu)體數(shù)組,調(diào)用錄入、統(tǒng)計(jì)等函數(shù)對(duì)成績(jī)表進(jìn)行處理;</p><p> (2)輸入函數(shù)input():輸入學(xué)生的
6、學(xué)號(hào)、性別、姓名、成績(jī)等各種信息;</p><p> ?。?)讀出函數(shù)read():讀出學(xué)生的信息;</p><p> ?。?)排序函數(shù)sort():排序?qū)W生的各門成績(jī);</p><p> ?。?)顯示函數(shù)display():顯示學(xué)生的學(xué)號(hào)、性別、姓名、成績(jī)等各種信息;</p><p> ?。?)插入函數(shù)insert():插入學(xué)生的學(xué)號(hào)、性別
7、、姓名、成績(jī)等各種信息;</p><p> ?。?)刪除函數(shù)delete():刪除指定學(xué)號(hào)學(xué)生記錄;</p><p> ?。?)平均值函數(shù)average():計(jì)算學(xué)生的平均成績(jī);</p><p> ?。?)查找函數(shù)find():查找指定學(xué)生的信息;</p><p> ?。?0)保存函數(shù)save():保存輸入的學(xué)生信息;</p>
8、<p> (11)刪除文件函數(shù)del_file():刪除指定文件信息;</p><p> (12)修改函數(shù)modify():修改指定學(xué)生信息;</p><p><b> ?。?3)退出。</b></p><p> 2.2參數(shù)說明、函數(shù)調(diào)用</p><p> (1)數(shù)據(jù)輸入:數(shù)據(jù)輸入的功能是將需要的數(shù)據(jù)進(jìn)
9、行錄入,用于后面的各項(xiàng)操作。實(shí)現(xiàn):用輸入函數(shù)對(duì)數(shù)據(jù)進(jìn)行錄入,先確定學(xué)生的個(gè)數(shù),再用一個(gè)循環(huán)進(jìn)行輸入。</p><p> (2) 數(shù)據(jù)插入: 數(shù)據(jù)插入的主要功能是在數(shù)據(jù)錄入之后,為防止數(shù)據(jù)輸入的遺漏,實(shí)現(xiàn):分為兩個(gè)部分,第一個(gè)是插入第一個(gè)位置,第二是插入第一個(gè)位置之后,把當(dāng)前的位置賦給后面的加以實(shí)現(xiàn)。</p><p> ?。?)數(shù)據(jù)查找:數(shù)據(jù)查詢的主要功能是在數(shù)據(jù)輸入之后進(jìn)行分類再現(xiàn),實(shí)現(xiàn)
10、:分為輸出所有數(shù)據(jù),按學(xué)號(hào)查詢,按姓名查詢,當(dāng)輸入的數(shù)據(jù)滿足條件時(shí)即輸出所要求的。</p><p> ?。?)數(shù)據(jù)刪除:數(shù)據(jù)刪除的主要功能是在數(shù)據(jù)錄入、數(shù)據(jù)插入和數(shù)據(jù)修改完成之后對(duì)無(wú)用數(shù)據(jù)進(jìn)行刪除,實(shí)現(xiàn):輸入學(xué)號(hào),滿足條件時(shí)即把后一個(gè)數(shù)值賦 給前一個(gè)數(shù)值,達(dá)到刪除的目的。</p><p> (5)平均值計(jì)算:平均值計(jì)算的主要功能是求平均值,再對(duì)其進(jìn)行排序,實(shí)現(xiàn):用公式進(jìn)行計(jì)算求平均值,之
11、后便是排序問題,求最大值,然后依次輸出各最大值,即實(shí)現(xiàn)了排序功能。</p><p><b> 2.3模塊分工</b></p><p> 讀出函數(shù)、排序函數(shù)、插入函數(shù)、刪除函數(shù)模塊</p><p> 主函數(shù)、輸入函數(shù)、顯示函數(shù)、平均值函數(shù)模塊</p><p> 查找函數(shù)、保存函數(shù)、刪除文件函數(shù)、修改函數(shù)</p
12、><p> 3、詳細(xì)設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)</p><p> 3.1系統(tǒng)功能模塊描述</p><p> 圖3-1學(xué)生成績(jī)管理系統(tǒng)模塊圖</p><p> 3.2 錄入函數(shù)功能設(shè)計(jì)</p><p> 首先會(huì)給定一個(gè)要輸入的人數(shù)界限,根據(jù)自己要輸入的人數(shù)進(jìn)行輸入,系統(tǒng)會(huì)提示你輸入學(xué)生的信息,其中包括姓名、性
13、別、各科目的分?jǐn)?shù),系統(tǒng)會(huì)自動(dòng)生成一個(gè)有序數(shù)列,即學(xué)號(hào)。其執(zhí)行流程圖如下所示:</p><p><b> 否</b></p><p><b> 是</b></p><p> 圖3-2錄入函數(shù)設(shè)計(jì)</p><p> 3.3 查找函數(shù)功能設(shè)計(jì)</p><p> 查找函數(shù)有
14、兩種查找方法,分別為按姓名和學(xué)號(hào)查找,當(dāng)輸入為flag=1時(shí),系統(tǒng)會(huì)提示按照姓名查找,當(dāng)輸入為flag=2時(shí),系統(tǒng)則提示按照學(xué)號(hào)查找,其流程圖為: </p><p> Flag=1 Flag=2</p><p> 不 不</p><p> 存 正</p><
15、;p> 在 確</p><p> 存在 正確</p><p> 圖 3-3查找函數(shù)設(shè)計(jì)</p><p> 3.4統(tǒng)計(jì)函數(shù)功能設(shè)計(jì)</p><p> 統(tǒng)計(jì)函數(shù)會(huì)統(tǒng)計(jì)各科目的最高分、最低分以及平均分的統(tǒng)計(jì),并且按照操作進(jìn)行科目統(tǒng)計(jì)。會(huì)有4中選擇,當(dāng)flag=1時(shí),對(duì)數(shù)
16、學(xué)進(jìn)行統(tǒng)計(jì);當(dāng)flag=2時(shí),對(duì)英語(yǔ)進(jìn)行統(tǒng)計(jì),當(dāng)flag=3時(shí),對(duì)c成績(jī)進(jìn)行統(tǒng)計(jì),當(dāng)flag=4時(shí),統(tǒng)計(jì)函數(shù)功能結(jié)束。跳出循環(huán)。如圖3-4所示:</p><p><b> Flag=4</b></p><p><b> Flag=1</b></p><p><b> flag=3</b><
17、/p><p><b> flag=2</b></p><p> 圖 3-4 統(tǒng)計(jì)函數(shù)設(shè)計(jì)</p><p> 3.5添加函數(shù)功能設(shè)計(jì)</p><p> 添加函數(shù)主要是對(duì)額外的學(xué)生記錄進(jìn)行添加,同前面一樣,也是對(duì)其信息的輸入,并且輸入完成之后,再對(duì)學(xué)生成績(jī)進(jìn)行排序和統(tǒng)計(jì),如圖所示</p><p>
18、 Flag=Y flag=N</p><p> 圖 3-5 添加函數(shù)設(shè)計(jì)</p><p> 3.6更新函數(shù)功能設(shè)計(jì)</p><p> 更新函數(shù)包含了兩個(gè)子函數(shù),分別是修改和刪除兩項(xiàng),修改主要是修改錄入函數(shù)里面錯(cuò)誤的內(nèi)容,而刪除主要是刪除一些不必要的學(xué)生信息,其功能流程如圖3-6所示</p>
19、<p> Flag=1 Flag=2</p><p> Flag=Y Flag=Y</p><p> Flag=N Flag=N </p><p> 圖3-6 更新函數(shù)設(shè)計(jì) </p><p> 3.7
20、執(zhí)行流程介紹 </p><p> 主要是主函數(shù)調(diào)用子函數(shù)來(lái)進(jìn)行操作和子函數(shù)相互之間的調(diào)用來(lái)完成執(zhí)行,如圖:</p><p><b> 否 </b></p><p><b> 是</b></p><p><b> 圖3-7流程執(zhí)行圖</b></p&
21、gt;<p> 4、程序運(yùn)行結(jié)果(截圖)</p><p><b> 用戶登陸界面</b></p><p> 登錄失?。ü灿形宕屋斎霗C(jī)會(huì))</p><p><b> 登陸成功</b></p><p><b> 進(jìn)入主界面</b></p>&l
22、t;p><b> 錄入學(xué)生信息</b></p><p><b> 顯示學(xué)生總成績(jī)信息</b></p><p><b> 對(duì)總成績(jī)排序</b></p><p> 顯示學(xué)生單科成績(jī)排序</p><p><b> 添加學(xué)生信息</b></p
23、><p> 添加學(xué)生信息后總成績(jī)顯示</p><p><b> 刪除學(xué)生信息</b></p><p> 刪除學(xué)生信息后總成績(jī)顯示</p><p><b> 修改學(xué)生信息</b></p><p><b> 輸入修改學(xué)生信息</b></p>
24、<p> 修改后學(xué)生總成績(jī)顯示</p><p><b> 查詢學(xué)生信息</b></p><p><b> 從文件讀入學(xué)生信息</b></p><p> 從文件讀入學(xué)生信息后總成績(jī)顯示</p><p><b> 文件信息</b></p>&l
25、t;p><b> 刪除文件中學(xué)生信息</b></p><p><b> 刪除后文件信息</b></p><p><b> 保存學(xué)生信息</b></p><p><b> 保存后文件信息</b></p><p> 5、源程序代碼(代碼中注明每
26、段代碼的完成人)</p><p> #include<stdio.h> </p><p> #include<conio.h> /*清屏*/ </p><p> #include <stdlib.h> /*顯示目錄*/ </p>
27、;<p> #include<string.h> </p><p> #define MAX 1000</p><p> void menu(); /*登錄函數(shù)*/ </p><p> void input(); /*輸入數(shù)
28、據(jù)函數(shù)*/ </p><p> void sort(); /*排序數(shù)據(jù)函數(shù)*/ </p><p> void display(); /*顯示數(shù)據(jù)函數(shù)*/ </p><p> void display1();
29、 /*顯示各科成績(jī)函數(shù)*/ </p><p> void insert(); /*插入數(shù)據(jù)函數(shù)*/ </p><p> void del(); /*刪除數(shù)據(jù)函數(shù)*/ </p><p> void average();
30、 /*平均值函數(shù)*/ </p><p> void find(); /*查找數(shù)據(jù)函數(shù)*/ </p><p> void save(); /*保存數(shù)據(jù)函數(shù)*/ </p><p> void read();
31、 /*讀出數(shù)據(jù)函數(shù)*/ </p><p> void del_file(); /*刪除文件函數(shù)*/ </p><p> void modify(); /*修改文件函數(shù)*/ </p><p> int now_no=0; </p>
32、<p> struct student //定義學(xué)生信息</p><p><b> { </b></p><p> int no; // 學(xué)號(hào)</p><p> char name[20];
33、 //姓名 </p><p> char sex[4]; //性別</p><p> float score1; //成績(jī)1</p><p> float score2; //成績(jī)2
34、</p><p> float score3; //成績(jī)3</p><p> float sort; //排序成績(jī)</p><p> float ave; //平均分</p><p&
35、gt; float sum; //總分</p><p><b> }; </b></p><p> void main()</p><p><b> {</b></p><p> int h,flag1,flag2;</p>
36、;<p> char name[20]="xdxy",password[10]="700619";</p><p> char person[20],password1[10];</p><p> printf ("\t\t ******** 歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng)!********\n\n");<
37、/p><p> printf ("\t\t\t 用 戶 登 錄\n\n");</p><p> for(h=0;h!=5;)</p><p><b> {</b></p><p> printf("\t\t\t\t 用戶名:");</p>&l
38、t;p> gets(person);</p><p> flag1=strcmp(person,name);</p><p> printf("\t\t\t\t 密碼:");</p><p> gets(password1);</p><p> flag2=strcmp(password,password
39、1);</p><p> if(flag1==0 && flag2==0)</p><p><b> {</b></p><p> printf("\t\t\t\t 登陸成功!\n\n");</p><p><b> menu();</b></p
40、><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf ("\t\t\t
41、 用戶名或密碼錯(cuò)誤!\n\n");</p><p> printf ("\t\t\t 請(qǐng)注意:您還剩%d次機(jī)會(huì)!\n\n",4-h);</p><p><b> h++;</b></p><p><b> }</b></p><p><b>
42、; }</b></p><p><b> if (h=5)</b></p><p> printf ("對(duì)不起,您輸入的用戶名或密碼有誤,已被強(qiáng)制退出。\n");</p><p><b> }</b></p><p> struct student stu[
43、MAX],*p; </p><p> void menu() /*主函數(shù)*/ </p><p><b> { </b></p><p><b> int as; </b></p><p><b> char ch; </b><
44、/p><p><b> do{ </b></p><p> printf("\n\n\n\n\t\t****&****&****&****&****&****&****&****&****&****"); </p><p> start: printf
45、("\n\n\n\n\t\t\t 歡迎使用學(xué)生成績(jī)管理系統(tǒng)\n"); </p><p> printf("\n\n\n\n\t\t******************按任意鍵繼續(xù)********************"); </p><p> ch=getch(); </p><p><b> } &l
46、t;/b></p><p> while(!ch); </p><p> system("cls"); </p><p> /*以下為功能選擇模塊*/ </p><p><b> do </b></p><p><b> { </b><
47、;/p><p> printf("\n\t\t\t\t1.錄入學(xué)生信息\n\t\t\t\t2.顯示學(xué)生總成績(jī)信息\n\t\t\t\t3.對(duì)總成績(jī)排序\n\t\t\t\t4.顯示學(xué)生單科成績(jī)排序\n\t\t\t\t5.添加學(xué)生信息\n\t\t\t\t6.刪除學(xué)生信息\n\t\t\t\t7.修改學(xué)生信息\n\t\t\t\t8.查詢學(xué)生信息\n\t\t\t\t9.從文件讀入學(xué)生信息\n\t\t\t\t10.刪除
48、文件中學(xué)生信息\n\t\t\t\t11.保存學(xué)生信息\n\t\t\t\t12.退出\n"); </p><p> printf("\t\t\t\t選擇功能選項(xiàng)(輸入所選功能前的數(shù)字):"); </p><p> fflush(stdin); </p><p> /*可用可不用,用于清除緩存防止下次用scanf輸入是出現(xiàn)錯(cuò)誤*/ &
49、lt;/p><p> scanf("%d",&as); </p><p> switch(as) </p><p><b> { </b></p><p> case 1:system("cls"); </p><p><b> in
50、put(); </b></p><p><b> break; </b></p><p> case 2:system("cls"); </p><p> display(); </p><p><b> break; </b></p><
51、p> case 3:system("cls"); </p><p><b> sort(); </b></p><p><b> break; </b></p><p> case 4:system("cls"); </p><p> disp
52、lay1(); </p><p><b> break; </b></p><p> case 5:system("cls"); </p><p> insert(); </p><p><b> break; </b></p><p> cas
53、e 6:system("cls"); </p><p><b> del(); </b></p><p><b> break; </b></p><p> case 7:system("cls"); </p><p> modify(); </
54、p><p><b> break; </b></p><p> case 8:system("cls"); </p><p><b> find(); </b></p><p><b> break; </b></p><p>
55、 case 9:system("cls"); </p><p><b> read(); </b></p><p><b> break; </b></p><p> case 10:system("cls"); </p><p> del_file(
56、); </p><p><b> break; </b></p><p> case 11:system("cls"); </p><p><b> save(); </b></p><p><b> break; </b></p>&
57、lt;p> case 12:system("exit"); </p><p><b> exit(0); </b></p><p> default:system("cls"); </p><p> goto start; </p><p><b> }
58、</b></p><p> }while(1); /*while(1),1表示真,所以while(1)表示永遠(yuǎn)循環(huán)下去*/ </p><p> /*至此功能選擇模塊結(jié)束*/ </p><p><b> }</b></p><p> void input() /*學(xué)生信息錄入模塊*
59、/ </p><p><b> { </b></p><p><b> int i=0; </b></p><p><b> char ch; </b></p><p><b> do </b></p><p><b&
60、gt; { </b></p><p> printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1); </p><p> printf("\n輸入8位的學(xué)生學(xué)號(hào):"); </p><p> scanf("%u",&stu[i].no); </
61、p><p> fflush(stdin); </p><p> printf("\n輸入學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(stu[i].name); </p><p> printf("\n輸入學(xué)生性別:");
62、 </p><p> fflush(stdin); </p><p> gets(stu[i].sex); </p><p> printf("\n輸入學(xué)生成績(jī)1:"); </p><p> scanf("%f",&stu[i].score1); </p><p>
63、; printf("\n輸入學(xué)生成績(jī)2:"); </p><p> fflush(stdin); </p><p> scanf("%f",&stu[i].score2); </p><p> printf("\n輸入學(xué)生成績(jī)3:"); </p><p> fflu
64、sh(stdin); </p><p> scanf("%f",&stu[i].score3); </p><p> printf("\n\n"); </p><p><b> i++; </b></p><p> now_no=i; </p><
65、;p> printf("是否繼續(xù)輸入?(Y/N)"); </p><p> fflush(stdin); </p><p> ch=getch(); </p><p> system("cls"); </p><p><b> } </b></p>&
66、lt;p> while(ch!='n'&&ch!='N'); </p><p> system("cls"); </p><p><b> } </b></p><p> void sort() /*排序數(shù)據(jù)函數(shù)*/ &
67、lt;/p><p><b> { </b></p><p> struct student temp; </p><p><b> int i,j; </b></p><p> average(); </p><p> for(i=1;i<now_no;i++)
68、</p><p><b> { </b></p><p> for(j=1;j<=now_no-i;j++) </p><p><b> { </b></p><p> if(stu[j-1].ave<stu[j].ave) </p><p><b&
69、gt; { </b></p><p> temp=stu[j]; </p><p> stu[j]=stu[j-1]; </p><p> stu[j-1]=temp; </p><p><b> } </b></p><p><b> } </b>&
70、lt;/p><p><b> } </b></p><p> printf("排序已完成進(jìn)入功能2可進(jìn)行顯示\n"); </p><p> system("pause"); </p><p> system("cls"); </p><p
71、><b> } </b></p><p> void sort1() /*排序數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p> struct student temp; </p><p><b> int i
72、,j; </b></p><p> for(i=1;i<now_no;i++) </p><p><b> { </b></p><p> for(j=1;j<=now_no-i;j++) </p><p><b> { </b></p><p&g
73、t; if(stu[j-1].score1<stu[j].score1) </p><p><b> { </b></p><p> temp=stu[j]; </p><p> stu[j]=stu[j-1]; </p><p> stu[j-1]=temp; </p><p>
74、<b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> void sort2() /*排序數(shù)據(jù)函
75、數(shù)*/ </p><p><b> { </b></p><p> struct student temp; </p><p><b> int i,j; </b></p><p> for(i=1;i<now_no;i++) </p><p><b>
76、; { </b></p><p> for(j=1;j<=now_no-i;j++) </p><p><b> { </b></p><p> if(stu[j-1].score2<stu[j].score2) </p><p><b> { </b></p
77、><p> temp=stu[j]; </p><p> stu[j]=stu[j-1]; </p><p> stu[j-1]=temp; </p><p><b> } </b></p><p><b> } </b></p><p><
78、;b> } </b></p><p><b> } </b></p><p> void sort3() /*排序數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p> struct student temp;
79、</p><p><b> int i,j; </b></p><p> for(i=1;i<now_no;i++) </p><p><b> { </b></p><p> for(j=1;j<=now_no-i;j++) </p><p><b
80、> { </b></p><p> if(stu[j-1].score3<stu[j].score3) </p><p><b> { </b></p><p> temp=stu[j]; </p><p> stu[j]=stu[j-1]; </p><p>
81、 stu[j-1]=temp; </p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> void
82、display() /*顯示數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p><b> int i; </b></p><p><b> char as; </b></p><p> average();
83、</p><p><b> do </b></p><p><b> { </b></p><p> printf("\t\t\t班級(jí)學(xué)生信息列表\n"); </p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t成績(jī)1\t成績(jī)2\t成績(jī)3\t平均值\n
84、"); </p><p> for(i=0;i<now_no&&stu[i].name[0];i++) </p><p> printf("\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2
85、,stu[i].score3,stu[i].ave); </p><p> printf("\t\t\t按任意鍵返回主菜單"); </p><p> fflush(stdin); </p><p> as=getch(); </p><p><b> } </b></p><
86、;p> while(!as); </p><p> system("cls"); </p><p><b> } </b></p><p> void display1() /*顯示數(shù)據(jù)函數(shù)*/ </p><p><b> { </b&
87、gt;</p><p><b> int i; </b></p><p> char as; </p><p><b> do </b></p><p><b> { </b></p><p> printf("\t\t\t班級(jí)學(xué)
88、生score1成績(jī)排序\n"); </p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t成績(jī)1\n"); </p><p><b> sort1(); </b></p><p> for(i=0;i<now_no&&stu[i].name[0];i++) </p>
89、<p> printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1); </p><p> printf("\t\t\t班級(jí)學(xué)生score2成績(jī)排序\n"); </p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t成績(jī)
90、2\n"); </p><p><b> sort2(); </b></p><p> for(i=0;i<now_no&&stu[i].name[0];i++) </p><p> printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,
91、stu[i].sex,stu[i].score2); </p><p> printf("\t\t\t班級(jí)學(xué)生score3成績(jī)排序\n"); </p><p> printf("\t學(xué)號(hào)\t姓名\t性別\t成績(jī)3\n"); </p><p><b> sort3(); </b></p>
92、<p> for(i=0;i<now_no&&stu[i].name[0];i++) </p><p> printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score3); </p><p> printf("\t\t\t按任意
93、鍵返回主菜單"); </p><p> fflush(stdin); </p><p> as=getch(); </p><p><b> } </b></p><p> while(!as); </p><p> system("cls"); </
94、p><p><b> }</b></p><p> void insert() /*插入數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p><b> char ch; </b></p><p&g
95、t;<b> do </b></p><p><b> { </b></p><p> printf("\n\t\t輸入新插入學(xué)生信息\n"); </p><p> printf("\n輸入學(xué)生學(xué)號(hào):"); </p><p> scanf("
96、;%u",&stu[now_no].no); </p><p> fflush(stdin); </p><p> printf("\n輸入學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(stu[now_no].name); </p>
97、<p> printf("\n輸入學(xué)生性別:"); </p><p> fflush(stdin); </p><p> gets(stu[now_no].sex); </p><p> printf("\n輸入學(xué)生成績(jī)1:"); </p><p> fflush(stdin);
98、</p><p> scanf("%f",&stu[now_no].score1); </p><p> printf("\n輸入學(xué)生成績(jī)2:"); </p><p> fflush(stdin); </p><p> scanf("%f",&stu[now_
99、no].score2); </p><p> printf("\n輸入學(xué)生成績(jī)3:"); </p><p> fflush(stdin); </p><p> scanf("%f",&stu[now_no].score3); </p><p> printf("\n\n&quo
100、t;); </p><p> now_no=now_no+1; </p><p><b> sort(); </b></p><p> printf("是否繼續(xù)輸入?(Y/N)"); </p><p> fflush(stdin); </p><p> ch=getc
101、h(); </p><p> system("cls"); </p><p><b> } </b></p><p> while(ch!='n'&&ch!='N'); </p><p><b> } </b></p&
102、gt;<p> void del() /*刪除數(shù)據(jù)函數(shù)*/ </p><p> {unsigned long inum; </p><p><b> int i; </b></p><p> printf("輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):"); </p>
103、;<p> fflush(stdin); </p><p> scanf("%u",&inum); </p><p> for(i=0;i<now_no;i++) </p><p><b> { </b></p><p> if(stu[i].no==inum)
104、</p><p><b> { </b></p><p> if(i==now_no)now_no-=1; </p><p><b> else </b></p><p><b> { </b></p><p> stu[i]=stu[now_
105、no-1]; </p><p> now_no-=1; </p><p><b> } </b></p><p><b> sort(); </b></p><p><b> break; </b></p><p><b> } &l
106、t;/b></p><p><b> } </b></p><p> system("cls"); </p><p><b> } </b></p><p> void save() /*保存數(shù)據(jù)函數(shù)*/ </p>
107、<p><b> { </b></p><p> FILE *fp; </p><p><b> int i; </b></p><p> char filepath[20]; </p><p> printf("輸入要保存的文件路徑:"); </p&g
108、t;<p> fflush(stdin); </p><p> gets(filepath); </p><p> if((fp=fopen("C:\\學(xué)生信息.txt","w"))==NULL) </p><p><b> { </b></p><p>
109、printf("\n保存失敗!"); </p><p><b> exit(0); </b></p><p><b> } </b></p><p> for(i=0;i<now_no;i++) </p><p><b> { </b><
110、/p><p> stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; </p><p> stu[i].ave=stu[i].sum/3; </p><p> fprintf(fp,"\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i]
111、.name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); </p><p><b> } </b></p><p> fclose(fp); </p><p> printf("學(xué)生信息已保存在%s中!\n",filepath); &
112、lt;/p><p> system("pause"); </p><p> system("cls"); </p><p><b> } </b></p><p> void find() /*查詢函數(shù)*/ </p><p
113、><b> { </b></p><p><b> int i; </b></p><p> char str[20],as; </p><p><b> do </b></p><p><b> { </b></p><
114、;p> printf("輸入要查詢的學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(str); </p><p> for(i=0;i<now_no;i++) </p><p> if(!strcmp(stu[i].name,str)) </p&
115、gt;<p><b> { </b></p><p> printf("\t學(xué)號(hào)\t\t姓名\t性別\t成績(jī)1\t成績(jī)2\t成績(jī)3\t平均值\n"); </p><p> printf("\t%u\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name
116、,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); </p><p><b> } </b></p><p> printf("\t\t\t按任意鍵返回主菜單"); </p><p> fflush(stdin); </p>
117、<p> as=getch(); </p><p><b> } </b></p><p> while(!as); </p><p> system("cls"); </p><p><b> }</b></p><p> voi
118、d average() /*求平均數(shù)*/ </p><p><b> { </b></p><p><b> int i; </b></p><p> for(i=0;i<now_no;i++) </p><p><b> { <
119、;/b></p><p> stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3; </p><p> stu[i].ave=stu[i].sum/3; </p><p><b> } </b></p><p><b> } </b>
120、</p><p> void modify() /*修改數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p><b> int i; </b></p><p> char str[20]; </p><p>
121、 printf("輸入要修改的學(xué)生姓名:"); </p><p> fflush(stdin); </p><p> gets(str); </p><p> for(i=0;i<now_no;i++) </p><p><b> { </b></p><p>
122、 if(!strcmp(stu[i].name,str)) </p><p><b> { </b></p><p> system("cls"); </p><p> printf("\n\t\t輸入修改后學(xué)生信息\n"); </p><p> printf("
123、\n輸入學(xué)生學(xué)號(hào):"); </p><p> fflush(stdin); </p><p> scanf("%u",&stu[i].no); </p><p> printf("\n輸入學(xué)生性別:"); </p><p> fflush(stdin); </p>
124、<p> gets(stu[i].sex); </p><p> printf("\n輸入學(xué)生成績(jī)1:"); </p><p> fflush(stdin); </p><p> scanf("%f",&stu[i].score1); </p><p> printf(&q
125、uot;\n輸入學(xué)生成績(jī)2:"); </p><p> fflush(stdin); </p><p> scanf("%f",&stu[i].score2); </p><p> printf("\n輸入學(xué)生成績(jī)3:"); </p><p> fflush(stdin); &
126、lt;/p><p> scanf("%f",&stu[i].score3); </p><p> printf("\n\n"); </p><p><b> sort(); </b></p><p><b> break; </b></p&g
127、t;<p><b> } </b></p><p><b> } </b></p><p> system("cls"); </p><p><b> }</b></p><p> void read()
128、 /*讀出數(shù)據(jù)函數(shù)*/ </p><p><b> { </b></p><p> FILE *fp; </p><p><b> int i; </b></p><p> char filepath[20]; </p><p> printf(&qu
129、ot;輸入要讀入的文件路徑:"); </p><p> fflush(stdin); </p><p> gets(filepath); </p><p> if((fp=fopen("C:\\學(xué)生信息.txt","r"))==NULL) </p><p><b> { &l
130、t;/b></p><p> printf("找不到%s文件!\n",filepath); </p><p> system("pause"); </p><p><b> exit(0); </b></p><p><b> } </b><
131、;/p><p> now_no=0; </p><p> for(i=0;i<MAX&&!feof(fp);i++) </p><p><b> { </b></p><p> fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&s
132、tu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave); </p><p> now_no++; </p><p><b> } </b></p><p> fclose(fp); &
133、lt;/p><p> printf("保存的在文件%s中的所有信息已經(jīng)讀入!\n",filepath); </p><p> system("pause"); /*按任意鍵繼續(xù)*/ </p><p> system("cls"); </p&g
134、t;<p><b> }</b></p><p> void del_file() /*刪除文件函數(shù)*/ </p><p><b> { </b></p><p> FILE *fp; </p><p> char filepat
135、h[20]; </p><p> printf("輸入要?jiǎng)h除的文件路徑:"); </p><p> fflush(stdin); </p><p> gets(filepath); </p><p> fp=fopen("C:\\學(xué)生信息.txt","w"); </p&
136、gt;<p> fclose(fp); </p><p> printf("保存的在文件%s中的所有信息已經(jīng)刪除!\n",filepath); </p><p> system("pause"); </p><p> system("cls"); </p><p&g
137、t;<b> }</b></p><p><b> 6、個(gè)人體會(huì)</b></p><p> 經(jīng)過這幾天的C語(yǔ)言課程設(shè)計(jì),感覺自己收獲不少!</p><p> 其實(shí)這個(gè)程序?qū)ξ襾?lái)說還是有比較大的難度,其中鏈表的一些算法自己都不是很懂,這根平時(shí)沒有認(rèn)真聽講是有關(guān)的,所以導(dǎo)致在寫這個(gè)程序時(shí)總出現(xiàn)一下基本的錯(cuò)誤,這次課程設(shè)
138、計(jì)是對(duì)平時(shí)學(xué)習(xí)的一個(gè)考驗(yàn)和總結(jié),經(jīng)過了這個(gè)課程設(shè)計(jì)之后,我發(fā)現(xiàn)我很多都沒有做到,發(fā)現(xiàn)自己很多的不足,對(duì)定義理解不是很透徹,許多都是一知半解,還有就是缺乏鍛煉,找不到熟悉的感覺,總感覺是那么回事,但是一做就是出錯(cuò)。</p><p> 這次課程設(shè)計(jì)其中有些事通過借鑒同學(xué)的代碼,但是自己能夠看懂,但是僅僅看懂這些還不夠,自己應(yīng)該把別人的東西看懂看透,然后將它變?yōu)樽约旱臇|西,才會(huì)有用,因此當(dāng)看懂了之后,自己應(yīng)該嘗試著自
139、己寫這個(gè)程序,直到自己能夠?qū)⑺鼘懗鰜?lái)那才是真正的進(jìn)步和掌握。</p><p> 總的來(lái)說,課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)生來(lái)說掌握計(jì)算機(jī)開發(fā)技術(shù)是十分重要的,因此,要學(xué)好這門課程,掌握這門課程!</p>
140、<p><b> 致謝</b></p><p> 其實(shí)自己還是有很多不懂的地方,,經(jīng)過裴健和任士崢的講解之后才慢慢掌握,慢慢弄懂了,最后在經(jīng)過馬加慶老師的考察下,明白了論文的許多錯(cuò)誤,才糾正過來(lái)!因此比較感謝他們!</p><p> 感謝馬老師一直以來(lái)孜孜不倦的教誨,感謝老師無(wú)私的奉獻(xiàn),無(wú)悔的執(zhí)著,感謝同學(xué)們耐心的幫助。</p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)僅提供信息存儲(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語(yǔ)言程序設(shè)計(jì)__學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)報(bào)告-班級(jí)學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)
- c語(yǔ)言程序課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言程序課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- 程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)-c語(yǔ)言計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)-c語(yǔ)言可視化程序?qū)W生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì) ----學(xué)生成績(jī)管理系統(tǒng)實(shí)驗(yàn)報(bào)告
- c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生成績(jī)簡(jiǎn)單管理程序
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生成績(jī)簡(jiǎn)單管理程序
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論