版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 實(shí)驗(yàn)題目一:車輛管理系統(tǒng)</p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> 使用標(biāo)準(zhǔn)C或C++實(shí)現(xiàn)一般管理系統(tǒng)的基本功能。進(jìn)一步鞏固C語(yǔ)言的學(xué)習(xí),培養(yǎng)一定的綜合編程能力。</p><p><b> 二、實(shí)驗(yàn)內(nèi)容</b></p><p> 題目一:車輛違章
2、管理系統(tǒng)</p><p> ?。ㄒ唬┬枰幚淼幕A(chǔ)數(shù)據(jù)</p><p> 設(shè)違章種類分為違章停車、闖紅燈、超速等三種。</p><p> 設(shè)違章停車每次罰款100元、闖紅燈每次罰款200元、超速每次罰款500元。</p><p> 需處理的車輛及違章基本信息包括:車牌號(hào)、車主姓名、違章停車次數(shù)、闖紅燈次數(shù)、超速次數(shù)</p>
3、<p><b> ?。ǘ┫到y(tǒng)功能</b></p><p> 車輛及違章信息的錄入。</p><p> 基于車牌號(hào)查詢每臺(tái)車輛的違章情況。</p><p> 基于車牌號(hào)統(tǒng)計(jì)每臺(tái)車輛的罰款總金額。</p><p> 三、系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p> 3.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用
4、法說(shuō)明</p><p> 需要處理的車輛違章信息包括:車牌號(hào)、車主姓名、違章停車次數(shù)、闖紅燈次數(shù)、超速次數(shù)。設(shè)違章種類分為違章停車、闖紅燈、超速等三種。設(shè)違章停車每次罰款100元、闖紅燈每次罰款200元、超速每次罰款500元。</p><p> 采用的數(shù)據(jù)結(jié)構(gòu)如下:</p><p> typedef struct Pe</p><p>
5、<b> {</b></p><p> char vno[8];/*車牌號(hào)*/</p><p> char name[15]; /*車主姓名*/</p><p> int times1;/*違章停車次數(shù)*/</p><p> int times2;/*闖紅燈次數(shù)*/</p><
6、p> int times3;/*超速次數(shù)*/</p><p> }PECCANCY;</p><p> 程序結(jié)構(gòu)(畫流程圖)</p><p><b> Y</b></p><p><b> Y</b></p><p><b> N</b
7、></p><p><b> 2.各模塊的功能</b></p><p> 模塊一:車輛及違章信息的錄入</p><p> 該模塊的流程為:先使用printf函數(shù)把各車輛信息錄入??梢杂肰isul C++軟件對(duì)此信息的錄入進(jìn)行優(yōu)化,對(duì)其中的各信息逐個(gè)按提示進(jìn)行錄入,用一個(gè)變量i,如果i<n,則循環(huán)錄入,否則就跳出循環(huán)。</
8、p><p> 模塊二:基于車牌號(hào)查詢違章記錄</p><p> 該模塊的流程為:把所要查詢的車牌號(hào)與之前信息錄入所編成的信息構(gòu)成的數(shù)組元素逐個(gè)相比較,如果有相同的則輸出該車輛的違章記錄,如果沒有與之相同的,則提示無(wú)違章記錄。也是用一個(gè)for循環(huán)語(yǔ)句來(lái)完成。 </p><p> 實(shí)驗(yàn)結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p> 運(yùn)行程序
9、,打印菜單項(xiàng)。輸入1,輸入車輛數(shù)目1,提示輸入車牌號(hào),輸入ji12345。提示輸入車主姓名,輸入wangming,提示輸入違停次數(shù),輸入1,提示輸入闖紅燈次數(shù),輸入1,提示輸入超速次數(shù),輸入1。。</p><p> 提示輸入要查詢的車牌號(hào),輸入AS12369,提示查無(wú)此車輛信息;</p><p> 重新進(jìn)行編譯,運(yùn)行程序,打印菜單項(xiàng)。輸入1,輸入車輛數(shù)目1,提示輸入車牌號(hào),輸入ji12
10、345。提示輸入車主姓名,輸入wangming,提示輸入違停次數(shù),輸入1,提示輸入闖紅燈次數(shù),輸入1,提示輸入超速次數(shù),輸入1。提示輸入要查詢的車輛數(shù),輸入1。</p><p> 提示輸入要查詢的車牌號(hào),輸入ji12345,顯示:該車輛違章信息如下:違停次數(shù):1;闖紅燈次數(shù)2,超速次數(shù):2;該車輛的罰款信息如下:違停罰款:100;闖紅燈罰款:400;超速罰款:1000;總罰款1500。
11、 </p><p><b> 體會(huì)</b></p><p> 本次實(shí)驗(yàn)編程過(guò)程中仍然出現(xiàn)了不少問題,但是只要掌握了所學(xué)基本知識(shí),細(xì)心編碼,通過(guò)編譯查找小問題,逐塊進(jìn)行,自然水到渠成,本次實(shí)驗(yàn)讓我體會(huì)到,編寫程序時(shí),一定要認(rèn)真仔細(xì),避免一些小錯(cuò)誤而影響整個(gè)程序的運(yùn)行。</p><p&g
12、t;<b> 附錄:程序清單</b></p><p> /*車輛違章管理系統(tǒng)*/</p><p> #include<stdio.h></p><p> #include<string.h></p><p> typedef struct Pe</p><p>&
13、lt;b> {</b></p><p> char vno[8]; /*車牌號(hào)*/</p><p> char name[15]; /*車主姓名*/</p><p> int times1; /*違章停車次數(shù)*/</p><p> int times2; /*
14、闖紅燈次數(shù)*/</p><p> int times3; /*超速次數(shù)*/ </p><p> }PECCANCY;</p><p> struct Pe Pe[100];</p><p><b> int a;</b></p><p> void i
15、nput() </p><p><b> {int b,i;</b></p><p> printf("請(qǐng)輸入需要錄入信息的個(gè)數(shù):\n");</p><p> scanf("%d",&b);</p>
16、<p> for(i=0;i<b;i++)</p><p> {printf("請(qǐng)輸入車牌號(hào)碼:\n");</p><p> scanf("%s",Pe[i].vno);</p><p> printf("請(qǐng)輸入車主姓名:\n");</p><p> sca
17、nf("%s",Pe[i].name);</p><p> printf("請(qǐng)輸入該車違章停車次數(shù):\n");</p><p> scanf("%d",&Pe[i].times1);</p><p> printf("請(qǐng)輸入該車闖紅燈次數(shù):\n");</p>
18、<p> scanf("%d",&Pe[i].times2);</p><p> printf("請(qǐng)輸入該車超速次數(shù):\n");</p><p> scanf("%d",&Pe[i].times3);</p><p> printf("\n");<
19、/p><p><b> }</b></p><p><b> }</b></p><p> void search() /{char num[8];</p><p> int c,d=0,i;</p>
20、<p> printf("請(qǐng)輸入要查詢車輛的車牌號(hào)碼:\n");</p><p> scanf("%s",num);</p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p> if(strcmp(nu
21、m,Pe[i].vno)==0)</p><p><b> {c=i;</b></p><p><b> d++;}</b></p><p> } </p><p> if(d==0) printf("查無(wú)此車信息\n");<
22、;/p><p><b> else</b></p><p><b> {</b></p><p> printf("%s %s\n該車違章停車%d次,times2(闖紅燈)%d次,超速行駛%d次\n",Pe[c].vno,Pe[c].name,Pe[c].times1,Pe[c].times2,Pe[
23、c].times3);</p><p><b> }</b></p><p><b> }</b></p><p> void fine() {char num[8];</p><p> int i,sum,f=0
24、;</p><p> printf("請(qǐng)輸入要查詢車輛的車牌號(hào)碼:\n");</p><p> scanf("%s",num);</p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p>
25、if(strcmp(num,Pe[i].vno)==0)</p><p><b> {f++;</b></p><p> sum=Pe[i].times1*100+Pe[i].times2*200+Pe[i].times3*500;</p><p><b> }</b></p><p> }
26、 </p><p> if(f==0) printf("查無(wú)此車信息\n");</p><p><b> else</b></p><p> {printf("%s %s\n該車罰款總金額為%d元。\n",Pe[i].vno,Pe[i].name,sum);
27、}</p><p><b> }</b></p><p> void main() </p><p> {printf(" ***************程序主菜單**************\n *歡迎您使用車輛違章管理系統(tǒng)*\n&q
28、uot;); /*系統(tǒng)目錄創(chuàng)建*/</p><p> printf(" \n");</p><p> printf("[1.車輛及違章信息的錄入。]\n \n[2.基于車牌號(hào)查詢每臺(tái)車輛的違章情況。]\n \n[3.基于
29、車牌號(hào)統(tǒng)計(jì)每臺(tái)車輛的罰款總金額。]\n \n[4.退出系統(tǒng)。]\n \n");</p><p> printf("請(qǐng)輸入服務(wù)項(xiàng)目代號(hào):\n");</p><p> printf(" \n");</p><p> p
30、rintf("退出系統(tǒng)請(qǐng)按4!\n");</p><p> scanf("%d",&a);</p><p> while(a!=4){</p><p><b> switch(a)</b></p><p> {case 1: input() ; break;<
31、/p><p> case 2: search(); break;</p><p> case 3: fine() ; break;</p><p> case 4: break;</p><p> default:printf("您的輸入有誤請(qǐng)重試。\n");</p><p&g
32、t;<b> }</b></p><p> printf("請(qǐng)?jiān)俅屋斎敕?wù)項(xiàng)目代號(hào):\n");</p><p> scanf("%d",&a);</p><p><b> }</b></p><p> 實(shí)驗(yàn)題目二:學(xué)生成績(jī)管理系統(tǒng)</p
33、><p> 一、需要處理的基礎(chǔ)數(shù)據(jù)</p><p> 學(xué)生基本信息包括:學(xué)號(hào)(如2010級(jí)14班6號(hào)寫作20101406)</p><p><b> 姓名</b></p><p><b> 性別</b></p><p><b> 出生年月日</b>
34、</p><p> 課程對(duì)應(yīng)的考試成績(jī)(外語(yǔ)SCORE[0]、高數(shù)SCORE[1]、C語(yǔ)言SCORE[2]、馬哲SCORE[3])</p><p><b> 平均成績(jī)和總成績(jī)</b></p><p><b> 二、系統(tǒng)功能</b></p><p> 學(xué)生基本情況錄入。要求對(duì)輸入的性別、出生年
35、月日的合理性進(jìn)行判斷(如0代表“女”,1代表“男”,輸入其他值非法,年齡不能為負(fù),月份不能大于13等)。</p><p> 允許對(duì)已經(jīng)錄入的數(shù)據(jù)進(jìn)行顯示。</p><p> 允許進(jìn)行數(shù)據(jù)的插入。</p><p> 刪除基本數(shù)據(jù)的相關(guān)信息。</p><p> 基于姓名的查詢。如:姓張的所有同學(xué)。</p><p>
36、 基于各種基本數(shù)據(jù)的統(tǒng)計(jì)計(jì)算。如:</p><p> ?、俳y(tǒng)計(jì)每個(gè)學(xué)生各門功課的平均成績(jī),并按平均成績(jī)從高到低的次序排名輸出每個(gè)學(xué)生各門功課的綜合成績(jī)和平均成績(jī)(名次、學(xué)號(hào)、姓名、平均成績(jī)、各門功課的考試成績(jī))。</p><p> ②列出90分及以上、80分及以上、70分及以上、60分及以上、不及格學(xué)生清單(學(xué)號(hào)、姓名、不及格的課程和成績(jī))。</p><p>
37、 ③統(tǒng)計(jì)并輸出各門功課的平均成績(jī)和總平均成績(jī)。</p><p> ?、馨窗嗉?jí)統(tǒng)計(jì)并輸出總成績(jī)(需對(duì)學(xué)號(hào)進(jìn)行解析)。</p><p> 2.系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p> 3.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說(shuō)明</p><p> 學(xué)生基本信息:學(xué)號(hào)(例如2011級(jí)21班10號(hào)寫作52112110)、姓名、性別、出生年月日、課程名稱(外語(yǔ)SCOR
38、E[0]、高數(shù)SCORE[1]、C語(yǔ)言SCORE[2]、馬哲SCORE[3])、考試成績(jī)等。這些信息采用結(jié)構(gòu)體數(shù)據(jù)類型表示更為方便。同時(shí),學(xué)生數(shù)量可能的不確定性,采用鏈表存數(shù)更符合實(shí)際。所以采用結(jié)構(gòu)體數(shù)據(jù)結(jié)構(gòu)。</p><p> typedef struct St1 </p><p><b> {</b></p><p> char
39、IDNumber[16];/*學(xué)號(hào)*/</p><p> char FamilyName[16]; /*姓*/</p><p> char GivenName[16]; /*名*/</p><p> int sex; /*性別(0代表“女”,1代表“男”)*/</p><p> int BirthYear; /*出生年*/</p
40、><p> int BirthMonth; /*出生月*/</p><p> int BirthDay; /*出生日*/</p><p> float score[4]; /*成績(jī)*/</p><p> float sum; /*總分*/</p><p> float average; /*平均分*/</p
41、><p> struct St1 *next; </p><p> }StudentNode;</p><p> 其中char IDNumber[16]用來(lái)存儲(chǔ)學(xué)號(hào),char FamilyName[16]用來(lái)存儲(chǔ)姓,char GivenName[16]用來(lái)存儲(chǔ)名,int sex存儲(chǔ)性別(0代表“女”,1代表“男”),int BirthYear;存儲(chǔ)年份,int B
42、irthMonth存儲(chǔ)月份。int BirthDay存儲(chǔ)日,float score[4]存儲(chǔ)四門課的成績(jī),float sum存儲(chǔ)總分,float average存儲(chǔ)平均分,struct St1 *next存儲(chǔ)結(jié)構(gòu)體指針。</p><p> 4.程序結(jié)構(gòu)(畫流程圖)</p><p><b> ?。鞒虉D參見下頁(yè))</b></p><p><
43、;b> 5.各模塊的功能</b></p><p> 各模塊的功能在程序中的說(shuō)明處都已寫明,此處不再贅述。其中系統(tǒng)調(diào)用的函數(shù)功能如下。</p><p> 1) struct student*creat(void)表示的是信息錄入的結(jié)構(gòu)體功能函數(shù)</p><p> 2) struct student *del() struct stude
44、nt *p1傳遞頭指針,如果輸入的要?jiǎng)h除的數(shù)據(jù)為前面錄入的信息中的數(shù)據(jù),則顯示刪除成功,否則顯示數(shù)據(jù)未找到。此函數(shù)完成刪除功能。</p><p> 3) void print()為顯示功能函數(shù)。顯示前面已經(jīng)錄入的信息,如果先執(zhí)行的刪除函數(shù),則顯示的是錄入數(shù)據(jù)除去一刪除的數(shù)據(jù)。</p><p> 4) struct student *insert() 為信息插入函數(shù)。該函數(shù)對(duì)要插入的信息
45、逐個(gè)進(jìn)行提示。在此之前,先對(duì)已有的學(xué)生的學(xué)號(hào)進(jìn)行排序,然后才執(zhí)行排序功能。</p><p> 5) void print()為顯示功能函數(shù)。顯示前面已經(jīng)錄入的信息,如果先執(zhí)行的刪除函數(shù),則顯示的是錄入數(shù)據(jù)除去一刪除的數(shù)據(jù)。</p><p> 6) struct student *insert() 為信息插入函數(shù)。該函數(shù)對(duì)要插入的信息逐個(gè)進(jìn)行提示。在此之前,先對(duì)已有的學(xué)生的學(xué)號(hào)進(jìn)行排序,
46、然后才執(zhí)行排序功能。</p><p> 7)void search() 為錄入學(xué)生信息進(jìn)行基于姓名查找記錄的功能函數(shù)</p><p> 8)void compute()為計(jì)算總成績(jī)和平均成績(jī)的函數(shù)。</p><p> 9)void query()為按班級(jí)查詢學(xué)生總分的函數(shù)</p><p> 10) struct student *ra
47、nk()為排序功能函數(shù)。</p><p> 以上各函數(shù)的功能實(shí)現(xiàn)思路均在程序里有體現(xiàn)。</p><p> 6.運(yùn)行結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p> 輸入1,提示請(qǐng)輸入學(xué)號(hào);輸入52112016,提示請(qǐng)輸入班級(jí),輸入20;提示請(qǐng)輸入姓;輸入趙,提示請(qǐng)輸入名;輸入鵬,提示請(qǐng)輸入性別;輸入1,提示請(qǐng)輸入出生年;輸入1991,提示請(qǐng)輸入出生月;輸入12
48、,提示請(qǐng)輸入出生日;輸入04,提示請(qǐng)輸入外語(yǔ)成績(jī);輸入89,提示請(qǐng)輸入高數(shù)成績(jī);輸入85,提示請(qǐng)輸入C語(yǔ)言成績(jī);輸入90,提示請(qǐng)輸入馬哲成績(jī);輸入98。</p><p> 然后顯示“請(qǐng)輸入您要查找的菜單”</p><p> 選擇2,則提示輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào),如果輸入的與已錄入的信息不一致(如52112025)則顯示“對(duì)不起,無(wú)此學(xué)生信息記錄”</p><p>
49、; 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單”</p><p> 選擇3,則直接顯示出上官西門的學(xué)生成績(jī),包括總分和平均分。</p><p> 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單”</p><p> 輸入4,下面繼續(xù)提示請(qǐng)輸入您要查找的學(xué)生的姓名。如果輸入的與“趙鵬”不一樣,則提示“無(wú)記錄”,若一致則輸出錄入的正確信息。 </p><p>
50、 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單” </p><p> 選擇5,提示“請(qǐng)輸入文件的絕對(duì)路徑”,輸入 D:\\s ,顯示“文件保存成功” </p><p> 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單”</p><p> 選擇6,提示“請(qǐng)輸入文件的絕對(duì)路徑” ,輸入 D:\\s ,提示“文件讀取成功”。</p><p> 然后繼續(xù)顯示“
51、請(qǐng)輸入您要查找的菜單”</p><p> 選擇7,提示“請(qǐng)輸入需要計(jì)算總分與平均分的學(xué)生的學(xué)號(hào)”,輸入后顯示學(xué)生的平均分的學(xué)生的學(xué)號(hào)。</p><p> 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單”</p><p> 選擇8,提示“請(qǐng)選擇顯示學(xué)生總分的班級(jí)”,輸入班級(jí)后就顯示出了該班級(jí)的學(xué)生總分。</p><p> 然后繼續(xù)顯示“請(qǐng)輸入您要查
52、找的菜單”</p><p> 選擇9,提示“請(qǐng)輸入要插入的學(xué)生學(xué)號(hào)”,輸入后提示輸入班級(jí)和各科成績(jī),輸入后進(jìn)行了插入功能。</p><p> 然后繼續(xù)顯示“請(qǐng)輸入您要查找的菜單”</p><p> 輸入10,退出了程序</p><p><b> 7.體會(huì)</b></p><p> 此次程
53、序設(shè)計(jì)運(yùn)用了鏈表,而之前我對(duì)鏈表還是未入門。通過(guò)這次試驗(yàn),我認(rèn)真的把書上的鏈表知識(shí)學(xué)習(xí)了一遍,加上實(shí)驗(yàn)使我更加快更加深刻的理解了它。在這次實(shí)驗(yàn)中收獲頗豐??偨Y(jié)此次設(shè)計(jì)過(guò)程,前面的幾個(gè)過(guò)程均是我自己翻看課本然后套用格式進(jìn)行下來(lái)的,都得到了正確的結(jié)果。但是其中有幾個(gè)功能,如按姓名查找,輸入班級(jí)計(jì)算總分和將鏈表中記錄保存到文件中這三個(gè)功能,由于對(duì)鏈表并沒有深刻理解,課本上也沒涉及這些功能的例子,所以只好借鑒同學(xué)的部分程序,經(jīng)過(guò)自己的處理,讓結(jié)
54、果運(yùn)行了出來(lái),但是排序的功能真的是有些困難,所以經(jīng)過(guò)向同學(xué)請(qǐng)教加上自己的思考,,也有很大收獲,所以這次實(shí)驗(yàn)對(duì)我的學(xué)習(xí)和生活的意義是重大的。</p><p><b> 附錄:程序清單</b></p><p> /*學(xué)生成績(jī)管理系統(tǒng)*/</p><p> #include<stdio.h></p><p>
55、 #include<process.h></p><p> #include <time.h ></p><p> #include<string.h ></p><p> #define M 100</p><p> #define null 0</p><p
56、> typedef struct St1 </p><p><b> {</b></p><p> char idnumber[16];/*學(xué)號(hào)*/</p><p> char familyname[16]; /*姓*/</p><p> char givenname[16]; /*名*/</p
57、><p> int sex; /*性別(0代表"女",1代表"男")*/</p><p> int birthyear; /*出生年*/</p><p> int birthmonth; /*出生月*/</p><p> int birthday; /*出生日*/</p><p&
58、gt; char les;/*課程名稱*/</p><p> float score[100]; /*成績(jī)*/</p><p> float sum; /*總分*/</p><p> float average; /*平均分*/</p><p> struct St1 *next; </p><p> }S
59、tudentnode;</p><p> Studentnode stu[M],*head,*p,*q,stu1,*pre;</p><p> void main()</p><p><b> { </b></p><p> int num;int x=1;</p><p> voi
60、d shuru();</p><p> void shanchu() ;</p><p> void chazhao();</p><p> void jisuan();</p><p> void chafen();</p><p> void charu(); </p><p>&
61、lt;b> while (x)</b></p><p><b> {</b></p><p> printf("\n ***********************************\n");</p><p> printf(" \n");
62、</p><p> printf(" 歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng)\n");</p><p> printf(" \n");</p><p> printf("******************
63、*****************\n");</p><p> printf(" \n");</p><p> printf(" [ 1. 輸入學(xué)生信息 ] \n");</p><p> printf
64、(" [ 2. 刪除已有學(xué)生信息 ] \n");</p><p> printf(" [ 3. 根據(jù)姓名查找 ] \n");</p><p> printf(" [ 4. 計(jì)算成績(jī) ] \n");</p><p> printf("
65、 [ 5. 按班級(jí)查找 ] \n");</p><p> printf(" [ 6. 插入學(xué)生信息 ] \n");</p><p> printf(" [ 7.退出 ] \n");</p><p> printf("
66、 \n");</p><p> printf(" 請(qǐng)選擇 : ");</p><p> scanf("%d",&num);</p><p> switch (num)</p><p><b> {</b&
67、gt;</p><p> case 1: shuru(); break;</p><p> case 2: shanchu();break;</p><p> case 3: chazhao();break;</p><p> case 4: jisuan(); break;</p><p> ca
68、se 5: chafen(); break;</p><p> case 6: charu(); break;</p><p> case 7: x=0;break;</p><p> default: printf("輸入有誤!\n");</p><p><b> }</b></
69、p><p><b> }</b></p><p><b> }</b></p><p> void shuru()</p><p> { struct tm * ptm;</p><p> long ts;</p><p> i
70、nt y,m,d,h,n,s;</p><p> ts = time(NULL); </p><p> ptm = localtime(&ts); </p><p> y = ptm-> tm_year+1900; //年 </p><p> m = ptm-> tm_m
71、on+1; //月</p><p> d = ptm-> tm_mday; //日</p><p> h = ptm-> tm_hour; //時(shí)</p><p> n = ptm-> tm_min; //分</p><p>
72、; s = ptm-> tm_sec; //秒</p><p> int key,xb1,year,month,day; int i;</p><p><b> head=stu;</b></p><p> for (i=0;i<M;i++)</p><p> {pri
73、ntf("輸入請(qǐng)按1,返回請(qǐng)按2\n");</p><p> scanf("%d",&key);</p><p> if (key==1)</p><p> { printf ("輸入學(xué)號(hào):\n");</p><p> scanf ("%s",s
74、tu[i].idnumber);</p><p> printf ("輸入姓氏:\n");</p><p> scanf ("%s",stu[i].familyname);</p><p> printf("\n輸入名字:\n");</p><p> scanf ("
75、;%s",stu[i].givenname);</p><p> printf("輸入性別:\n(0代表'女',1代表'男')\n");</p><p> scanf ("%d",&xb1);</p><p> if (xb1==0||xb1==1) stu[i].s
76、ex=xb1;</p><p><b> else </b></p><p> printf("輸入有誤!\n");</p><p> printf("\n輸入出生年:\n");</p><p> scanf ("%d",&year);</
77、p><p> printf("\n輸入出生月:\n");</p><p> scanf ("%d",&month);</p><p> printf("\n輸入出生日:\n");</p><p> scanf ("%d",&day);</
78、p><p> if(year<y) stu[i].birthyear=year;</p><p><b> else</b></p><p> printf("輸入有誤!\n");</p><p> if (month<13)stu[i].birthmonth=month;</p
79、><p><b> else</b></p><p> printf("輸入有誤!\n");</p><p> if (day<32)stu[i].birthday=day;</p><p><b> else </b></p><p> pr
80、intf("輸入有誤!\n");</p><p> printf("高數(shù):\n");</p><p> scanf ("%f",&stu[i].score[1]);</p><p> printf("c語(yǔ)言:\n");</p><p> scanf
81、 ("%f",&stu[i].score[2]);</p><p> printf("馬哲:\n"); </p><p> scanf ("%f",&stu[i].score[3]);</p><p> printf("外語(yǔ):\n");</p><
82、;p> scanf ("%f",&stu[i].score[4]);</p><p> printf("思修:\n");</p><p> scanf ("%f",&stu[i].score[5]);</p><p> printf("毛概:\n");<
83、;/p><p> scanf ("%f",&stu[i].score[6]);</p><p> printf("信號(hào):\n");</p><p> scanf ("%f",&stu[i].score[7]);</p><p> printf("電路:\
84、n");</p><p> scanf ("%f",&stu[i].score[8]);</p><p> stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]+stu[i].score[4]+stu[i].score[5]+stu[i].score[6
85、]+stu[i].score[7]+stu[i].score[8];</p><p> printf("總分:%f\n",stu[i].sum);</p><p> stu[i].average=stu[i].sum/8;</p><p> printf("平均分:%f\n",stu[i].average);</p
86、><p> head=stu;stu[i].next=&stu[i+1];</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> stu[i].next=n
87、ull;</p><p><b> break;}</b></p><p><b> }</b></p><p><b> }</b></p><p> void shanchu()</p><p> {char id[16];int k;&l
88、t;/p><p> printf("輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):");</p><p> scanf("%s",id);</p><p> for (k=0;k<M;k++)</p><p> {if (strcmp(id,stu[k].idnumber)==0)</p><p
89、> { if (k==0)</p><p> {head=&stu[1];</p><p> printf("記錄已刪除!");</p><p><b> break;</b></p><p><b> }</b></p><
90、p><b> else</b></p><p> if (stu[k].next!=null)</p><p> { stu[k-1].next=&stu[k+1];</p><p> printf("記錄已刪除!");</p><p><b> break;<
91、/b></p><p><b> }</b></p><p> else stu[k-1].next=null;</p><p> printf("記錄已刪除!");</p><p><b> break;</b></p><p><b
92、> }</b></p><p><b> }</b></p><p><b> if (k==M)</b></p><p> printf ("不存在此信息");</p><p><b> }</b></p><
93、;p> void chazhao()</p><p> {char name[16];</p><p> printf("請(qǐng)輸入要查找的姓氏:");</p><p> scanf ("%s",name);</p><p><b> p=head;</b></p
94、><p> while (p->next!=null)</p><p><b> {</b></p><p> if (strcmp(p->familyname,name)==0)</p><p> { printf("學(xué)號(hào):%s,姓氏:%s名字:%s性別:%d出生年:%d月:%d日:%d \n
95、",p->idnumber,p->familyname,p->givenname,p->sex,p->birthyear,p->birthmonth,p->birthday);</p><p> printf("高數(shù):%fc語(yǔ)言:%f馬哲:%f外語(yǔ):%f思修:%f毛概:%f信號(hào):%f電路:%f總分:%f平均分:%f\n",p->sco
96、re[1],p->score[2],p->score[3],p->score[4],p->score[5],p->score[6],p->score[7],p->score[8],p->sum,p->average);</p><p><b> }</b></p><p> p=p->next;</
97、p><p><b> }</b></p><p><b> }</b></p><p> void jisuan()</p><p><b> { </b></p><p><b> int y; </b></p&g
98、t;<p> void paixu();</p><p> void gdfs();</p><p> void zpjf();</p><p> printf("請(qǐng)輸入要查詢的項(xiàng)目:\n");</p><p> printf(" 1:每位學(xué)生的平均分,總分. \
99、n");</p><p> printf(" 2:各檔學(xué)生的名單及學(xué)科. \n");</p><p> printf(" 3:每個(gè)學(xué)科的平均分和總平均分. \n");</p><p> printf(" Please Choose : &q
100、uot;);</p><p> scanf("%d",&y);</p><p> switch (y)</p><p><b> {</b></p><p> case 1: paixu(); break;</p><p> case 2: gdfs();br
101、eak;</p><p> case 3: zpjf(); break;</p><p> default: printf("輸入有誤!");</p><p><b> }</b></p><p><b> } </b></p><p> voi
102、d paixu()</p><p><b> { </b></p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p> { printf("學(xué)號(hào):%s姓氏:%s名字:%s性別:%d出生年:%d月:%d日:%
103、d \n",p->idnumber,p->familyname,p->givenname,p->sex,p->birthyear,p->birthmonth,p->birthday);</p><p> printf("外語(yǔ):%f高數(shù):%fc語(yǔ)言:%f馬哲:%f總分:%f平均分:%f\n",p->score[0],p->scor
104、e[1],p->score[2],p->score[3],p->sum,p->average);</p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p> void gdfs()<
105、/p><p><b> { </b></p><p> printf("下面是外語(yǔ)70分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><
106、;b> { </b></p><p> if (p->score[4]>=70)</p><p> printf ("\n學(xué)號(hào):%s姓氏:%s名字:%s外語(yǔ):%f\n",p->idnumber,p->familyname,p->givenname,p->score[4]);</p><p
107、> p=p->next;</p><p><b> }</b></p><p> printf("下面是外語(yǔ)80分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)&l
108、t;/p><p><b> { </b></p><p> if (p->score[4]>=80)</p><p> printf ("\n學(xué)號(hào):%s姓氏:%s名字:%s外語(yǔ):%f\n",p->idnumber,p->familyname,p->givenname,p->score
109、[4]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("下面是外語(yǔ)90分以上的名單:\n");</p><p><b> p=head;</b></p><p> whil
110、e (p->next!=null)</p><p><b> { </b></p><p> if (p->score[4]>=90)</p><p> printf ("\n學(xué)號(hào):%s姓氏:%s名字:%s外語(yǔ):%f\n",p->idnumber,p->familyname,p->
111、;givenname,p->score[4]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("下面是高數(shù)70分以上的名單:\n");</p><p><b> p=head;</b></
112、p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[1]>=70)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%s高數(shù):%f\n",p->idnumber,p-&
113、gt;familyname,p->givenname,p->score[1]);</p><p> p=p->next;</p><p><b> } </b></p><p> printf("下面是高數(shù)80分以上的名單:\n");</p><p><b> p=
114、head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[1]>=80)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%s高數(shù):%f\n"
115、;,p->idnumber,p->familyname,p->givenname,p->score[1]);</p><p> p=p->next;</p><p><b> }</b></p><p><b> p=head;</b></p><p> pri
116、ntf("下面是高數(shù)90分以上的名單:\n");</p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[1]>=90)</p><p> printf ("學(xué)號(hào):%s姓氏:%
117、s名字:%s高數(shù):%f\n",p->idnumber,p->familyname,p->givenname,p->score[1]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("下面是c語(yǔ)言70分以上的名單:\n&quo
118、t;);</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[2]>=70)</p><p> pr
119、intf ("學(xué)號(hào):%s姓氏:%s名字:%sc語(yǔ)言:%f\n",p->idnumber,p->familyname,p->givenname,p->score[2]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("
120、;下面是c語(yǔ)言80分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[2]>=80)<
121、/p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%sc語(yǔ)言:%f\n",p->idnumber,p->familyname,p->givenname,p->score[2]);</p><p> p=p->next;</p><p><b> }</b></p>&l
122、t;p> printf("下面是c語(yǔ)言90分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->
123、;score[2]>=90)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%sc語(yǔ)言:%f\n",p->idnumber,p->familyname,p->givenname,p->score[2]);</p><p> p=p->next;</p><p><b> }<
124、;/b></p><p> printf("下面是馬哲70分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p>
125、<p> if (p->score[3]>=70)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%s馬哲:%f\n",p->idnumber,p->familyname,p->givenname,p->score[3]);</p><p> p=p->next;</p><
126、p><b> }</b></p><p> printf("下面是馬哲80分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { &
127、lt;/b></p><p> if (p->score[3]>=80)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%s馬哲:%f\n",p->idnumber,p->familyname,p->givenname,p->score[3]);</p><p> p=p->n
128、ext;</p><p><b> }</b></p><p> printf("下面是馬哲90分以上的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p
129、><b> { </b></p><p> if (p->score[3]>=90)</p><p> printf ("學(xué)號(hào):%s姓氏:%s名字:%s馬哲:%f\n",p->idnumber,p->familyname,p->givenname,p->score[3]);</p>&l
130、t;p> p=p->next;</p><p><b> }</b></p><p> printf("以下為不及格學(xué)生名單及學(xué)科,分?jǐn)?shù)\n");</p><p> printf("下面是外語(yǔ)不及格的名單:\n");</p><p><b> p=h
131、ead;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[0]<60)</p><p> printf ("\n學(xué)號(hào):%s姓氏:%s名字:%s外語(yǔ):%f\n&quo
132、t;,p->idnumber,p->familyname,p->givenname,p->score[0]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("下面是高數(shù)不及格的名單:\n");</p><
133、p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[1]<60)</p><p> printf ("\n學(xué)號(hào):%s姓氏
134、:%s名字:%s高數(shù):%f\n",p->idnumber,p->familyname,p->givenname,p->score[1]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf("下面是c語(yǔ)言不及格的名單:\n&quo
135、t;);</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[2]<60)</p><p> pri
136、ntf ("\n學(xué)號(hào):%s姓氏:%s名字:%sc語(yǔ)言:%f\n",p->idnumber,p->familyname,p->givenname,p->score[2]);</p><p> p=p->next;</p><p><b> }</b></p><p> printf(&quo
137、t;下面是馬哲不及格的名單:\n");</p><p><b> p=head;</b></p><p> while (p->next!=null)</p><p><b> { </b></p><p> if (p->score[3]<60)</p
138、><p> printf ("\n學(xué)號(hào):%s姓氏:%s名字:%s馬哲:%f\n",p->idnumber,p->familyname,p->givenname,p->score[3]);</p><p> p=p->next;</p><p><b> }</b></p><
139、;p><b> }</b></p><p> void zpjf() </p><p><b> {</b></p><p> float y=0.0,g=0.0,c=0.0,m=0.0; float ay,av,ag,ac,am;</p><p><b> int i=0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)9
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)10
- vfp課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)
- java課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- vfp課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- vb課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- vb課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論