版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)</p><p><b> 姓 名:</b></p><p><b> 班 級(jí):</b></p><p><b> 班級(jí)學(xué)號(hào): </b></p><p><b> 指導(dǎo)老師: </b></
2、p><p><b> 一 課設(shè)題目</b></p><p><b> 高考招生錄取成績(jī)</b></p><p> 已知文本文件f1.txt中存放了某個(gè)省當(dāng)年參加高考的1000個(gè)考生的數(shù)據(jù)(考號(hào)、姓名、性別和考試成績(jī)),存放格式是每行存放一個(gè)考生的數(shù)據(jù),每個(gè)數(shù)據(jù)之間用空格隔開(kāi)。</p><p>
3、 假定當(dāng)年該省的招生計(jì)劃是:一類(lèi)本科招生計(jì)劃為10%;二類(lèi)本科招生計(jì)劃為15%;三類(lèi)本科招生計(jì)劃為20%;四類(lèi)高職高專(zhuān)招生計(jì)劃為25%。</p><p> 請(qǐng)編寫(xiě)程序,實(shí)現(xiàn)以下功能:</p><p> 1.劃定各批次錄取分?jǐn)?shù)線(xiàn),結(jié)果可屏幕顯示,也可存入文件;</p><p> 2.能夠統(tǒng)計(jì)各批次中男生,女生的錄取比例。統(tǒng)計(jì)結(jié)果可屏幕顯示,也可存入文件;<
4、/p><p> 3.確定每名學(xué)生的錄取情況及錄取批次;</p><p> 4.考生可以根據(jù)考號(hào)或姓名(支持重名)查詢(xún)自己的成績(jī)及錄取情況;</p><p> 5.系統(tǒng)程序要有界面;</p><p> 6.存入文件的數(shù)據(jù),每行存一種數(shù)據(jù),每行之間的不同信息用空格分隔。)</p><p><b> 二 題
5、目分析</b></p><p> 該程序題目已經(jīng)很清楚的表達(dá)出要求編好的程序能夠簡(jiǎn)單的實(shí)行高考招生功能,首先需要在導(dǎo)入含有一千個(gè)考生信息的txt文本,以能達(dá)到錄取功能。根據(jù)該題目我們還可以知道完成數(shù)據(jù)輸入后,不僅要有比較整潔的界面,還要能根據(jù)用戶(hù)要求界面顯示出個(gè)批次中男女的比例以及錄取線(xiàn)、可供用戶(hù)查詢(xún)(根據(jù)考生姓名或考號(hào))某考生成績(jī)及錄取情況。那么我們最好設(shè)置一個(gè)大循環(huán),使得考生能實(shí)現(xiàn)只要不關(guān)閉程序
6、或者按指定輸入而結(jié)束程序就能一直查詢(xún)下去,并且能用txt文本將個(gè)批次中錄取的人的一系列信息從程序中生成出來(lái)。</p><p> 但作為藝術(shù)生,我的能力有限,只能從網(wǎng)絡(luò)上尋找已經(jīng)編好的程序進(jìn)行理解,降低理解題目的難度。</p><p><b> 三 設(shè)計(jì)思路</b></p><p> 要編題目中要求的程序,就必須先將已經(jīng)寫(xiě)好的一千個(gè)學(xué)生的
7、信息的文本文件輸入程序。</p><p><b> 第一步為定義:</b></p><p> #include <stdio.h></p><p> #include <malloc.h></p><p> 用結(jié)構(gòu)體的形式將學(xué)生的一切信息表達(dá)出來(lái):</p><p>
8、 struct DATA</p><p><b> {</b></p><p><b> int ID;</b></p><p> char name[4];</p><p> char sex[3];</p><p> int score;</p>
9、<p><b> };</b></p><p><b> 定義各個(gè)函數(shù):</b></p><p> void paixu(int*,DATA*,int);</p><p> int sishewuru(double);</p><p> void func1(int*,int*
10、,DATA*,int*,int,int,int,int);//統(tǒng)計(jì)男女比例</p><p> int func2(int*,int,DATA*);//查找考生序號(hào)</p><p> void print();</p><p> void main()</p><p> 再應(yīng)該從f1.txt中向程序?qū)雽⒚恳粋€(gè)人的學(xué)號(hào)、姓名、性別、分?jǐn)?shù)
11、,并自動(dòng)計(jì)算考生數(shù)量:</p><p> FILE* file=fopen("f1.txt","r"),*file1;</p><p> if(file==NULL)</p><p><b> {</b></p><p> printf("No such file
12、!\n");</p><p><b> return;</b></p><p><b> }</b></p><p> while(EOF!=fscanf(file,"%*[^\n]\n")) length++;//自動(dòng)計(jì)算考生數(shù)量</p><p> 然后比較大
13、小,將原來(lái)一千個(gè)人按成績(jī)高低排好順序:</p><p> DATA* data=(DATA*)malloc(length*sizeof(DATA));</p><p> int* pai=(int*)malloc(length*sizeof(int));</p><p> rewind(file);</p><p> for(i=0;
14、i<length;i++)</p><p><b> {</b></p><p> fscanf(file,"%d %s %s %d",&data[i].ID,&data[i].name,&data[i].sex,&data[i].score);</p><p><b>
15、 pai[i]=i;</b></p><p><b> }</b></p><p> paixu(pai,data,length);//將1-1000的學(xué)生按成績(jī)排序</p><p> 對(duì)1000名學(xué)生的成績(jī)分別按比例進(jìn)行計(jì)算并四舍五入為整數(shù),可得出各批次最低成績(jī),即各批次的錄取成績(jī)。要?jiǎng)澇龈髋蔚匿浫〕煽?jī),就要將壓線(xiàn)的那個(gè)分
16、數(shù)計(jì)算出來(lái)。在這里,特別考慮的是:壓線(xiàn)分?jǐn)?shù)上人數(shù)有多個(gè),所以,我們不能單純的將N乘以各個(gè)批次的百分點(diǎn)。編寫(xiě)程序如下:</p><p> yiben=sishewuru(length*0.1)-1;//分別按比例進(jìn)行計(jì)算并四舍五入為整數(shù)</p><p> erben=yiben+sishewuru(length*0.15);</p><p> sanben=er
17、ben+sishewuru(length*0.2);</p><p> dazhuan=sanben+sishewuru(length*0.25);</p><p> yi=data[pai[yiben]].score;er=data[pai[erben]].score;</p><p> san=data[pai[sanben]].score;si=data
18、[pai[dazhuan]].score;</p><p> 設(shè)置界面:將“各類(lèi)招生分?jǐn)?shù)線(xiàn)”、“ 各批次男女比例”、“ 單個(gè)學(xué)生錄取情況”、“ 退出系統(tǒng)輸入”、“ 重新打印初試界面”輸入指令分別設(shè)置為數(shù)字“0”~“4”:</p><p><b> while(1)</b></p><p><b> {</b><
19、/p><p><b> print();</b></p><p> printf("\n請(qǐng)輸入查詢(xún)碼:");</p><p> for(input=getchar();;input=getchar())</p><p><b> {</b></p><p&
20、gt; if(!(input>='0'&&input<='4'))</p><p><b> {</b></p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><
21、p><b> }</b></p><p> else break;</p><p><b> }</b></p><p> 實(shí)現(xiàn)“各類(lèi)招生分?jǐn)?shù)線(xiàn)”即“0”指令:</p><p> getchar();</p><p> switch(input)</p
22、><p><b> {</b></p><p><b> case '0':</b></p><p> printf("\n一類(lèi)本科招生線(xiàn):%d\n二類(lèi)本科招生線(xiàn):%d\n三類(lèi)本科招生線(xiàn):%d\</p><p> \n高職高專(zhuān)招生線(xiàn):%d\n",yi,er,s
23、an,si);</p><p> printf("是否打印為文件?(y/n):");</p><p> if(getchar()=='y')</p><p><b> {</b></p><p> file1=fopen("各批次錄取分?jǐn)?shù)線(xiàn).txt",&qu
24、ot;w");</p><p> fprintf(file1,"一類(lèi)本科招生線(xiàn):%d\n二類(lèi)本科招生線(xiàn):%d\</p><p> \n三類(lèi)本科招生線(xiàn):%d\n高職高專(zhuān)招生線(xiàn):%d\n",yi,er,san,si);</p><p> fclose(file1);</p><p><b> }&l
25、t;/b></p><p> fflush(stdin);</p><p><b> break;</b></p><p> 實(shí)現(xiàn)“各批次男女比例”即“1”指令:</p><p><b> case '1':</b></p><p> func
26、1(male,female,data,pai,yiben,erben,sanben,dazhuan);</p><p> printf("一本類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[0],female[0]);</p><p> printf("二類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[1],femal
27、e[1]);</p><p> printf("三類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[2],female[2]);</p><p> printf("高職高專(zhuān)招生線(xiàn)招生線(xiàn)男女比例:%d:%d\n",male[3],female[3]);</p><p> printf("是否打印為文件
28、?(y/n):");</p><p> if(getchar()=='y')</p><p><b> {</b></p><p> file1=fopen("各批次錄取男女比例.txt","w");</p><p> fprintf(file1,
29、"一類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[0],female[0]);</p><p> fprintf(file1,"二類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[1],female[1]);</p><p> fprintf(file1,"三類(lèi)本科招生線(xiàn)男女比例: %d:%d\n&
30、quot;,male[2],female[2]);</p><p> fprintf(file1,"高職高專(zhuān)招生線(xiàn)招生線(xiàn)男女比例:%d:%d\n",male[3],female[3]);</p><p> fclose(file1);</p><p><b> }</b></p><p> f
31、flush(stdin);</p><p><b> break;</b></p><p> 實(shí)現(xiàn)“單個(gè)學(xué)生錄取情況”即“2”指令:</p><p><b> case '2':</b></p><p> printf("按考號(hào)查詢(xún)輸入0 按姓名查
32、詢(xún)輸入1\n請(qǐng)輸入查詢(xún)碼:");</p><p> for(input=getchar();;input=getchar())</p><p><b> {</b></p><p> if(input!='0'&&input!='1')</p><p>&l
33、t;b> {</b></p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><p><b> }</b></p><p> else break;</p><p><b
34、> }</b></p><p> getchar();</p><p> int shuru,j,ss[10];//假設(shè)最多10個(gè)重名的</p><p> for(j=0;j<10;j++) ss[i]=0;</p><p> if(input=='0')</p><p&g
35、t;<b> {</b></p><p> start1:printf("請(qǐng)輸入考號(hào):");</p><p> for(j=scanf("%d",&shuru);j!=1||shuru/10000!=4211;j=scanf("%d",&shuru))</p>&
36、lt;p> {//假設(shè)考號(hào)開(kāi)頭為4211</p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><p><b> }</b></p><p> getchar();</p><p>
37、j=shuru%10000;//假設(shè)考號(hào)和序號(hào)的關(guān)系</p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p><p> shuru,data[j].name,data[j].sex,data[j].score);</p><p> if(data[j].score>=yi) pri
38、ntf("一本\n");</p><p> else if(data[j].score>=er) printf("二本\n");</p><p> else if(data[j].score>=san) printf("三本\n");</p><p> else if(data[j].sc
39、ore>=si) printf("高職高專(zhuān)\n");</p><p> else printf("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");</p><p> printf("是否繼續(xù)查詢(xún)?(y/n):");</p><p> if(getchar()=='y')</p>&l
40、t;p><b> {</b></p><p> fflush(stdin);</p><p> goto start1;</p><p><b> }</b></p><p><b> }</b></p><p><b>
41、 else</b></p><p><b> {</b></p><p> start2:printf("請(qǐng)輸入姓名:");</p><p> j=func2(ss,length,data);//查找考生序號(hào)</p><p> if(j==0) printf("
42、查無(wú)此人!\n");</p><p> else if(j==1)</p><p><b> {</b></p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p><p> data[ss[0]].ID,data[ss[0]].na
43、me,data[ss[0]].sex,data[ss[0]].score);</p><p> if(data[ss[0]].score>=yi) printf("一本\n");</p><p> else if(data[ss[0]].score>=er) printf("二本\n");</p><p>
44、else if(data[ss[0]].score>=san) printf("三本\n");</p><p> else if(data[ss[0]].score>=si) printf("高職高專(zhuān)\n");</p><p> else printf("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");</p><
45、;p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("有多個(gè)考生姓名為%s,數(shù)據(jù)如下:\n",data[ss[0]].name);</p><p> f
46、or(j=j-1;j>=0;j--)</p><p><b> {</b></p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p><p> data[ss[j]].ID,data[ss[j]].name,data[ss[j]].sex,data[ss[j]]
47、.score);</p><p> if(data[ss[j]].score>=yi) printf("一本\n");</p><p> else if(data[ss[j]].score>=er) printf("二本\n");</p><p> else if(data[ss[j]].score>=
48、san) printf("三本\n");</p><p> else if(data[ss[j]].score>=si) printf("高職高專(zhuān)\n");</p><p> else printf("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");</p><p><b> }</b>&l
49、t;/p><p><b> }</b></p><p> printf("是否繼續(xù)查詢(xún)?(y/n):");</p><p> if(getchar()=='y')</p><p><b> {</b></p><p> fflush(
50、stdin);</p><p> goto start2;</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p> 實(shí)現(xiàn)“退出系統(tǒng)”即“3”指令:</p
51、><p><b> case '3':</b></p><p> fclose(file);</p><p> free(data);</p><p><b> return;</b></p><p> 實(shí)現(xiàn)“重新打印初始界面”即“4”指令:</p
52、><p><b> case '4':</b></p><p><b> print();</b></p><p><b> break;</b></p><p><b> }</b></p><p><b
53、> }</b></p><p> fclose(file);</p><p> free(data);</p><p><b> }</b></p><p> 下面,則開(kāi)始對(duì)開(kāi)始定義的函數(shù)進(jìn)行填充:</p><p> 根據(jù)1000名學(xué)生的成績(jī)進(jìn)行從高到底的排序:<
54、;/p><p> void paixu(int* pai,DATA* data,int length)</p><p><b> {</b></p><p> int i,j,temp;</p><p> for(i=0;i<length;i++)</p><p> for(j=i+1
55、;j<length;j++)</p><p> if(data[pai[i]].score<data[pai[j]].score)</p><p><b> {</b></p><p> temp=pai[i];</p><p> pai[i]=pai[j];</p><p>
56、 pai[j]=temp;</p><p><b> }</b></p><p><b> }</b></p><p> 計(jì)算各批次比例的四舍五入:</p><p> int sishewuru(double l)</p><p><b> {</
57、b></p><p><b> if(l>1)</b></p><p><b> {</b></p><p> if((l-(int)l)<0.5) return (int)l;</p><p> else return (int)l+1;</p><p
58、><b> }</b></p><p> else return 1;</p><p><b> }</b></p><p><b> 各批次男女比例:</b></p><p> void func1(int* male,int* female,DATA* da
59、ta,int* pai,int a,int b,int c,int d)</p><p><b> {</b></p><p><b> int i;</b></p><p> for(i=0;i<4;i++) {male[i]=0;female[i]=0;}</p><p> for
60、(i=0;i<=a;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[0]++;</p><p> else female[0]++;</p><p><b> }</b></p><
61、;p> for(;i<=b;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[1]++;</p><p> else female[1]++;</p><p><b> }</b></p&
62、gt;<p> for(;i<=c;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[2]++;</p><p> else female[2]++;</p><p><b> }</b>
63、;</p><p> for(;i<=d;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[3]++;</p><p> else female[3]++;</p><p><b> }&
64、lt;/b></p><p><b> }</b></p><p><b> 界面:</b></p><p> void print()</p><p><b> {</b></p><p> printf("---------
65、-----------------------高考招生錄取程序-------------------------------\n");</p><p> printf("今年招生計(jì)劃:一類(lèi)本科招生計(jì)劃為 10%\n 二類(lèi)本科招生計(jì)劃為 15%\n\</p><p> 三類(lèi)本科招生計(jì)劃為 20%\n
66、 四類(lèi)高職高專(zhuān)招生計(jì)劃為25%\n");</p><p> printf("查詢(xún): \n各類(lèi)招生分?jǐn)?shù)線(xiàn)輸入 0 各批次男女比例輸入1\</p><p> \n單個(gè)學(xué)生錄取情況輸入2 退出系統(tǒng)輸入 3\n重新打印初試界面輸入4\n");</p><p><b>
67、; }</b></p><p> 根據(jù)考生的姓名或考號(hào)進(jìn)行單個(gè)學(xué)生成績(jī)查詢(xún):</p><p> int func2(int* ss,int length,DATA* data)</p><p><b> {</b></p><p> int i,j=0;</p><p>
68、char s[4];</p><p><b> while(1)</b></p><p><b> {</b></p><p> i=scanf("%s",s);</p><p> fflush(stdin);</p><p><b>
69、 if(i!=1) </b></p><p><b> {</b></p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p><b> continue;</b></p><p><b> }</b><
70、;/p><p> for(i=0;i<length;i++)</p><p><b> {</b></p><p> if(data[i].name[0]==s[0]&&data[i].name[1]==s[1]&&data[i].name[2]==s[2])</p><p>&l
71、t;b> {</b></p><p> ss[j++]=i;</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }
72、</b></p><p><b> return j;</b></p><p><b> }</b></p><p><b> 四、實(shí)現(xiàn)結(jié)果</b></p><p><b> 系統(tǒng)界面</b></p><p>&
73、lt;b> 各類(lèi)招生錄取成績(jī)</b></p><p><b> 各批次男女比例</b></p><p><b> 五 課設(shè)總結(jié)</b></p><p> 在進(jìn)行幾次上機(jī)實(shí)習(xí)后,我感覺(jué)c語(yǔ)言真是一門(mén)很神奇的學(xué)科,它在只借助一臺(tái)計(jì)算機(jī),一個(gè)vc++,就能帶給人們那么多實(shí)用的東西!</p>
74、<p> 而且,我對(duì)c語(yǔ)言有了全新的認(rèn)識(shí),以前不知道的東西在上機(jī)之后完全了解了,以前一知半解的東西在上機(jī)之后感覺(jué)分變得更加明了了。很多錯(cuò)誤都是始料未及的,往往一點(diǎn)的小差錯(cuò)都會(huì)導(dǎo)致整個(gè)程序無(wú)法運(yùn)行或者錯(cuò)誤運(yùn)行。</p><p> 在上機(jī)實(shí)習(xí)的前幾節(jié)課,我感覺(jué)有點(diǎn)茫然不知所措,只有將書(shū)上的相關(guān)知識(shí)一遍又一遍地了解。</p><p> 在多次了解后,開(kāi)始理解編程就順利多了。&
75、lt;/p><p><b> 六 程序代碼</b></p><p> #include <stdio.h></p><p> #include <malloc.h></p><p> struct DATA</p><p><b> {</b>
76、</p><p><b> int ID;</b></p><p> char name[4];</p><p> char sex[3];</p><p> int score;</p><p><b> };</b></p><p>
77、void paixu(int*,DATA*,int);</p><p> int sishewuru(double);</p><p> void func1(int*,int*,DATA*,int*,int,int,int,int);//統(tǒng)計(jì)男女比例</p><p> int func2(int*,int,DATA*);//查找考生序號(hào)</p>
78、<p> void print();</p><p> void main()</p><p><b> {</b></p><p> int length=0,i,yiben,erben,sanben,dazhuan,male[4],female[4];</p><p> int yi,er,sa
79、n,si;</p><p> char input;</p><p> FILE* file=fopen("f1.txt","r"),*file1;</p><p> if(file==NULL)</p><p><b> {</b></p><p>
80、; printf("No such file!\n");</p><p><b> return;</b></p><p><b> }</b></p><p> while(EOF!=fscanf(file,"%*[^\n]\n")) length++;//自動(dòng)計(jì)算考生數(shù)量
81、</p><p> DATA* data=(DATA*)malloc(length*sizeof(DATA));</p><p> int* pai=(int*)malloc(length*sizeof(int));</p><p> rewind(file);</p><p> for(i=0;i<length;i++)<
82、;/p><p><b> {</b></p><p> fscanf(file,"%d %s %s %d",&data[i].ID,&data[i].name,&data[i].sex,&data[i].score);</p><p><b> pai[i]=i;</b>
83、;</p><p><b> }</b></p><p> paixu(pai,data,length);//將1-1000的學(xué)生按成績(jī)排序</p><p> yiben=sishewuru(length*0.1)-1;//分別按比例進(jìn)行計(jì)算并四舍五入為整數(shù)</p><p> erben=yiben+sishew
84、uru(length*0.15);</p><p> sanben=erben+sishewuru(length*0.2);</p><p> dazhuan=sanben+sishewuru(length*0.25);</p><p> yi=data[pai[yiben]].score;er=data[pai[erben]].score;</p>
85、;<p> san=data[pai[sanben]].score;si=data[pai[dazhuan]].score;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> print();</b></p&
86、gt;<p> printf("\n請(qǐng)輸入查詢(xún)碼:");</p><p> for(input=getchar();;input=getchar())</p><p><b> {</b></p><p> if(!(input>='0'&&input<=
87、39;4'))</p><p><b> {</b></p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><p><b> }</b></p><p> els
88、e break;</p><p><b> }</b></p><p> getchar();</p><p> switch(input)</p><p><b> {</b></p><p><b> case '0':</b&g
89、t;</p><p> printf("\n一類(lèi)本科招生線(xiàn):%d\n二類(lèi)本科招生線(xiàn):%d\n三類(lèi)本科招生線(xiàn):%d\</p><p> \n高職高專(zhuān)招生線(xiàn):%d\n",yi,er,san,si);</p><p> printf("是否打印為文件?(y/n):");</p><p> if(get
90、char()=='y')</p><p><b> {</b></p><p> file1=fopen("各批次錄取分?jǐn)?shù)線(xiàn).txt","w");</p><p> fprintf(file1,"一類(lèi)本科招生線(xiàn):%d\n二類(lèi)本科招生線(xiàn):%d\</p><
91、p> \n三類(lèi)本科招生線(xiàn):%d\n高職高專(zhuān)招生線(xiàn):%d\n",yi,er,san,si);</p><p> fclose(file1);</p><p><b> }</b></p><p> fflush(stdin);</p><p><b> break;</b>&
92、lt;/p><p><b> case '1':</b></p><p> func1(male,female,data,pai,yiben,erben,sanben,dazhuan);</p><p> printf("一類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[0],female[0
93、]);</p><p> printf("二類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[1],female[1]);</p><p> printf("三類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[2],female[2]);</p><p> printf("高職高專(zhuān)招生線(xiàn)
94、招生線(xiàn)男女比例:%d:%d\n",male[3],female[3]);</p><p> printf("是否打印為文件?(y/n):");</p><p> if(getchar()=='y')</p><p><b> {</b></p><p> file1=
95、fopen("各批次錄取男女比例.txt","w");</p><p> fprintf(file1,"一類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[0],female[0]);</p><p> fprintf(file1,"二類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male
96、[1],female[1]);</p><p> fprintf(file1,"三類(lèi)本科招生線(xiàn)男女比例: %d:%d\n",male[2],female[2]);</p><p> fprintf(file1,"高職高專(zhuān)招生線(xiàn)招生線(xiàn)男女比例:%d:%d\n",male[3],female[3]);</p><p>
97、; fclose(file1);</p><p><b> }</b></p><p> fflush(stdin);</p><p><b> break;</b></p><p><b> case '2':</b></p><
98、p> printf("按考號(hào)查詢(xún)輸入0 按姓名查詢(xún)輸入1\n請(qǐng)輸入查詢(xún)碼:");</p><p> for(input=getchar();;input=getchar())</p><p><b> {</b></p><p> if(input!='0'&&
99、input!='1')</p><p><b> {</b></p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><p><b> }</b></p><p&
100、gt; else break;</p><p><b> }</b></p><p> getchar();</p><p> int shuru,j,ss[10];//假設(shè)最多10個(gè)重名的</p><p> for(j=0;j<10;j++) ss[i]=0;</p><p>
101、 if(input=='0')</p><p><b> {</b></p><p> start1:printf("請(qǐng)輸入考號(hào):");</p><p> for(j=scanf("%d",&shuru);j!=1||shuru/10000!=4211;j=scan
102、f("%d",&shuru))</p><p> {//假設(shè)考號(hào)開(kāi)頭為4211</p><p> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p> fflush(stdin);</p><p><b> }</b></p>&l
103、t;p> getchar();</p><p> j=shuru%10000;//假設(shè)考號(hào)和序號(hào)的關(guān)系</p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p><p> shuru,data[j].name,data[j].sex,data[j].score);</p>
104、;<p> if(data[j].score>=yi) printf("一本\n");</p><p> else if(data[j].score>=er) printf("二本\n");</p><p> else if(data[j].score>=san) printf("三本\n")
105、;</p><p> else if(data[j].score>=si) printf("高職高專(zhuān)\n");</p><p> else printf("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");</p><p> printf("是否繼續(xù)查詢(xún)?(y/n):");</p><p>
106、 if(getchar()=='y')</p><p><b> {</b></p><p> fflush(stdin);</p><p> goto start1;</p><p><b> }</b></p><p><b>
107、}</b></p><p><b> else</b></p><p><b> {</b></p><p> start2:printf("請(qǐng)輸入姓名:");</p><p> j=func2(ss,length,data);//查找考生序號(hào)<
108、;/p><p> if(j==0) printf("查無(wú)此人!\n");</p><p> else if(j==1)</p><p><b> {</b></p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p>
109、<p> data[ss[0]].ID,data[ss[0]].name,data[ss[0]].sex,data[ss[0]].score);</p><p> if(data[ss[0]].score>=yi) printf("一本\n");</p><p> else if(data[ss[0]].score>=er) printf
110、("二本\n");</p><p> else if(data[ss[0]].score>=san) printf("三本\n");</p><p> else if(data[ss[0]].score>=si) printf("高職高專(zhuān)\n");</p><p> else printf
111、("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("有多個(gè)考生姓名為%s,數(shù)據(jù)如下:\n",
112、data[ss[0]].name);</p><p> for(j=j-1;j>=0;j--)</p><p><b> {</b></p><p> printf("該生考號(hào):%d 姓名:%s 性別:%s 分?jǐn)?shù):%d 錄取情況:",</p><p> data[ss[j]].ID,da
113、ta[ss[j]].name,data[ss[j]].sex,data[ss[j]].score);</p><p> if(data[ss[j]].score>=yi) printf("一本\n");</p><p> else if(data[ss[j]].score>=er) printf("二本\n");</p>
114、<p> else if(data[ss[j]].score>=san) printf("三本\n");</p><p> else if(data[ss[j]].score>=si) printf("高職高專(zhuān)\n");</p><p> else printf("未過(guò)線(xiàn),請(qǐng)繼續(xù)努力!\n");<
115、;/p><p><b> }</b></p><p><b> }</b></p><p> printf("是否繼續(xù)查詢(xún)?(y/n):");</p><p> if(getchar()=='y')</p><p><b>
116、 {</b></p><p> fflush(stdin);</p><p> goto start2;</p><p><b> }</b></p><p><b> }</b></p><p><b> break;</b>&l
117、t;/p><p><b> case '3':</b></p><p> fclose(file);</p><p> free(data);</p><p><b> return;</b></p><p><b> case '4&
118、#39;:</b></p><p><b> print();</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p>
119、 fclose(file);</p><p> free(data);</p><p><b> }</b></p><p> void paixu(int* pai,DATA* data,int length)</p><p><b> {</b></p><p>
120、; int i,j,temp;</p><p> for(i=0;i<length;i++)</p><p> for(j=i+1;j<length;j++)</p><p> if(data[pai[i]].score<data[pai[j]].score)</p><p><b> {</b&g
121、t;</p><p> temp=pai[i];</p><p> pai[i]=pai[j];</p><p> pai[j]=temp;</p><p><b> }</b></p><p><b> }</b></p><p> in
122、t sishewuru(double l)</p><p><b> {</b></p><p><b> if(l>1)</b></p><p><b> {</b></p><p> if((l-(int)l)<0.5) return (int)l;&l
123、t;/p><p> else return (int)l+1;</p><p><b> }</b></p><p> else return 1;</p><p><b> }</b></p><p> void func1(int* male,int* female
124、,DATA* data,int* pai,int a,int b,int c,int d)</p><p><b> {</b></p><p><b> int i;</b></p><p> for(i=0;i<4;i++) {male[i]=0;female[i]=0;}</p><p
125、> for(i=0;i<=a;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[0]++;</p><p> else female[0]++;</p><p><b> }</b></p
126、><p> for(;i<=b;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[1]++;</p><p> else female[1]++;</p><p><b> }</b&g
127、t;</p><p> for(;i<=c;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[2]++;</p><p> else female[2]++;</p><p><b> }
128、</b></p><p> for(;i<=d;i++)</p><p><b> {</b></p><p> if(data[pai[i]].sex[0]==-60) male[3]++;</p><p> else female[3]++;</p><p><
129、b> }</b></p><p><b> }</b></p><p> void print()</p><p><b> {</b></p><p> printf("--------------------------------高考招生錄取程序-----
130、--------------------------\n");</p><p> printf("今年招生計(jì)劃:一類(lèi)本科招生計(jì)劃為 10%\n 二類(lèi)本科招生計(jì)劃為 15%\n\</p><p> 三類(lèi)本科招生計(jì)劃為 20%\n 四類(lèi)高職高專(zhuān)招生計(jì)劃為25%\n");</p>
131、<p> printf("查詢(xún): \n各類(lèi)招生分?jǐn)?shù)線(xiàn)輸入 0 各批次男女比例輸入1\</p><p> \n單個(gè)學(xué)生錄取情況輸入2 退出系統(tǒng)輸入 3\n重新打印初試界面輸入4\n");</p><p><b> }</b></p><p>
132、 int func2(int* ss,int length,DATA* data)</p><p><b> {</b></p><p> int i,j=0;</p><p> char s[4];</p><p><b> while(1)</b></p><p>
133、;<b> {</b></p><p> i=scanf("%s",s);</p><p> fflush(stdin);</p><p><b> if(i!=1) </b></p><p><b> {</b></p><p
134、> printf("非法輸入,請(qǐng)重新輸入\n請(qǐng)輸入:");</p><p><b> continue;</b></p><p><b> }</b></p><p> for(i=0;i<length;i++)</p><p><b> {<
135、;/b></p><p> if(data[i].name[0]==s[0]&&data[i].name[1]==s[1]&&data[i].name[2]==s[2])</p><p><b> {</b></p><p> ss[j++]=i;</p><p><b&
136、gt; }</b></p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> return j;</b></p><p&g
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交大錄取分?jǐn)?shù)線(xiàn)2010
- 2017成人高考調(diào)整錄取分?jǐn)?shù)線(xiàn)
- 全國(guó)高考?xì)v年各省錄取分?jǐn)?shù)線(xiàn)比較與分析
- 各大學(xué)2010年錄取分?jǐn)?shù)線(xiàn)
- 中央美院2014錄取分?jǐn)?shù)線(xiàn)
- 2016體育本科最低錄取分?jǐn)?shù)線(xiàn)
- 各專(zhuān)業(yè)錄取分?jǐn)?shù)線(xiàn)湖北本科
- 2013年自主劃線(xiàn)院校錄取分?jǐn)?shù)線(xiàn)
- 2018成都高中錄取分?jǐn)?shù)線(xiàn)
- 全國(guó)各高校播音主持錄取分?jǐn)?shù)線(xiàn)
- 蘭州大學(xué)歷年錄取分?jǐn)?shù)線(xiàn)
- 2015年藝術(shù)類(lèi)分錄取分?jǐn)?shù)線(xiàn)
- 2016年普通本、專(zhuān)科分省錄取分?jǐn)?shù)線(xiàn)
- 2015年藝術(shù)類(lèi)分錄取分?jǐn)?shù)線(xiàn)
- 理學(xué)院近三年各專(zhuān)業(yè)高考錄取分?jǐn)?shù)線(xiàn)
- 佳木斯大學(xué)2018分分專(zhuān)業(yè)錄取分?jǐn)?shù)線(xiàn)
- 蘇州職業(yè)大學(xué)2015年錄取分?jǐn)?shù)線(xiàn)江蘇
- 四川單招各學(xué)校專(zhuān)業(yè)錄取分?jǐn)?shù)線(xiàn)(分?jǐn)?shù)線(xiàn)僅供參考)
- 河北農(nóng)業(yè)大學(xué)歷年錄取分?jǐn)?shù)線(xiàn)
- 蘇州職業(yè)大學(xué)2015年錄取分?jǐn)?shù)線(xiàn)江蘇
評(píng)論
0/150
提交評(píng)論