版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語(yǔ)言課程設(shè)計(jì)報(bào)告</b></p><p> 題 目: 宿舍管理系統(tǒng)</p><p> 院系名稱: 計(jì) 算 機(jī) 學(xué) 院</p><p> 專業(yè)名稱: 網(wǎng) 絡(luò) 工 程</p><p> 班 級(jí): </p>
2、<p> 學(xué)生姓名: </p><p> 學(xué)號(hào)(8位): </p><p><b> 指導(dǎo)教師:</b></p><p> 設(shè)計(jì)起止時(shí)間:2011年6月13日~2011年6月22日</p><p><b> 課程設(shè)計(jì)目的</b><
3、;/p><p> 1..通過(guò)本次課程設(shè)計(jì),強(qiáng)化上級(jí)動(dòng)手能力,在理論和實(shí)踐的基礎(chǔ)上進(jìn)一步鞏固 《C語(yǔ)言程序設(shè)計(jì)》課程的學(xué)習(xí)內(nèi)容,掌握工程軟件設(shè)計(jì)的基本方法。</p><p> 2.熟悉C語(yǔ)言的基本內(nèi)容從而掌握C語(yǔ)言的基本知識(shí)以及了解C程序的基本編寫及運(yùn)行;</p><p> 3.了解程序的分模塊編寫并對(duì)程序的每個(gè)模塊進(jìn)行詳細(xì)的設(shè)計(jì)并且能理解一般C語(yǔ)言編寫的程序。&l
4、t;/p><p> 4..熟悉C程序設(shè)計(jì)的開發(fā)環(huán)境及C程序的調(diào)試過(guò)程。</p><p><b> 二、課程設(shè)計(jì)內(nèi)容</b></p><p> 用所學(xué)過(guò)的C語(yǔ)言知識(shí)(文件,結(jié)構(gòu)體,函數(shù),數(shù)組等)編寫一個(gè)學(xué)身份學(xué)籍管理系統(tǒng)。使其有以下功能。</p><p> 1.通過(guò)鍵盤輸入某些學(xué)生的學(xué)生學(xué)籍管理信息。(包含學(xué)生學(xué)號(hào)、姓
5、名、性別、年齡、出生年月、住址、班級(jí)、專業(yè)、院系等信息)。</p><p> 2.輸入給定學(xué)號(hào),顯示出某位學(xué)生的學(xué)生學(xué)籍管理信息。</p><p> 3.顯示出全部學(xué)生的學(xué)生學(xué)籍管理信息。</p><p> 4.可將某學(xué)生信息添加到文件內(nèi)。</p><p> 5.給定某位學(xué)生的學(xué)號(hào),修改該學(xué)生信息。</p><p&
6、gt; 6.給定某位學(xué)生的學(xué)號(hào),刪除該學(xué)生信息。</p><p> 7.給定某個(gè)班級(jí)號(hào),統(tǒng)計(jì)該班級(jí)的總?cè)藬?shù)。</p><p> 8.按照學(xué)生的學(xué)號(hào)升序?qū)W(xué)生信息進(jìn)行排序。</p><p> 9.用文件的方式將錄入的數(shù)據(jù)進(jìn)行存儲(chǔ),并從其中讀取數(shù)據(jù)。</p><p><b> 三、概要設(shè)計(jì)</b></p>
7、;<p><b> 功能模塊圖:</b></p><p> 各模塊詳細(xì)的功能描述:</p><p> A.輸入模塊:調(diào)用input( )函數(shù)將學(xué)生宿舍信息依次輸入到結(jié)構(gòu)體數(shù)組中,結(jié)束后將保存在制定文件中,在其他模塊的函數(shù)中可以隨時(shí)進(jìn)行調(diào)用,結(jié)束后可以將修改后的學(xué)生宿舍信息再一次保存。</p><p> B.添加模塊:如果要
8、添加新入住學(xué)生信息可以調(diào)用append函數(shù)將新生信息插入到原有信息的末尾,在保存到文件中。</p><p> C.修改模塊:修改可以通過(guò)輸入要修改的學(xué)生的學(xué)號(hào),對(duì)學(xué)生的個(gè)人信息利用switch選擇要修改的內(nèi)容.修改完畢后,保存到所設(shè)定的文件中去。</p><p> D.刪除模塊:刪除可以通過(guò)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào),對(duì)學(xué)生的所有個(gè)人信息進(jìn)行刪除.刪除完畢之后保存到文件中去。</p&g
9、t;<p> E.查詢模塊:選擇輸入要查詢學(xué)生的學(xué)號(hào),并將查詢的信息顯示在屏幕上。</p><p> F.統(tǒng)計(jì)模塊:輸入要統(tǒng)計(jì)人數(shù)的班級(jí)號(hào),然后輸出此班的總?cè)藬?shù)。</p><p> G.排序模塊:按學(xué)生學(xué)號(hào)用冒泡法升序排出學(xué)生的信息。</p><p> H.打印模塊:輸出當(dāng)前文件中所有的學(xué)生住宿信息。</p><p>&
10、lt;b> 詳細(xì)設(shè)計(jì):</b></p><p><b> 1.流程圖:</b></p><p><b> 2.重點(diǎn)設(shè)計(jì):</b></p><p> int read_file(STUDENTS students[]) </p>&l
11、t;p> { FILE *fp;</p><p><b> int i=0;</b></p><p> if((fp=fopen("stu.txt","rt"))==NULL)</p><p> { printf("\n\n*****庫(kù)存文件不存在!請(qǐng)創(chuàng)建");
12、 /*創(chuàng)建文件*/</p><p><b> return 0;</b></p><p><b> }</b></p><p> while((fread(&students[i],sizeof(STUDENTS),1,fp))==1) /*成功創(chuàng)建*/&
13、lt;/p><p><b> {</b></p><p><b> i++;</b></p><p><b> }</b></p><p> fclose(fp);</p><p><b> return i;</b><
14、/p><p><b> }</b></p><p> void save_file(STUDENTS students[],int sum) /*保存信息*/</p><p> { FILE *fp;</p><p><b> int i;</b></p>
15、<p> if((fp=fopen("stu.txt","wb"))==NULL)</p><p> { printf("讀文件錯(cuò)誤!\n");</p><p><b> return;</b></p><p><b> }</b></
16、p><p> 五.測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果:</p><p><b> 三組正常數(shù)據(jù):</b></p><p><b> 1.</b></p><p> 2.異常測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果:</p><p><b> 1.</b></p><
17、p><b> 2.</b></p><p> 六、調(diào)試情況,設(shè)計(jì)技巧及體會(huì):</p><p> 1. 設(shè)計(jì)過(guò)程中的體會(huì):在剛開始還沒有大體思路,覺得設(shè)計(jì)不簡(jiǎn)單。但當(dāng)總體構(gòu)思完成后,對(duì)各個(gè)功能的實(shí)現(xiàn)可以用小程序即模塊形式進(jìn)行實(shí)現(xiàn),比如輸入數(shù)據(jù),輸出數(shù)據(jù),修改數(shù)據(jù),刪除數(shù)據(jù)等.在一個(gè)個(gè)小程序中調(diào)試,最后各個(gè)模塊的功能完成比較好后,在將所有的模塊都放進(jìn)main(
18、)主函數(shù)中進(jìn)行調(diào)試,這樣可以避免由整體構(gòu)思調(diào)試引起的調(diào)試障礙.但還是沒有得到完美的效果,有的模塊還是有問(wèn)題。而且程序上看沒什么問(wèn)題???老師也幫了不少的忙吧。在此寫過(guò)老師的幫助。</p><p> 2.在調(diào)試過(guò)程中,F(xiàn)5,F10,F11,有了更深的認(rèn)識(shí),并且可以更靈活的運(yùn)用。</p><p> 在編寫程序的過(guò)程中,有些邏輯不是很清楚,但大部分程序模塊還是寫出來(lái)了。</p>
19、<p> 那些不清楚的就是文件方面的知識(shí),以后要好好研究下文件了??傮w來(lái)說(shuō),</p><p> 這次課程設(shè)計(jì)對(duì)C語(yǔ)言方面的知識(shí)又重新復(fù)習(xí)了一遍,感覺還行。</p><p> 3.還有就是原先有想過(guò)用密碼,構(gòu)思是想實(shí)現(xiàn)一個(gè)帳號(hào)密碼配對(duì)使用的方法,但是由于文件的使用不熟練,最后還是以失敗告終。同時(shí)程序只能在當(dāng)前登錄過(guò)程中輸入進(jìn)入系統(tǒng),有較大的局限性。</p>&l
20、t;p><b> 七、參考文獻(xiàn)</b></p><p> 《C語(yǔ)言程序設(shè)計(jì)》 譚浩強(qiáng) 清華大學(xué)出版社 1999年12月</p><p> C語(yǔ)言程序設(shè)計(jì)(第二版)王曙燕 /主編</p><p><b> 八.附錄:</b></p><p><b> 完全代碼:<
21、/b></p><p> #include"stdio.h"</p><p> #include"string.h"</p><p> #include"stdlib.h" /*頭文件*/&l
22、t;/p><p> #define MAX 100</p><p> typedef struct </p><p> { int year;</p><p> int month;</p><p><b> int day;</b></p><p><b&g
23、t; }DATE;</b></p><p> typedef struct </p><p> { int num; /*學(xué)號(hào)*/</p><p> char name[20]; /*姓名*/ /*定義結(jié)構(gòu)體*/</p
24、><p> char sex[6]; /*性別*/</p><p> int age; /*年齡*/</p><p> DATE birthday; /*出生年月*/</p><p> char sushe[30]; /*宿舍號(hào)
25、*/</p><p> char classes[10]; /*班級(jí)*/</p><p> char zhuanye[50]; /*專業(yè)*/</p><p> char chuanghao[50]; /*床號(hào)*/</p><p> }STUDENTS;</p>&l
26、t;p><b> /*讀取信息*/</b></p><p> int read_file(STUDENTS students[])</p><p> { FILE *fp;</p><p><b> int i=0;</b></p><p> if((fp=fopen(&quo
27、t;stu.txt","rt"))==NULL)</p><p> { printf("\n\n*****庫(kù)存文件不存在!請(qǐng)創(chuàng)建"); /*創(chuàng)建文件*/</p><p><b> return 0;</b></p><p><b> }&l
28、t;/b></p><p> while((fread(&students[i],sizeof(STUDENTS),1,fp))==1) /*成功創(chuàng)建*/</p><p><b> { </b></p><p><b> i++;</b></p>&l
29、t;p><b> }</b></p><p> fclose(fp);</p><p><b> return i;</b></p><p><b> }</b></p><p><b> /*保存信息*/</b></p>&
30、lt;p> void save_file(STUDENTS students[],int sum)</p><p> { FILE *fp;</p><p><b> int i;</b></p><p> if((fp=fopen("stu.txt","wb"))==NULL)<
31、/p><p> { printf("讀文件錯(cuò)誤!\n");</p><p><b> return;</b></p><p><b> }</b></p><p> for(i=0;i<sum;i++)</p><p> if(fwrite(
32、&students[i],sizeof(STUDENTS),1,fp)!=1) </p><p> printf("寫文件錯(cuò)誤!\n"); /*學(xué)生信息保存到文件中*/</p><p> fclose(fp);</p><p><b> }</b>
33、;</p><p><b> /*輸入模塊*/</b></p><p> int input(STUDENTS students[])</p><p> { int i=0,t; /*定義要輸入學(xué)生的個(gè)數(shù)*/</p><
34、p> system("cls");</p><p> printf("\n\n 錄入學(xué)生個(gè)數(shù)(最多%d個(gè))",MAX);</p><p> scanf("%d",&t);</p><p> printf(" --------------------
35、----\n");</p><p><b> do</b></p><p> { // printf("\n 第%d個(gè)學(xué)生信息",i+1); /*輸入學(xué)生的基本信息*/</p><p> printf("\n 第%d個(gè)學(xué)生的學(xué)號(hào)",i+1);</p>
36、;<p> scanf("%d",&students[i].num);</p><p> if(students[i].num==0) break;</p><p> printf("\n 學(xué)生姓名:");</p><p> scanf("%s",student
37、s[i].name);</p><p> printf("\n 學(xué)生性別:");</p><p> scanf("%s",students[i].sex);</p><p> printf("\n 學(xué)生年齡:");</p><p> scanf(&qu
38、ot;%d",&students[i].age);</p><p> printf("\n 學(xué)生出生年月日:");</p><p> scanf("%d %d %d",&students[i].birthday.year,&students[i].birthday.month,</p>
39、<p> &students[i].birthday.day);</p><p> printf("\n 學(xué)生宿舍:");</p><p> scanf("%s",students[i].sushe);</p><p> printf("\n 學(xué)生班級(jí):")
40、;</p><p> scanf("%s",students[i].classes);</p><p> printf("\n 學(xué)生專業(yè):");</p><p> scanf("%s",students[i].zhuanye);</p><p> printf(&
41、quot;\n 學(xué)生床號(hào):");</p><p> scanf("%s",students[i].chuanghao);</p><p><b> i++;</b></p><p> }while(i<t);</p><p> save_file(students,
42、t); /*保存輸入的學(xué)生信息*/</p><p> printf("\n %d個(gè)學(xué)生信息輸入完畢! \n",t);</p><p><b> getch();</b></p><p> return t;
43、 /*返回輸入學(xué)生的個(gè)數(shù)值*/</p><p><b> }</b></p><p><b> /*輸出模塊*/</b></p><p> void output(STUDENTS students[],int sum)</p>
44、<p><b> { </b></p><p><b> int i;</b></p><p> system("cls");</p><p> printf("num name sex age year-month-day sushe classes zhu
45、anye chuanghao\n");</p><p> printf(" \n");</p><p> for(i=0;i<sum;i++) /*輸出學(xué)生的信息*/</p>&
46、lt;p> {printf("%5d %5s %5s %5d %5d %5d %5d %5s %5s %5s %5s\n",</p><p> students[i].num,students[i].name,students[i].sex,students[i].age,students[i].birthday.year,</p><p>
47、 students[i].birthday.month,students[i].birthday.day,students[i].sushe,</p><p> students[i].classes,students[i].zhuanye,students[i].chuanghao);</p><p> printf("
48、 \n");</p><p><b> }</b></p><p><b> getch();</b></p><p> save_file(students,sum);</p><p><b> }</b></p><
49、;p> /*添加信息模塊*/</p><p> int append(STUDENTS students[],int sum)</p><p><b> { </b></p><p> int i=sum,flag=0; /*從已經(jīng)輸入的學(xué)生尾部添加*/</p
50、><p> char choice;</p><p> sum=read_file(students); </p><p> system("cls");</p><p> printf("\n\n 添加學(xué)生信息 \n");</p><p><b>
51、; do</b></p><p><b> { </b></p><p> if(i<MAX)/*已經(jīng)輸入的學(xué)生個(gè)數(shù)和要添加的學(xué)生個(gè)數(shù)之和要小于定義的學(xué)生個(gè)數(shù)最大值*/</p><p><b> {</b></p><p> printf("\n
52、新學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&students[i].num);</p><p> printf("\n 學(xué)生姓名:");</p><p> scanf("%s",students[i].name);</p><p>
53、; printf("\n 學(xué)生性別:"); /*輸入添加學(xué)生的基本信息*/</p><p> scanf("%s",students[i].sex);</p><p> printf("\n 學(xué)生年齡:");</p><p> scanf("%
54、d",&students[i].age);</p><p> printf("\n 學(xué)生出生年月日:");</p><p> scanf("%d %d %d",&students[i].birthday.year,&students[i].birthday.month,&students[i]
55、.birthday.day);</p><p> printf("\n 學(xué)生宿舍號(hào):");</p><p> scanf("%s",students[i].sushe);</p><p> printf("\n 學(xué)生班級(jí):");</p><p> sc
56、anf("%s",students[i].classes);</p><p> printf("\n 學(xué)生專業(yè):");</p><p> scanf("%s",students[i].zhuanye);</p><p> printf("\n 床號(hào):");&
57、lt;/p><p> scanf("%s",students[i].chuanghao);</p><p><b> i++;</b></p><p><b> }</b></p><p> printf("\n 繼續(xù)添加嗎?(Y/N)");
58、</p><p> choice=getch();</p><p> if(choice=='Y'||choice=='y')</p><p> { flag=1;</p><p> printf("\n 繼續(xù)!\n"); /*是否
59、要繼續(xù)添加*/</p><p><b> }</b></p><p> else flag=0;</p><p> }while(flag==1);;</p><p> printf("\n 按任意鍵返回主菜單!");</p><p><
60、b> getch();</b></p><p> save_file(students,i); /*保存添加的學(xué)生信息到原文件*/</p><p> return i; /*返回文件中學(xué)生個(gè)數(shù)值*/</p><
61、p><b> }</b></p><p> /*修改信息模塊*/</p><p> void modify(STUDENTS students[],int sum)</p><p> { //FILE *fp;</p><p> int i,choice,flag,modify_num;</
62、p><p> sum=read_file(students); /*讀文件*/</p><p><b> do</b></p><p><b> {</b></p><p> system("cls
63、");</p><p> printf("\n 輸入要修改的學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&modify_num); /*輸入要修改的學(xué)生學(xué)號(hào)*/</p><p> for(i=0;i<
64、sum;i++)</p><p> if(students[i].num==modify_num)</p><p> { printf("\n 學(xué)生信息 \n");</p><p> printf("num name sex age year-month-day address sus
65、he zhuanye chuanghao\n");</p><p> printf(" \n");</p><p> printf("%5d %5s %5s %5d %5d %5d %5d %5s %5s %5s %5s\n",stud
66、ents[i].num,students[i].name,students[i].sex,students[i].age,students[i].birthday.year,students[i].birthday.month,students[i].birthday.day,students[i].sushe,students[i].classes,students[i].zhuanye,students[i].chuanghao);
67、</p><p> printf("\n 要修改哪一項(xiàng)?\n");</p><p> printf("\n 1.學(xué)生學(xué)號(hào) \n");</p><p> printf("\n 2.學(xué)生姓名 \n");</p&
68、gt;<p> printf("\n 3.學(xué)生性別 \n");</p><p> printf("\n 4.學(xué)生年齡 \n");</p><p> printf("\n 5.學(xué)生出生年月日 \n");</p>
69、<p> printf("\n 6.學(xué)生宿舍號(hào) \n");</p><p> printf("\n 7.學(xué)生班級(jí) \n");</p><p> printf("\n 8.學(xué)生專業(yè) \n");</p><p
70、> printf("\n 9.學(xué)生床號(hào) \n");</p><p> printf("\n 請(qǐng)選擇(1-9):");</p><p> scanf("%d",&choice);</p><p> switch(choice)&
71、lt;/p><p><b> { </b></p><p> case 1:printf("\n 輸入修改后的學(xué)號(hào):");</p><p> scanf("%d",&students[i].num); break;</p><p> case 2:p
72、rintf("\n 輸入修改后的姓名:");</p><p> scanf("%s",students[i].name); break;</p><p> case 3:printf("\n 輸入修改后的性別:");</p><p> scanf("%s&q
73、uot;,students[i].sex); break; /*選擇要修改學(xué)生的項(xiàng)目*/ </p><p> case 4:printf("\n 輸入修改后的年齡:");</p><p> scanf("%d",&students[i].a
74、ge); break;</p><p> case 5:printf("\n 輸入修改后的出生年月:");</p><p> scanf("%d %d %d",&students[i].birthday.year,&students[i].birthday.month,</p><p>
75、 &students[i].birthday.day); break;</p><p> case 6:printf("\n 輸入修改后的宿舍號(hào):");</p><p> scanf("%s",students[i].sushe); break;</p><p> case 7:printf
76、("\n 輸入修改后的班級(jí):");</p><p> scanf("%s",students[i].classes); break;</p><p> case 8:printf("\n 輸入修改后的專業(yè):");</p><p> scanf("%s&qu
77、ot;,students[i].zhuanye); break;</p><p> case 9:printf("\n 輸入修改后的床號(hào):");</p><p> scanf("%s",students[i].chuanghao); break;</p><p><b> }</b
78、></p><p> printf("\n 學(xué)生信息表 \n");</p><p> printf("num name sex age year-month-day sushe classes zhuanye chuanghao\n");</p><p> printf(&
79、quot; \n");</p><p> printf("%5d %5s %5s %5d %5d %5d %5d %5s %5s %5s %5s\n",</p><p> students[i].num,students[i].name,students[i]
80、.sex,students[i].age,students[i].birthday.year,</p><p> students[i].birthday.month,students[i].birthday.day,students[i].sushe,</p><p> students[i].classes,students[i].zhuanye,students[i].chuan
81、ghao); </p><p> break; /*輸出修改后的學(xué)生信息*/</p><p><b> }</b></p><p> if(i==sum)</p><p>
82、{ printf("\n 該學(xué)生不存在!");</p><p><b> getch();</b></p><p><b> }</b></p><p> printf("\n\n 繼續(xù)修改嗎?(Y/N)");</p>
83、<p> choice=getch();</p><p> if(choice=='Y'||choice=='y')</p><p> { flag=1;</p><p> printf("\n 繼續(xù)!\n");</p><p> }
84、 /*是否要繼續(xù)修改*/ </p><p> else flag=0;</p><p> }while(flag==1);</p><p> pri
85、ntf("\n 按任意鍵返回主菜單!");</p><p><b> getch();</b></p><p> save_file(students,sum); /*保存修改后的信息*/</p><p><b> }&
86、lt;/b></p><p> /*刪除信息模塊*/</p><p> int del(STUDENTS students[],int sum)</p><p><b> { </b></p><p> int i,del_num;</p><p> printf("請(qǐng)
87、輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)");</p><p> scanf("%d",&del_num); /*輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)*/
88、 </p><p> for(i=0;i<sum;i++)</p><p> { if(del_num==students[i].num)</p><p> {for(;i<sum-1;i++)</p><p> students[i].num=students[i+1].num;</p><p&
89、gt; printf("刪除成功");</p><p><b> }</b></p><p><b> }</b></p><p> getch();
90、 </p><p> save_file(students,sum-1); /*保存刪除后的學(xué)生信息到原文件*/ </p><p> return (sum-1) ;</p
91、><p><b> }</b></p><p> /*查詢信息模塊*/</p><p> void inquire(STUDENTS students[],int sum)</p><p> { FILE *fp;</p><p> int i,choice,flag,inquire_nu
92、m;</p><p> sum=read_file(students); /*讀文件*/ </p><p> printf("%d\n&q
93、uot;,sum);</p><p><b> do</b></p><p> { system("cls");</p><p> printf("\n 輸入要查詢的學(xué)生學(xué)號(hào):");</p><p> scanf("%d",&
94、amp;inquire_num); /*輸入要查詢的學(xué)生學(xué)號(hào)*/</p><p> for(i=0;i<sum;i++)</p><p> if(students[i].num==inquire_num)</p><p> { printf("\n 此學(xué)生信息
95、為: \n");</p><p> printf("num name sex age year-month-day sushe classes zhuanye chuanghao\n");</p><p> printf(" \n"
96、;);</p><p> printf("%5d %5s %5s %5d %d%d%d %5s %5s %5s %5s\n",</p><p> students[i].num,students[i].name,students[i].sex,students[i].age,students[i].birthday.year,</p>
97、<p> students[i].birthday.month,students[i].birthday.day,students[i].sushe,</p><p> students[i].classes,students[i].zhuanye,students[i].chuanghao); </p><p> break;
98、 /*輸出要查詢的學(xué)生信息*/</p><p><b> }</b></p><p> if(i==sum)</p><p> { printf("\n 無(wú)此學(xué)生信息 \n");</p><p><b> getc
99、h();</b></p><p><b> }</b></p><p> printf("\n\n 是否繼續(xù)?(Y/N)");</p><p> choice=getch();</p><p> if(choice=='Y'||choice=='y
100、')</p><p> { flag=1;</p><p> printf("\n 繼續(xù)!\n"); /*是否要繼續(xù)*/</p><p> }
101、</p><p> else flag=0;</p><p> }while(flag==1);</p><p> printf("\n 按任意鍵返回主菜單!");</p><p><b> getch();</b></p><p><b> }&
102、lt;/b></p><p> /*統(tǒng)計(jì)信息模塊*/</p><p> void count(STUDENTS students[],int sum)</p><p><b> { </b></p><p> int i,count=0;</p><p> char s[1
103、0];</p><p> printf("請(qǐng)輸入要統(tǒng)計(jì)的班級(jí)的學(xué)生的班級(jí)號(hào)!"); </p><p> scanf("%s",s); /*按輸入的班級(jí)號(hào)統(tǒng)計(jì)此班的總學(xué)生人數(shù)*/</p><p> for(i=0;i<sum;i++)
104、</p><p> if(strcmp(s,students[i].classes)==0)</p><p><b> count++;</b></p><p> printf("%s班的總?cè)藬?shù)為%d人",s,count);</p><p><b> getch();</b&g
105、t;</p><p> save_file(students,sum);</p><p><b> } </b></p><p> /*排行信息模塊*/</p><p> void sort(STUDENTS students[],int sum)</p><p><b>
106、 { </b></p><p> int i,j,t;</p><p> system("cls");</p><p> printf("\n 學(xué)生信息排行\(zhòng)n");</p><p> printf("\n 按學(xué)號(hào)排行\(zhòng)n")
107、;</p><p> printf(" \n");</p><p> for(i=0;i<sum-1;i++) /*按學(xué)號(hào)用冒泡法升序排列學(xué)生信息*/</p><p> for(j=i+1;j<sum;j++)</p>&l
108、t;p> { if(students[i].num>students[j].num)</p><p> {t=students[i].num;</p><p> students[i].num=students[j].num;</p><p> students[j].num=t;</p><p><b>
109、}</b></p><p><b> }</b></p><p> printf(" \n");</p><p> printf("num name sex age year-month-day sushe classes zhuanye c
110、huanghao\n");</p><p> for(i=0;i<sum;i++)</p><p> printf("%5d %5s %5s %5d %d%d%d %5s %5s %5s %5s\n",</p><p> students[i].num,students[i].name,students[i]
111、.sex,students[i].age,students[i].birthday.year,students[i].birthday.month,students[i].birthday.day,students[i].sushe,</p><p> students[i].classes,students[i].zhuanye,students[i].chuanghao); /*輸出排序后的學(xué)生信息
112、*/</p><p><b> getch();</b></p><p> save_file(students,sum); /*保存排序后的學(xué)生信息到文件中*/</p><p><b> }</b></p><p> void mima(
113、)</p><p><b> {</b></p><p> char mima;</p><p> char a[9];</p><p><b> int i;</b></p><p> printf(" 請(qǐng)輸入密碼:")
114、;</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> mima=getch();</p><p> printf("*");</p><p> a[i]=mima;</p><p>
115、;<b> }</b></p><p> a[8]='\0';</p><p> printf("\n");</p><p> if(!(strcmp(a,"12345678")))</p><p><b> {</b></p&
116、gt;<p> system("cls");</p><p> printf("\n\n\n\n\n\n\n\n\n 成功登陸!");</p><p><b> }</b></p><p><b> else</b></p>
117、<p><b> {</b></p><p> system("cls");</p><p> printf("\n\n\n\n\n\n\n\n\n 密碼錯(cuò)誤,您無(wú)權(quán)使用該系統(tǒng)!\n\n");</p><p><b> exit(1);</b>
118、;</p><p><b> }</b></p><p><b> }</b></p><p> void main() /*主函數(shù)*/
119、 </p><p><b> { </b></p><p> STUDENTS students[MAX];</p><p> int choice,sum;</p><p><b> mima();</b></p><
120、;p> sum=read_file(students);</p><p><b> if(!sum)</b></p><p> { printf("并錄入基本庫(kù)存信息!\n"); </p><p><b> getch();</b></p>
121、<p> sum=input(students); /*錄入學(xué)生信息*/</p><p><b> }</b></p><p><b> do</b></p><p> { system("cls");<
122、;/p><p> printf("\n\n\n 學(xué)生宿舍管理系統(tǒng) \n\n");</p><p> printf(" 1.添加學(xué)生信息\n\n");</p><p> printf(" 2.修改學(xué)生信息\n\n");&
123、lt;/p><p> printf(" 3.刪除學(xué)生信息\n\n");</p><p> printf(" 4.查詢學(xué)生信息\n\n");</p><p> printf(" 5.統(tǒng)計(jì)學(xué)生信息\n\n");</p>
124、<p> printf(" 6.學(xué)生排序\n\n");</p><p> printf(" 7.打印學(xué)生信息\n\n");</p><p> printf(" 0.退出系統(tǒng)\n\n");</p><p> pr
125、intf(" 請(qǐng)選擇(0-7):");</p><p> scanf("%d",&choice);</p><p> switch(choice) /*用switch選擇要調(diào)用的各模塊函數(shù)并執(zhí)行*/</p><p> { case
126、1: sum=append(students,sum);break;</p><p> case 2: modify(students,sum);break;</p><p> case 3: sum=del(students,sum);break;</p><p> case 4: inquire(students,sum); break;</p>
127、;<p> case 5: count(students,sum); break;</p><p> case 6:sort(students,sum); break;</p><p> case 7:output(students,sum); break;</p><p> case 0: brea
128、k; /*執(zhí)行完各模塊后按0退出系統(tǒng)*/</p><p><b> }</b></p><p> }while(choice!=0);</p><p> save_file(students,sum); /*保存執(zhí)行完各模塊后的學(xué)生信息*/</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)課程設(shè)計(jì)--學(xué)生宿舍信息管理系統(tǒng)
- c課程設(shè)計(jì)報(bào)告-- c語(yǔ)言程序設(shè)計(jì)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語(yǔ)言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- 《c++語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告-景點(diǎn)查詢系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告--職工信息管理系統(tǒng)
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告---商品訂購(gòu)系統(tǒng)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--宿舍管理系統(tǒng)
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告-招生信息查詢系統(tǒng)
- 圖書信息管理系統(tǒng)-《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告--c語(yǔ)言程序設(shè)計(jì)
- c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 《c語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)--藥房藥品管理系統(tǒng)
- 系統(tǒng)軟件程序設(shè)計(jì)報(bào)告(linux下c語(yǔ)言程序課程設(shè)計(jì)報(bào)告)
- c語(yǔ)言課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論