

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 報(bào) 告 </b></p><p><b> 題目:學(xué)生管理系統(tǒng)</b></p><p><b> 題目:學(xué)生管理系統(tǒng)</b></p><p><b> 一、課
2、程設(shè)計(jì)目的</b></p><p> 掌握C語(yǔ)言的課程設(shè)計(jì)結(jié)構(gòu),語(yǔ)法規(guī)則,編程方法,達(dá)到獨(dú)立編程能力,為以后的學(xué)習(xí),設(shè)計(jì)大型應(yīng)用系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。</p><p><b> 二、課程設(shè)計(jì)內(nèi)容</b></p><p> 通過結(jié)構(gòu)體、數(shù)組、文件等的應(yīng)用,設(shè)計(jì)了一個(gè)小型的學(xué)生管理系統(tǒng)。</p><p>&l
3、t;b> 三、需求分析</b></p><p> 該學(xué)生管理系統(tǒng),具有最基本的功能:</p><p> 1:通過輸入和存儲(chǔ)學(xué)號(hào)、姓名、年齡、性別、出生日期、民族、籍貫、電話、QQ;</p><p> 2:將輸入信息輸出;</p><p> 3:通過輸入姓名或?qū)W號(hào)查詢出所要的信息;</p><p&
4、gt;<b> 4:添加同學(xué)信息;</b></p><p> 5;輸入想要修改的同學(xué)的姓名、籍貫、電話、QQ,可以將任一學(xué)生信息修改;</p><p> 6:通過輸入要?jiǎng)h除同學(xué)的學(xué)號(hào)或姓名,可刪除此同學(xué)的全部信息;</p><p> 7:可按照學(xué)號(hào)或出生日期對(duì)學(xué)生信息進(jìn)行排序;</p><p> 8:可統(tǒng)計(jì)該班
5、的男女生人數(shù)或各年齡段人數(shù)。</p><p><b> 四、概要設(shè)計(jì)</b></p><p><b> 1)、系統(tǒng)結(jié)構(gòu)圖</b></p><p> 對(duì)系統(tǒng)進(jìn)行分析,給出結(jié)構(gòu)圖</p><p><b> 2)模塊功能簡(jiǎn)介:</b></p><p>
6、 輸入模塊:輸入要存儲(chǔ)的信息,最多只能存入36個(gè)信息。</p><p> 輸出模塊:輸出已經(jīng)輸入的信息。</p><p> 添加模塊:添加一些信息到存儲(chǔ)系統(tǒng)。</p><p> 修改模塊:將已存儲(chǔ)的姓名、籍貫、電話、QQ這些信息進(jìn)行修改。</p><p><b> 5、查詢模塊:</b></p>
7、<p> (1)按姓名查詢函數(shù):通過輸入姓名,若該姓名在存儲(chǔ)信息中,則將輸出關(guān)于此人的所有信息,若不存在,則告訴沒有關(guān)于此人的信息;</p><p> (2)按學(xué)號(hào)查詢函數(shù):輸入學(xué)號(hào)在存儲(chǔ)信息中,則輸出關(guān)于該學(xué)號(hào)的所有信息,若無(wú),則告知沒有關(guān)于此學(xué)號(hào)的信息;</p><p> (3)返回主菜單:返回系統(tǒng)主菜單。</p><p><b>
8、6、刪除模塊:</b></p><p> (1)按學(xué)號(hào)刪除:通過輸入學(xué)號(hào)將該生信息全部刪除,若無(wú)該生信息,則告知無(wú)關(guān)于此學(xué)號(hào)的學(xué)生信息;</p><p> (2)按姓名刪除:通過輸入姓名將該生信息全部刪除,若無(wú)該生信息,則告知無(wú)關(guān)于此姓名的學(xué)生信息;</p><p> (3)返回主菜單:返回系統(tǒng)主菜單。</p><p>&l
9、t;b> 7:統(tǒng)計(jì)模塊:</b></p><p> (1)統(tǒng)計(jì)性別:統(tǒng)計(jì)出該班男女生人數(shù);</p><p> (2)統(tǒng)計(jì)年齡:統(tǒng)計(jì)17歲以下,17--18歲,18—19歲,19—20歲,20歲以上各年齡段的學(xué)生人數(shù);</p><p> (3)返回主菜單:返回系統(tǒng)主菜單。</p><p> 五.詳細(xì)設(shè)計(jì)及運(yùn)行結(jié)果&l
10、t;/p><p> 主函數(shù): </p><p> 1 2 3 0</p><p> 六.調(diào)試情況,設(shè)計(jì)技巧及體會(huì)</p><p> 這次C語(yǔ)言的實(shí)習(xí),自己最大的感受是無(wú)知.知
11、識(shí)總是在用的時(shí)候才知道匱乏,以前覺得自己C語(yǔ)言考試過了,就是合格了,對(duì)自己要求太低,以至于這次實(shí)習(xí)遇到很大的麻煩.</p><p> 這個(gè)程序是我按照書上例題程序模仿編寫的,當(dāng)程序?qū)懲旰?,運(yùn)行時(shí)發(fā)現(xiàn)有許多錯(cuò)誤,我請(qǐng)教老師和同學(xué),對(duì)程序進(jìn)行了耐心細(xì)致的修改,經(jīng)過一番努力,程序里的錯(cuò)誤終于被全部糾正了。但程序沒有錯(cuò)誤不代表它能正常運(yùn)行,</p><p> 基礎(chǔ)知識(shí)不夠扎實(shí)是我最大的問題,對(duì)
12、很多知識(shí)點(diǎn)是只知其一,不知其二,或是只知其然而不知其所以然,C語(yǔ)言程序的編寫和運(yùn)行是非常具有科學(xué)性的,沒有正確掌握C語(yǔ)言編寫的風(fēng)格和規(guī)則,要編譯成功較為復(fù)雜的程序真的是困難重重.正所謂”無(wú)以規(guī)矩,不成方圓”,對(duì)待科學(xué)文化知識(shí)沒有一個(gè)嚴(yán)謹(jǐn)求實(shí)的態(tài)度,只能讓自己在在成功路上舉步為艱.</p><p> 但一份耕耘一份收獲,兩個(gè)星期的C語(yǔ)言實(shí)習(xí),我又重新拾起了漸以模糊的C語(yǔ)言知識(shí)和概念,通過上機(jī)調(diào)試程序,不但熟悉了C
13、語(yǔ)言的一些基本知識(shí),而且熟練了上機(jī)實(shí)踐,通過實(shí)踐,又掌握了一些在書本上學(xué)不到的解決實(shí)際問題的方法,此外,也將學(xué)過的計(jì)算機(jī)基礎(chǔ)知識(shí)做了一次復(fù)習(xí),這次實(shí)習(xí)確實(shí)是一次非常珍貴的實(shí)習(xí).我明確了以后的方向和目標(biāo),再也不會(huì)荒廢時(shí)間了.</p><p><b> 七.參考文獻(xiàn)</b></p><p> C語(yǔ)言程序設(shè)計(jì)(第二版) 王曙燕/主編</p>&l
14、t;p><b> 八.附錄</b></p><p><b> 源代碼</b></p><p> #include "stdio.h"</p><p> #include "string.h"</p><p> #include "st
15、dlib.h"</p><p> #include "conio.h"</p><p> #define MAX 36</p><p> #define PAGE 2</p><p> #define print1 printf("-------------------------------
16、-----------------------------------------------\n");</p><p> #define print2 printf("學(xué)號(hào)----姓名----年齡----性別----出生日期----民族---籍貫-----電話--------QQ------ \n");</p><p> #define prin
17、t3 printf("%3d %8s %5d %7s %7d-%2d-%2d %7s%7s %12s %10s \n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].borntime.year,stu[i].borntime.month,stu[i].borntime.day,stu[i].minzu,stu[i].jiguan,stu[i].tel,stu
18、[i].QQ);</p><p> int sum; /*用來記錄學(xué)生數(shù)目*/</p><p> /*日期結(jié)構(gòu)體類型*/</p><p> struct date </p><p><b> {</b></p><p><b> int year;</b>&
19、lt;/p><p> int month;</p><p><b> int day;</b></p><p><b> };</b></p><p> /*學(xué)生信息結(jié)構(gòu)體類型*/</p><p> struct stud_type</p><p&g
20、t;<b> {</b></p><p><b> int num;</b></p><p> char name[20];</p><p><b> int age;</b></p><p> char sex[10]; </p><p&g
21、t; struct date borntime;</p><p> char minzu[5];</p><p> char jiguan[10];</p><p> char tel[10];</p><p> char QQ[10];</p><p> }stu[MAX];/*存放MAX個(gè)學(xué)生信息記錄的
22、結(jié)構(gòu)體數(shù)組*/</p><p><b> /*函數(shù)聲明*/</b></p><p> int input_message();</p><p> void output_message();</p><p> int add_message();</p><p> int delet_b
23、y_name();</p><p> int delet_by_num();</p><p> int renew_message();</p><p> int inquire_name();</p><p> int inquire_num();</p><p> int inquire_message(
24、); </p><p> int count_sex();</p><p> int count_age();</p><p> int count_message();</p><p> int sort_num();</p><p> int sort_borntime();</p><
25、;p> int sort_message();</p><p> int read_message();</p><p><b> /*保存信息*/</b></p><p> save_message(int sum)</p><p><b> {</b></p>&l
26、t;p> FILE *fp;/*定義文件指針*/</p><p><b> int i;</b></p><p> if((fp=fopen("student.txt","wb"))==NULL)</p><p> { printf("讀文件錯(cuò)誤!\n");</p
27、><p> return 0; </p><p><b> }</b></p><p> for(i=0;i<sum;i++)</p><p> if(fwrite(&stu[i],sizeof(struct stud_type),1,fp)!=1)</p><p> prin
28、tf("寫文件錯(cuò)誤!\n");</p><p> fclose(fp);</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*主函數(shù)*/</b></p><p&
29、gt;<b> main()</b></p><p><b> {</b></p><p> int choice;</p><p> sum=read_message();</p><p><b> do</b></p><p><
30、b> {</b></p><p> printf("\n\n\n ***********學(xué)生通訊錄信息管理系統(tǒng)***********\n\n");</p><p> printf(" 1.錄入學(xué)生信息\n\n");</p><p> printf(&quo
31、t; 2.瀏覽學(xué)生信息\n\n");</p><p> printf(" 3.更新學(xué)生信息\n\n");</p><p> printf(" 4.學(xué)生信息的排序\n\n");</p><
32、p> printf(" 5.查詢學(xué)生信息\n\n");</p><p> printf(" 6.統(tǒng)計(jì)學(xué)生信息\n\n");</p><p> printf(" 0.退出系統(tǒng)\n\n");&
33、lt;/p><p> printf(" 請(qǐng)選擇(0--6):\n\n\n");</p><p> printf(" -----------------------------------------------------");</p><p> sca
34、nf("%d",&choice);</p><p> switch(choice)</p><p> { case 1: input_message();break;</p><p> case 2: output_message();break;</p><p> case 3: renew_messag
35、e();break;</p><p> case 4: sort_message();break;</p><p> case 5: inquire_message();break;</p><p> case 6: count_message();break;</p><p> case 0: break;</p>&
36、lt;p><b> } </b></p><p> }while(choice!=0);</p><p> save_message(sum);</p><p> printf("\n--以上學(xué)生信息已保存!--(文件名:student.txt)\n");</p><p><b&g
37、t; return 0;</b></p><p><b> }</b></p><p><b> /*輸入模塊*/</b></p><p> input_message()</p><p> { int i=0,s=MAX;</p><p> prin
38、tf("\n\n 錄入學(xué)生信息 (最多%d個(gè))\n",s);</p><p> printf(" ---------------------------------\n");</p><p><b> do</b></p><p> { printf(
39、"\n 第%d個(gè)學(xué)生",i+1);</p><p> printf("\n 學(xué)號(hào):");</p><p> scanf("%d",&stu[i].num);</p><p> if(stu[i].num==0) break;</p>
40、<p> printf(" 姓名:");</p><p> scanf("%s",stu[i].name);</p><p> printf(" 年齡:");</p><p> scanf("%d",&stu
41、[i].age);</p><p> printf(" 性別:");</p><p> scanf("%s",stu[i].sex);</p><p> printf(" 出生日期(yyyy-mm-dd):");</p><p&g
42、t; scanf("%d-%d-%d",&stu[i].borntime.year,&stu[i].borntime.month,&stu[i].borntime.day);</p><p> printf(" 民族:");</p><p> scanf("%s",stu[i
43、].minzu);</p><p> printf(" 籍貫:");</p><p> scanf("%s",stu[i].jiguan);</p><p> printf(" 電話:");</p><p> scanf(&
44、quot;%s",stu[i].tel);</p><p> printf(" QQ:");</p><p> scanf("%s",stu[i].QQ);</p><p><b> i++;</b></p><p> }while(i&
45、lt;MAX);</p><p> printf("\n --%d個(gè)學(xué)生信息輸入完畢!--\n",i);</p><p><b> sum=i;</b></p><p> printf("\n 按任意鍵返回主菜單!");</p><p&
46、gt;<b> return 0;</b></p><p><b> }</b></p><p><b> /*讀取信息*/</b></p><p> int read_message()</p><p> { FILE *fp;</p><p&g
47、t;<b> int i=0;</b></p><p> if((fp=fopen("student.txt","rb"))==NULL)/*打開文件*/</p><p><b> { </b></p><p> printf("\n\n*****暫時(shí)還沒有任何庫(kù)存
48、信息,按任意鍵進(jìn)入主菜單選擇基本信息的錄入!****\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p> while(!feof(fp))</p><p><b> { </b></p&
49、gt;<p> fread(&stu[i],sizeof(struct stud_type),1,fp);</p><p> if(stu[i].num==0) break;</p><p><b> else i++;</b></p><p><b> }</b></p>&l
50、t;p> fclose(fp);/*關(guān)閉文件*/</p><p> return(i);</p><p><b> }</b></p><p> /*學(xué)生信息瀏覽*/</p><p> void output_message()</p><p><b> { int i
51、;</b></p><p> printf("\n\n ****學(xué)生信息表**** \n\n");</p><p><b> print1;</b></p><p><b> print2;</b></p><p>
52、; for(i=0;i<sum;i++)</p><p><b> print3;</b></p><p><b> }</b></p><p> /*添加學(xué)生信息*/</p><p> add_message()</p><p> { int i=sum,
53、flag=0;</p><p> char choice,ch;</p><p> printf("\n\n 添加一名學(xué)生的信息\n");</p><p> printf(" ------------------\n");</p><p><b&g
54、t; do</b></p><p> { stu[i].num=++sum;</p><p> printf("\n 學(xué)號(hào):");</p><p> scanf("%d",&stu[i].num);</p><p> printf("\n
55、 姓名:");</p><p> scanf("%s",stu[i].name);</p><p> printf("\n 年齡:");</p><p> scanf("%d",&stu[i].age);</p><p>
56、; printf("\n 性別:");</p><p> scanf("%s",stu[i].sex);</p><p> printf("\n 出生日期(yyyy-mm-dd):");</p><p> scanf("%d-%d-%d"
57、;,&stu[i].borntime.year,</p><p> &stu[i].borntime.month,</p><p> &stu[i].borntime.day);</p><p> printf("\n 民族:");</p><p> scanf(&qu
58、ot;%s",stu[i].minzu);</p><p> printf("\n 籍貫:");</p><p> scanf("%s",stu[i].jiguan);</p><p> printf("\n 電話:");</p>&
59、lt;p> scanf("%s",stu[i].tel);</p><p> printf("\n QQ:");</p><p> scanf("%s",stu[i].QQ);</p><p> printf("\n 要繼續(xù)嗎? (Y/N)
60、");</p><p> ch=getchar();</p><p> choice=getchar();</p><p><b> i++;</b></p><p> if(choice=='y'||choice=='Y')</p><p>
61、{ printf("\n 繼續(xù)!\n");</p><p><b> flag=1;</b></p><p><b> }</b></p><p> else flag=0;</p><p> }while(flag==1);</p>&
62、lt;p> printf("\n 按任意鍵返回主菜單!");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*按姓名刪除*/</b></p><p
63、> int delet_by_name() </p><p> { int i=0,k,flag;char ch,delet_name[20]; </p><p> char choice;</p><p><b> do</b></p><p> { printf(
64、"\n 輸入要?jiǎng)h除的學(xué)生姓名:");</p><p> scanf("%s",delet_name);</p><p> for(i=0;i<MAX;i++)</p><p> { if(strcmp(stu[i].name,delet_name)==0)</p&g
65、t;<p><b> { </b></p><p><b> k=i;</b></p><p> for(k=i;k<MAX-1;k++)</p><p> stu[k]=stu[k+1];</p><p> sum=MAX-1;</p>&l
66、t;p><b> }</b></p><p> if(i==MAX)</p><p> { printf("\n 無(wú)該學(xué)生的信息!");</p><p><b> return 0;</b></p><p><b>
67、}</b></p><p><b> }</b></p><p> printf("\n\n 要繼續(xù)刪除嗎?(Y/N)");</p><p> ch=getchar();choice=getchar();</p><p> if(choice==
68、'Y'||choice=='y')</p><p><b> {</b></p><p><b> flag=1;</b></p><p> printf("\n 繼續(xù)!\n");</p><p><b
69、> }</b></p><p> else flag=0;</p><p> }while(flag==1);</p><p> printf("\n 刪除完畢!");</p><p><b> return 0;</b>&l
70、t;/p><p> } </p><p> int delet_by_num()</p><p> /*按學(xué)號(hào)刪除*/ </p><p> { int i,j,delet_num,flag,b=0; </p>&l
71、t;p><b> char ch;</b></p><p> char choice;</p><p><b> do</b></p><p> { printf(" 輸出要?jiǎng)h除的學(xué)生學(xué)號(hào):");</p><p> scanf("%d
72、",&delet_num);</p><p> for(i=0;i<sum;i++)</p><p><b> {</b></p><p> if(stu[i].num==delet_num&&stu[i].num!=0)</p><p> {for(j=i;j<su
73、m;j++)</p><p> {stu[j]=stu[j+1];}</p><p><b> sum--;</b></p><p><b> break;</b></p><p><b> }</b></p><p> else b++;&
74、lt;/p><p><b> }</b></p><p><b> print1;</b></p><p><b> print2;</b></p><p> for(i=0;i<sum;i++)</p><p><b> { pr
75、int3;</b></p><p> printf("\n");</p><p><b> }</b></p><p> if(sum==b)</p><p><b> {</b></p><p> printf("\n
76、 無(wú)該學(xué)生的信息!");</p><p><b> return 0;</b></p><p><b> }</b></p><p> printf("\n\n 要繼續(xù)刪除嗎?(Y/N)");</p><p&g
77、t; ch=getchar();</p><p> choice=getchar();</p><p> if(choice=='Y'||choice=='y')</p><p><b> { </b></p><p><b> flag=1;</b><
78、;/p><p> printf("\n 繼續(xù)!\n"); </p><p><b> }</b></p><p> else flag=0;</p><p> }while(flag==1);</p><p> printf(&quo
79、t;\n 刪除完畢!");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*刪除模塊*/</b></p><p> int delet_messag
80、e()</p><p> { int choice;</p><p><b> do</b></p><p> { printf(" --------- 刪除學(xué)生信息 ---------\n\n\n");</p><p> printf("\n 1.按
81、學(xué)生姓名刪除\n\n");</p><p> printf(" 2.按學(xué)生學(xué)號(hào)刪除\n\n");</p><p> printf(" 0.返回主菜單\n\n");</p><p> printf(" 請(qǐng)選擇(0-2)\n\n;"
82、;);</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> { case 1: delet_by_name();break;</p><p> case 2: delet_by_num();break;</p><
83、p> case 0: break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p> save_message(sum);</p><p><b> return 0;</b></p><p>&l
84、t;b> }</b></p><p><b> /*修改模塊*/</b></p><p> revise_message()</p><p> { int i=0,choice,revise_num,flag;</p><p><b> do</b></p>
85、<p> { printf("\n 請(qǐng)輸入要修改的學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&revise_num);</p><p> for(i=0;i<sum;i++)</p><p> if(stu[i].num==revise_num)&l
86、t;/p><p> { printf("\n ---學(xué)生信息---\n");</p><p><b> print1;</b></p><p><b> print2;</b></p><p><b> print3;</b>&
87、lt;/p><p> printf("\n 您要修改哪一項(xiàng)?\n");</p><p> printf("\n 1.姓名\n");</p><p> printf("\n 2.籍貫\n");<
88、/p><p> printf("\n 3.電話\n");</p><p> printf("\n 4.QQ\n");</p><p> printf("\n 請(qǐng)選擇(1-4):");</
89、p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> {case 1:printf("\n 輸入修改后的姓名:");</p><p> scanf("%s",stu[i].
90、name); break;</p><p> case 2:printf("\n 輸入修改后的籍貫:");</p><p> scanf("%s",stu[i].jiguan); break;</p><p> case 3:printf("\n
91、輸入修改后的電話:");</p><p> scanf("%s",stu[i].tel); break;</p><p> case 4:printf("\n 輸入修改后的QQ:");</p><p> scanf("%s",stu[i].QQ); break
92、;</p><p><b> }</b></p><p><b> print1;</b></p><p><b> print2;</b></p><p><b> print3;</b></p><p><b>
93、; break;</b></p><p><b> }</b></p><p> if(i==sum)</p><p> { printf("\n 該學(xué)生不存在!");</p><p><b> return 0;</b></p&
94、gt;<p><b> }</b></p><p> printf("\n\n 繼續(xù)修改嗎?(Y/N)");</p><p> choice=getchar();</p><p> if(choice=='Y'||choice=='y')</
95、p><p><b> {flag=1;</b></p><p> printf("\n 繼續(xù)!\n");</p><p><b> }</b></p><p> else flag=0;</p><p> }while(fl
96、ag==1);</p><p> printf("\n 按任意鍵返回主菜單!");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*更新模塊*/</b&g
97、t;</p><p> renew_message()</p><p> { int choice;</p><p><b> do</b></p><p> { printf("\n\n\n **********更新學(xué)生信息**********\n\n");</p
98、><p> printf(" 1.添加學(xué)生信息\n\n");</p><p> printf(" 2.刪除學(xué)生信息\n\n");</p><p> printf("
99、 3.修改學(xué)生信息\n\n");</p><p> printf(" 0.返回主菜單\n\n");</p><p> printf(" 請(qǐng)選擇(0-3):");</p><p> scanf(&q
100、uot;%d",&choice);</p><p> switch(choice)</p><p> {case 1:add_message();break;</p><p> case 2:delet_message();break;</p><p> case 3:revise_message();break;&
101、lt;/p><p> case 0:break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> return 0;</b></p><p><b> }</b></p&
102、gt;<p><b> /*按姓名查詢*/</b></p><p> inquire_name() </p><p><b> { </b></p><p><b> int i;</b></p><p> char inquire_
103、name[10];</p><p> printf("\n 輸入要查詢的學(xué)生姓名:");</p><p> scanf("%s",inquire_name);</p><p> for(i=0;i<sum;i++)</p><p> if(strcmp(stu[i]
104、.name,inquire_name)==0&&stu[i].num!=0)</p><p> { printf("\n ---%s學(xué)生信息---",stu[i].name);</p><p><b> print1;</b></p><p><b> print2;<
105、/b></p><p><b> print3;</b></p><p><b> }</b></p><p> if(i==sum) </p><p> printf("\n 該學(xué)生信息不存在!");</p><p>
106、<b> return 0;</b></p><p><b> }</b></p><p> inquire_num() /*按學(xué)號(hào)查詢*/</p><p><b> { </b></p><p> int i,j=0;</p>
107、<p> long inquire_num;</p><p> printf("\n 請(qǐng)輸入要查詢的學(xué)生學(xué)號(hào):");</p><p> scanf("%ld",&inquire_num);</p><p> for(i=0;i<sum;i++)</p><
108、;p> if(stu[i].num==inquire_num&&stu[i].num!=0)</p><p><b> {</b></p><p> printf("\n ---%d學(xué)生信息 ---\n",stu[i].num);</p><p><b>
109、print1;</b></p><p><b> print2;</b></p><p><b> print3;</b></p><p><b> }</b></p><p><b> else j++;</b></p>
110、<p> if(j==sum)</p><p> printf("\n\n 該學(xué)生信息不存在!");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*查詢模塊*/
111、</b></p><p> inquire_message()</p><p> { int choice;</p><p><b> do</b></p><p> { printf("\n\n\n **********查詢學(xué)生信息**********\n\n");
112、</p><p> printf(" 1.按學(xué)生姓名查詢\n\n");</p><p> printf(" 2.按學(xué)生學(xué)號(hào)查詢\n\n");</p><p> printf(" 0.返回主菜單
113、\n\n");</p><p> printf(" 請(qǐng)選擇(0-2):");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> {case 1:inquire_
114、name();break;</p><p> case 2:inquire_num();break;</p><p> case 0:break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> retur
115、n 0;</b></p><p><b> }</b></p><p> count_sex() /*統(tǒng)計(jì)性別*/</p><p> { int i,cnt=0;</p><p> for(i=0;i<sum;i++)</p><p> if(strcmp(stu[i
116、].sex,"男")==0) </p><p><b> cnt++;</b></p><p> printf("\n\n該班的男生人數(shù):%d",cnt);</p><p> printf("\n\n該班的女生人數(shù):%d",sum-cnt );</p><p&
117、gt;<b> return 0;</b></p><p><b> }</b></p><p> count_age() /*統(tǒng)計(jì)年齡*/</p><p> { int i,a=0,b=0,c=0,d=0,e=0;</p><p> for(i=0;i<sum;i++)</
118、p><p> { if(stu[i].age<=17) a++;</p><p> else if(stu[i].age>17&&stu[i].age<=18) b++;</p><p> else if(stu[i].age>18&&stu[i].age<=19) c++;</p>&l
119、t;p> else if(stu[i].age>19&&stu[i].age<=20) d++;</p><p> else if(stu[i].age>20) e++;</p><p><b> }</b></p><p> printf("\n該班17歲以下(包含17)的人數(shù):%d&
120、quot;,a);</p><p> printf("\n該班17-18歲(包含18)的人數(shù):%d",b);</p><p> printf("\n該班18-19歲(包含19)的人數(shù):%d",c);</p><p> printf("\n該班19-20歲(包含20)的人數(shù):%d",d);</p&
121、gt;<p> printf("\n該班20歲以上的人數(shù):%d",e);</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*統(tǒng)計(jì)模塊*/</b></p><p>
122、 count_message()</p><p> { int choice;</p><p><b> do</b></p><p> { printf("\n\n\n **********統(tǒng)計(jì)學(xué)生信息**********\n\n");</p><p> printf("
123、; 1.統(tǒng)計(jì)學(xué)生的性別\n\n");</p><p> printf(" 2.統(tǒng)計(jì)學(xué)生的年齡\n\n");</p><p> printf(" 0.返回主菜單\n\n");</p><p>
124、printf(" 請(qǐng)選擇(0-2):");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> {case 1: count_sex(); break;</p><p>
125、 case 2: count_age(); break;</p><p> case 0: break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> return 0;</b></p><p&g
126、t;<b> }</b></p><p> /*按學(xué)號(hào)排序*/ </p><p> sort_num()
127、 </p><p> { int i,j;</p><p> struct stud_type t;</p&g
128、t;<p> for(i=0;i<sum-1;i++) </p><p> for(j=i+1;j<sum;j++)
129、 </p><p> if(stu[i].num>stu[j].num) </p><p> {t=stu[i];</p><p> stu[i]=stu[j];</p><p><b> stu[j]=t;</b></p><
130、p><b> }</b></p><p> printf("\n\n\n按學(xué)號(hào)排序后的的順序:\n\n");</p><p><b> print1;</b></p><p><b> print2;</b></p><p> for(i=0
131、;i<sum;i++) </p><p><b> print3;</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> /*按出生日期排序*/<
132、;/p><p> sort_borntime() </p><p> { int i,j; </p><p> struct stud_type t;</p><p> for(i=0;i<sum-1;i++)
133、 </p><p> for(j=i+1;j<sum;j++)</p><p> if(stu[i].borntime.year>stu[j].borntime.year)</p><p> { t=stu[i];</p><p> stu[i]=stu[j];</p>&l
134、t;p><b> stu[j]=t;</b></p><p><b> }</b></p><p> else if(stu[i].borntime.year==stu[j].borntime.year)</p><p> if(stu[i].borntime.month>stu[j].borntime
135、.month)</p><p> { t=stu[i];</p><p> stu[i]=stu[j];</p><p><b> stu[j]=t;</b></p><p><b> }</b></p><p> else if(stu[i].borntime.m
136、onth==stu[j].borntime.month)</p><p> if(stu[i].borntime.day>stu[j].borntime.day)</p><p> { t=stu[i];</p><p> stu[i]=stu[j];</p><p><b> stu[j]=t;</b>&
137、lt;/p><p><b> }</b></p><p> printf("\n\n\n按出生日期排序后的順序:");</p><p><b> print1;</b></p><p><b> print2;</b></p><p&
138、gt; for(i=0;i<sum;i++)</p><p><b> print3;</b></p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*排序模塊*/</b>&
139、lt;/p><p> sort_message()</p><p> { int choice;</p><p><b> do</b></p><p> { printf("\n\n\n **********學(xué)生排行信息**********\n\n");</p>&l
140、t;p> printf(" 1.按學(xué)號(hào)排行\(zhòng)n\n");</p><p> printf(" 2.按出生日期排行\(zhòng)n\n");</p><p> printf(" 0.返回主菜單\n\n&qu
141、ot;);</p><p> printf(" 請(qǐng)選擇(0-2):");</p><p> scanf("%d",&choice);</p><p> switch(choice)</p><p> {case 1: sort_num()
142、; break;</p><p> case 2: sort_borntime(); break;</p><p> case 0: break;</p><p><b> }</b></p><p> }while(choice!=0);</p><p><b> retur
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)9
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)9
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- net課程設(shè)計(jì)---學(xué)生管理系統(tǒng)
- 《學(xué)生管理系統(tǒng)》課程設(shè)計(jì)報(bào)告
- mis課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 學(xué)生考勤管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 課程設(shè)計(jì)--學(xué)生書店管理系統(tǒng)
- vb學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 課程設(shè)計(jì)---簡(jiǎn)單學(xué)生管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論