版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C 語言程序設(shè)計(jì)課程設(shè)計(jì)大作業(yè)- 學(xué)生成績(jī)管理系統(tǒng)計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)與應(yīng)用系C程序設(shè)計(jì)報(bào)告成績(jī)管理系統(tǒng)設(shè)計(jì)學(xué)生姓名:* *學(xué)號(hào) :1004681082班級(jí) : 計(jì) 科 102指導(dǎo)老師:* *報(bào)告日期:2011-02-161) 題目與要求1)問題提出本人計(jì)劃編寫一個(gè)學(xué)生信息管理系統(tǒng),主要用來管理學(xué)生基本信息及成績(jī)信息。2) 本系統(tǒng)涉及的知識(shí)點(diǎn)單鏈表、結(jié)構(gòu)體、函數(shù)、循環(huán)、指針、選擇3) 功能要求(1) 建立學(xué)生信息,每個(gè)學(xué)生的信息包括: 學(xué)號(hào)、姓名、成績(jī)。(2) 求出每個(gè)學(xué)生的總分和平均分。(3) 查找: 根據(jù)學(xué)號(hào)、姓名、成績(jī)、總分、平均分中任一項(xiàng)查詢?cè)撋幕拘畔ⅰ?4) 排序: 根據(jù)學(xué)號(hào)
2、或總分將學(xué)生的信息按照一定的順序進(jìn)行排序。(5) 根據(jù)需要修改學(xué)生的基本信息。(6) 根據(jù)實(shí)際情況刪除某生的信息。(7) 根據(jù)實(shí)際情況插入某生的信息。(8) 輸出。2. 功能設(shè)計(jì)1)算法設(shè)計(jì)(1) 利用 switch 語句設(shè)計(jì)如圖所示的主菜單。請(qǐng)輸入選項(xiàng)編號(hào)1查找2排序3學(xué)生信息的修改4鏈表的刪除5鏈表的插入6鏈表的輸出7退出圖 1 學(xué)生信息管理系統(tǒng)主菜單(2) 選擇1 后,調(diào)用查找函數(shù)search ,進(jìn)入查找函數(shù)后利用switch 語句實(shí)現(xiàn)如圖所示的查找子菜單。該菜單中每個(gè)選項(xiàng)調(diào)用一個(gè)函數(shù)( 除選項(xiàng) 10 外 ) 。查找菜單請(qǐng)輸入選項(xiàng)編號(hào)1按學(xué)號(hào)查找2按姓名查找3按C語言分?jǐn)?shù)查找4按高數(shù)分?jǐn)?shù)
3、查找5按英語分?jǐn)?shù)查找6按總分查找7按平均分查找8總分前三名9不及格者10班級(jí)成績(jī)情況11退出圖 2 查找子菜單(3) 選項(xiàng) 2 后, 調(diào)用排序函數(shù)arrange ,進(jìn)入查找函數(shù)后利用switch 語句實(shí)現(xiàn)如圖所示的查找子菜單。該菜單中每個(gè)每個(gè)選項(xiàng)調(diào)用一個(gè)函數(shù)( 除 3 外 ) 。排序菜單輸入選項(xiàng)編號(hào)1按學(xué)號(hào)排序2按總分排序3退出圖 3 排序子菜單(4) 選擇 3 后,調(diào)用修改函數(shù)correct ,修改某個(gè)學(xué)生的信息。(5) 選擇 4后,調(diào)用刪除函數(shù)del ,根據(jù)需要?jiǎng)h除某個(gè)學(xué)生的信息。(6) 選擇 5 后,調(diào)用插入函數(shù)insert ,根據(jù)需要插入某個(gè)學(xué)生的信息。(7) 選擇 6 后,調(diào)用輸出函
4、數(shù)output ,將每個(gè)學(xué)生的信息全部輸出。(8) 選擇 7 后,退出學(xué)生信息管理系統(tǒng)。(9) 根據(jù)所選菜單編號(hào)編寫相應(yīng)代碼。(a)函數(shù)welcome:歡迎用戶使用。(b) 函數(shù)about: 簡(jiǎn)要介紹本程序。(c) 函數(shù)create: 創(chuàng)建單鏈表, 采用循環(huán)輸入的方式輸入學(xué)生的基本信息。(d)SnoSearch: 根據(jù)學(xué)號(hào)查找,輸出該生的基本信息。(e)函數(shù) NameSearch根據(jù)姓名查找,輸出該生的基本信息。函數(shù)CYuYanSearch根據(jù)C語言成績(jī)成績(jī)查 找,輸出該生的基本信息。(g)函數(shù)GaoShuSearch根據(jù)高數(shù)成績(jī)查找,輸出該生 的基本信息。(h) 函數(shù) YingYuSearc
5、h: 根據(jù)英語成績(jī)查找,輸出該生的基本信息。(i)函數(shù)ZongFenSearch:根據(jù)總分查找,輸出該生的基本信息。 (j)函數(shù) AverageSearch:根據(jù)平均分查找,輸出該生的基本信息。k)函數(shù)QSMSearch查看班級(jí)前三名學(xué)生信息情況。(l) 函數(shù) BuJiGeSearch: 查看班級(jí)不及格學(xué)生信息情況。成績(jī)菜單輸入選項(xiàng)編號(hào)1 C 語言不及格者2高數(shù)不及格者3英語不及格者4不及格者5全不及格者6退出圖 4 成績(jī)子菜單(m)函數(shù)ClassScore:查看班級(jí)成績(jī)平均分整體情況。(n) 函數(shù) SnoArrange: 按照學(xué)號(hào)將學(xué)生信息進(jìn)行排序。(o) 函數(shù)ZongFenArrange:
6、 按照總分將學(xué)生信息進(jìn)行排序。(n) 函數(shù) over: 感謝用戶使用。2) 畫模塊圖r -rp_, 、/一顯示按學(xué)歡迎號(hào)查界面找顯示按姓程序名查按C介紹找語言不及輸 入 按成格者績(jī)查查 找成績(jī)找查找按總按高分查數(shù)不排序找及格者查 主 找 模修改按平塊 學(xué)生均分信息查找按英語不刪除按前及格學(xué)生三名者查 信 息 查 找 找插入按不學(xué)生及格按不信 息 查 找 及格者查輸出按學(xué)找學(xué)生號(hào)排信息序按全顯示按總不及結(jié)束分排格者界 面 序 查 找圖 5 成績(jī)管理系統(tǒng)模塊圖3) 畫部分模塊的流程圖開始輸入學(xué)生信息pnew->score=pnew->score1+pnew->score2+pne
7、w->score3;pnew->avg=pnew->score/3a=pnew->snoN Yp->next=NULL輸入學(xué)生信息結(jié)束pnew->score=pnew->score1+pnew->score2+pnew->score3;pnew->avg=pnew->score/3圖6 creat函數(shù)流程圖開始輸入at+t=num+1YNp=p->next a=p->snoNY輸出學(xué)生信息結(jié)束圖7 SnoSearch函數(shù)流程圖開始輸入bt=0;flag=0;p=head;t+Y Nt=num+1Yflag=0 k=0
8、NN Y結(jié)束flag=1輸出學(xué)生信息p=p->next圖8 NameSearch函數(shù)流程圖開始s=0;r=0;w=0;t=0m=0;n=0;p=head;N Y s!=nums+ p=head;s=0N Y t<p->score s!=numNY s+t=p->scoret=p->scorep=p->next NY輸出學(xué)生信息p=head p=p->next結(jié)束圖9 QSMSearch函數(shù)流程圖開始p=head輸入bNa=1Y Na>1&&a<num n=1Y a=num head=head->next n=2 N Y
9、n=3 i=0j=0 Ni!=a-2 Nj!=a-2 Yp=p->next Yp=p->nexti+j+p->next=NULL p->next=p->next->nextnum=num-1結(jié)束圖10 del函數(shù)流程圖3. 程序代碼設(shè)計(jì)1 .main 函數(shù) :(1) 函數(shù)原型:void main()(2) 功能 : 分別調(diào)用welcome 函數(shù)、 about 函數(shù)、 create 函數(shù)、 search 函數(shù)、del 函數(shù)、 insert 函數(shù)、 output函數(shù)和 over 函數(shù)。(3) 變量及類型: (int m,n; /switch 選擇變量(4) 說明
10、 :main 函數(shù)中用到system("cls") ,其作用是清除屏幕上的文字。2 .welcome 函數(shù) :(1) 函數(shù)原型:voidwelcome()(2) 功能: 顯示歡迎用戶使用界面。(3) 說明:getchar()函數(shù)用于使屏幕停止,按下Enter鍵后再執(zhí)行下面程序。3 .about 函數(shù) :(1) 函數(shù)原型:voidabout() (2) 功能: 簡(jiǎn)要介紹本程序。(3) 說明:getchar()函數(shù)用于使屏幕停止,按下Enter鍵后再執(zhí)行下面程序。4 .create 函數(shù) :(1) 函數(shù)原型:voidcreate()(2) 功能 : 利用單鏈表、while 循環(huán)
11、和 scanf 函數(shù)完成對(duì)學(xué)生信息的輸入( 學(xué)號(hào)、姓名、三門成績(jī)) ,并計(jì)算出總分和平均分,再存入單鏈表中。(3) 變量及類型:int a=0; / 判斷學(xué)生信息輸入是否結(jié)束( 學(xué)號(hào)是否為0)struct student *p,*pnew; / 結(jié)構(gòu)體指針指向結(jié)點(diǎn)(4) 說明: 學(xué)生的人數(shù)不受限制,輸入結(jié)束符號(hào)即可。5.search 函數(shù) :(1) 函數(shù)原型:void search()(2) 功能: 通過選項(xiàng)來選擇調(diào)用不同函數(shù),完成不同的功能。(3) 變量及類型:int m,n; /switch 選擇變量6.SnoSearch 函數(shù) :(1) 函數(shù)原型:void SnoSearch()(2)
12、功能 : 通過學(xué)號(hào)來查找該生的基本信息。(3) 變量及類型:int a,t; /a 用來存儲(chǔ)學(xué)號(hào);t 用來計(jì)數(shù),以便跳出循環(huán)struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)7.NameSearch 函數(shù):(1) 函數(shù)原型:void NameSearch() (2) 功能 : 通過姓名來查找該生的基本信息。(3) 變量及類型:int k,t,flag; /k 用于判斷;t 用于計(jì)數(shù);flag 起標(biāo)記作用char b20; / 數(shù)組 b 用于存放姓名struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)8 .CYuYanSearch 函數(shù):(1)函數(shù)原型:void C
13、YuYanSearch() (2)功能:通過C語言成績(jī)來查找該生的基本信息。(3) 變量及類型:int t,flag; /t 用于計(jì)數(shù);flag 起標(biāo)記作用float a; /a 用于存放C語言成績(jī)struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)9 .GaoShuSearch 函數(shù):(1) 函數(shù)原型:void GaoShuSearch() (2) 功能 : 通過高數(shù)成績(jī)來查找該生的基本信息。 3) 變量及類型: (int t,flag; /t 用于計(jì)數(shù);flag 起標(biāo)記作用float b; /b 用于存放高數(shù)成績(jī)struct student *p; / 指針 p 用于指向頭結(jié)
14、點(diǎn)10 .YingYuSearch 函數(shù) :(1) 函數(shù)原型:void YingYuSearch() (2) 功能 : 通過英語成績(jī)來查找該生的基本信息。 (3) 變量及類型:int t,flag; /t 用于計(jì)數(shù);flag 起標(biāo)記作用float c; /c 用于存放英語成績(jī)struct student *p; /指針 p 用于指向頭結(jié)點(diǎn)11 .ZongfenSearch 函數(shù):(1) 函數(shù)原型:void ZongfenSearch() (2) 功能 : 通過總分來查找該生的基本信息。(3) 變量及類型:int t,flag; /t 用于計(jì)數(shù);flag 起標(biāo)記作用float d; /d 用于存
15、放總分struct student *p; /指針 p 用于指向頭結(jié)點(diǎn)12.AverageSearch 函數(shù):(1) 函數(shù)原型:void AverageSearch() (2) 功能 : 通過平均分來查找該生的基本信息。(3) 變量及類型:int t,flag; /t 用于計(jì)數(shù);flag 起標(biāo)記作用float e; /e 用于存放平均分struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)13.QSMSearch 函數(shù):(1) 函數(shù)原型:void QSMSearch() (2) 功能 : 顯示前三名的基本信息(3) 變量及類型:int s=0,r=0,w=0; /s,r,w 均用做
16、計(jì)數(shù)float t=0,m=0,n=0; /t,m,n 均用做記錄最高分struct student *p; /指針p 用于指向頭結(jié)點(diǎn)14. BuJiGeSearch 函數(shù):(1) 函數(shù)原型:void BuJiGeSearch() (2) 功能 : 通過 switch 選擇輸出不及格情況。3) 變量及類型: (int n,m,r,s,t,k,h,flag; /n,m為 switch 選擇變量;r,s,t,k,h 用做計(jì)數(shù) ;flag 起標(biāo)記作用struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)15.ClassScore 函數(shù) :(1) 函數(shù)原型:void ClassScore(
17、) (2) 功能 : 查看班級(jí)成績(jī)的整體情況。(3) 變量及類型:int i; /i 用于 for 循環(huán)float a=0,b=0,c=0,d,e; /a,b,c,d,e 均用于中間變量struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)16.arrange 函數(shù) :(1) 函數(shù)原型:void arrange() (2) 功能 : 通過選項(xiàng)來選擇調(diào)用不同函數(shù),完成不同的功能。(3) 變量及類型:int a,m; /a,m均為 switch 選擇變量;17.SnoArrange 函數(shù) :(1) 函數(shù)原型:void SnoArrange() (2) 功能 : 將學(xué)生信息按照學(xué)號(hào)進(jìn)行排
18、序。(3) 變量及類型:int a,c,i,j; /a 為 switch 選擇變量;c 用于計(jì)數(shù);i,j 用于 for 循環(huán)struct student *p,*q,*k,*newp,*newhead; / 指針 p,q,k,newp,newhead 均用于創(chuàng)建新鏈表18.ZongFenArrange 函數(shù) :(1) 函數(shù)原型:void ZongFenArrange() (2) 功能 : 將學(xué)生信息按照總分進(jìn)行排序。(3) 變量及類型:int a,c,i,j; /a 為 switch 選擇變量;c 用于計(jì)數(shù);i,j 用于 for 循環(huán)struct student *p,*q,*k,*newp,
19、*newhead; / 指針 p,q,k,newp,newhead 均用于創(chuàng)建新鏈表19. correct 函數(shù) :(1) 函數(shù)原型:void correct()(2) 功能 : 修改某生的信息。(3) 變量及類型:int t,a,b,m,flag; / t 用于計(jì)數(shù);a 用于判斷;b,m 為 switch 選擇變量;flag起標(biāo)記作用struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)20.del 函數(shù) :(1) 函數(shù)原型:void del()(2) 功能 : 刪除單鏈表中某生的基本信息。(3) 變量及類型:int a,n,i,j; /a 存放要?jiǎng)h除的結(jié)點(diǎn);n 為 switch
20、 選擇變量;i,j 用于 for 循環(huán)struct student *p; / 指針 p 用于指向頭結(jié)點(diǎn)21.1 nsert 函數(shù) :(1) 函數(shù)原型:void insert()(2) 功能 : 將某生的基本信息插入單鏈表中。(3) 變量及類型:int a,n,i,j; / a 存放要插入的結(jié)點(diǎn);n 為 switch 選擇變量;i,j 用于 for 循環(huán)struct student *p,*q; / 指針 p 用于指向頭結(jié)點(diǎn); 指針 q 用于指向新生信息的結(jié)點(diǎn)22.output 函數(shù) :(1) 函數(shù)原型:void output()(2) 功能 : 輸出每個(gè)學(xué)生的基本信息。(3) 變量及類型:i
21、nt s=0; /s 用于計(jì)數(shù)struct student *p / 指針p 用于指向頭結(jié)點(diǎn)23.over 函數(shù) :(1) 函數(shù)原型:voidover()(2) 功能 : 顯示感謝用戶使用界面。4.C 程序設(shè)計(jì)總結(jié)1) ) 程序調(diào)試情況在編寫完程序后,執(zhí)行時(shí)總會(huì)出現(xiàn)很多錯(cuò)誤,便又重新檢查程序,改寫程序,再經(jīng)過不斷的調(diào)試,最終將程序改寫完成。2) 本人在程序中的感想(程序在編寫時(shí)總是感覺非常難,而且還會(huì)出現(xiàn)很多小錯(cuò)誤,從而導(dǎo)致出很多麻煩,最終經(jīng)過耐心檢查,才將問題解決。5. 結(jié)束語由于本人完成此程序是在家中完成,又無網(wǎng)絡(luò)可以查詢,故只能參考課本,在本人的獨(dú)立下完成此程序,在此須感謝白燕老師。6.
22、 參考文獻(xiàn)1 尹業(yè)安 白燕 .C 語言程序設(shè)計(jì). 國(guó)防科技大學(xué)出版社,2008.87. 附錄 : 程序清單#include<stdio.h> #include<stdlib.h> #include<string.h> void welcome();void about();void create();void search();void SnoSearch(); void NameSearch(); void CYuYanSearch(); void GaoShuSearch(); void YingYuSearch(); void ZongFenSearc
23、h(); void AverageSearch(); void QSMSearch(); void BuJiGeSearch(); void ClassScore(); void arrange();void SnoArrange(); void ZongFenArrange(); void correct();void del();void insert();void output();void over();struct studentint sno;char name20;float score1;float score2;float score3;float score;double
24、avg;struct student *next;struct student *head;int num=0;void main()int m,n;welcome();about();system("cls"); create();system("cls"); Z: printf("1 查找 n"); printf("2 排序 n");printf("3 學(xué)生信息的修改 n"); printf("4 鏈表的刪除 n");printf("5 鏈表的插入 n"
25、;); printf("6 鏈表的輸出 n"); printf("7退出 n"); scanf("%d",&n); switch(n)case 1:system("cls");search();system("cls");goto Z;case 2:system("cls");arrange();system("cls");goto Z;case 3:system("cls");correct();system("cl
26、s");goto Z;case 4:system("cls");del();system("cls");goto Z;case 5:system("cls");insert();system("cls");goto Z;case 6:system("cls");output();system("cls");goto Z;case 7:system("cls"); F: printf(" 你真的想退出嗎n 1 是 2 否 n")
27、;scanf("%d",&m);switch(m)case 1:break;case 2:goto Z;default:system("cls");printf(" 你的輸入有誤n");goto F;break;default:system("cls");printf(" 你的輸入有誤n");goto Z;system("cls");over();void welcome()printf("nnn");printf(" 【】【】print
28、f(" | |n");printf(" | 歡迎使用|n");printf(" | |n");printf(" | |n");printf(" | 學(xué) 生 成 績(jī) 管 理 系 統(tǒng) |n");printf(" | |n");printf(" | |n");printf(" | |n");printf(" | 制作人 :* |n");printf(" | 指導(dǎo)老師:* |n");printf(&quo
29、t; | |n");printf(" | |n");printf(" 【】【】getchar();n");n");void about()system("cls");printf("nnn");printf("ttt 關(guān)于學(xué)生管理系統(tǒng)的說明nnn");printf(" 本程序采用鏈表和函數(shù)編寫完成, 主要功能有查找, 鏈表的刪除, 鏈表的插入和鏈表的輸出.n");printf(" 程序中主要運(yùn)用鏈表部分和函數(shù)的知識(shí). 程序優(yōu)點(diǎn)是: 學(xué)生人數(shù)可以根
30、據(jù)實(shí)際情況進(jìn)行更改;n 缺點(diǎn)是: 部分程序過于復(fù)雜,程序功能不太齊全;");printf(" 本程序已經(jīng)經(jīng)過多次測(cè)試,尚未出現(xiàn)問題.nn 若在使用中出現(xiàn)錯(cuò)誤,還請(qǐng)諒解!");getchar();void create()int a=0;struct student *p,*pnew;head=pnew=p=(struct student *)malloc(sizeof(struct student);printf(" 請(qǐng)依次輸入每位同學(xué)的學(xué)號(hào), 姓名和 3 門成績(jī) , 按 0 鍵結(jié)束 n");printf(" 學(xué)號(hào) 姓名 C 語言 高
31、數(shù) 英語 n") ;scanf("%d%s%f%f%f",&pnew->sno,pnew->name,&pnew->score1,&pnew->score2,&pnew->score3);pnew->score=pnew->score1+pnew->score2+pnew->score3; pnew->avg=pnew- >score/3.0;pnew->avg=(double)( (int)(pnew->avg*100)*0.01 ); while(1)
32、num+;p->next=pnew;p=pnew;pnew=(struct student *)malloc(sizeof(struct student);scanf("%d",&pnew->sno);if(a=pnew->sno)break;scanf("%s%f%f%f",pnew->name,&pnew->score1,&pnew->score2,&pnew->score3);pnew->score=pnew->score1+pnew->score2+pne
33、w->score3;pnew->avg=pnew->score/3.0;pnew->avg=(double)( (int)(pnew->avg*100)*0.01 ); p->next =NULL;void search()int m,n;A: printf("1 按學(xué)號(hào)查找 n");printf("2 按姓名查找 n");printf("3 按C語言分?jǐn)?shù)查找n");printf("4 按高數(shù)分?jǐn)?shù)查找 n");printf("5 按英語分?jǐn)?shù)查找 n"); pr
34、intf("6 按總分查找 n");printf("7 按平均分查找 n"); printf("8 總分前三名 n"); printf("9不及格者n"); printf("10 班級(jí)成績(jī)情況 n"); printf("11 退出 n");scanf("%d",&n); switch(n)case 1:SnoSearch();goto A;case 2:NameSearch();goto A;case 3:CYuYanSearch();goto A
35、;case 4:GaoShuSearch();goto A;case 5:YingYuSearch();goto A;case 6:ZongFenSearch();goto A;case 7:AverageSearch();goto A;case 8:QSMSearch();goto A;case 9:BuJiGeSearch();goto A;case 10:ClassScore();goto A;case 11:system("cls"); D: printf(" 你真的想退出嗎n 1 是 2 否 n");scanf("%d",&
36、amp;m);switch(m)case 1:break;case 2:goto A;default:system("cls");printf(" 你的輸入有誤n");goto D;break;default:system("cls");printf(" 你的輸入有誤n");goto A;void SnoSearch() int a,t;struct student *p; system("cls"); printf("請(qǐng)輸入學(xué)號(hào):");S: scanf("%d&q
37、uot;,&a); t=0;p=head;printf("n學(xué)號(hào)為d的成績(jī)?nèi)缦?n",a); printf("學(xué)號(hào) 姓名C語言 高數(shù)英語 總分 平均分 n");while(1)t+;if(t=num+1)system("cls");printf(" 你輸入的學(xué)號(hào)有誤n 請(qǐng)重新輸入學(xué)號(hào):");goto S;if(a=p->sno)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p-&
38、gt;score2,p- >score3,p->score,p->avg);break; p=p->next;printf("nnn"); void NameSearch() int k,t,flag;char b20;struct student *p; system("cls");printf(" 請(qǐng)輸入姓名:");T: scanf("%s",b); t=0;flag=0;p=head; printf("n姓名為 $的成績(jī)?nèi)缦?:n",b); printf("
39、; 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你輸入的姓名有誤n 請(qǐng)重新輸入姓名:");goto T;elsebreak;k=strcmp(p->name,b);if(k=0)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p-&g
40、t;score,p->avg);p=p->next;printf("nnn"); void CYuYanSearch() int t,flag;float a;struct student *p; system("cls");printf(" 請(qǐng)輸入C語言成績(jī):");U: scanf("%f",&a); t=0;flag=0;p=head; printf("nC語言成績(jī)?yōu)?.2f 的成 績(jī)?nèi)缦?:n",a);printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分
41、平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf("你輸入的C語言成績(jī)有誤n請(qǐng)重新輸入C語言成績(jī):");goto U;elsebreak;if(a=p->score1)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->nex
42、t;printf("nnn"); void GaoShuSearch() int t,flag;float b;struct student *p; system("cls");printf(" 請(qǐng)輸入高數(shù)成績(jī):");V: scanf("%f",&b); t=0;flag=0;p=head; printf("n高數(shù)成績(jī)?yōu)?.2f 的成績(jī)?nèi)缦?:n",b);printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(1)t+;if(t=num+
43、1)if(flag=0)system("cls");printf(" 你輸入的高數(shù)成績(jī)有誤n 請(qǐng)重新輸入高數(shù)成績(jī):");goto V; else break;if(b=p->score2)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p- >score3,p->score,p->avg);p=p->next;printf("nnn"); voi
44、d YingYuSearch() int t,flag;float c;struct student *p; system("cls");printf(" 請(qǐng)輸入英語成績(jī):");W: scanf("%f",&c); t=0;flag=0;p=head; printf("n英語成績(jī)?yōu)?.2f 的成績(jī)?nèi)缦?:n",c);printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls&q
45、uot;);printf(" 你輸入的英語成績(jī)有誤n 請(qǐng)重新輸入英語成績(jī):");goto W;elsebreak;if(c=p->score3)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void ZongFenSearch() int t,flag;floa
46、t d;struct student *p; system("cls");printf(" 請(qǐng)輸入總分成績(jī):");X: scanf("%f",&d); t=0;flag=0;p=head; printf("n總分成績(jī)?yōu)?.2f 的成 績(jī)?nèi)缦?:n",d);printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你輸入的總分成績(jī)有誤n
47、 請(qǐng)重新輸入總分成績(jī):");goto X;elsebreak;if(d=p->score)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void AverageSearch() int t,flag;double e;struct student *p; system(&
48、quot;cls");printf(" 請(qǐng)輸入平均分成績(jī):");Y: scanf("%lf",&e); t=0;flag=0;p=head; printf("n平均分為%.2f 的成績(jī)?nèi)缦?:n",e); printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(1)t+;if(t=num+1)if(flag=0)system("cls");printf(" 你輸入的平均分成績(jī)有誤n 請(qǐng)重新輸入平均分成績(jī):");goto Y;el
49、se break; if(e=p->avg)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;printf("nnn"); void QSMSearch() int s=0,r=0,w=0; float t=0,m=0,n=0; struct student *p; p=head;system("cls&
50、quot;); while(s!=num)s+;if(t<p->score)t=p->score;p=p->next;printf(" 前三名成績(jī)?nèi)缦?n"); printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分平均分 n");p=head;s=0;while(s!=num)s+;if(t=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->sco
51、re3,p->score,p->avg);p=p->next;p=head;while(r!=num)r+;if( (m<p->score)&&(p->score<t)!=0 )m=p->score;p=p->next;p=head;r=0;while(r!=num)r+;if(m=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfn",p->sno,p->name,p->score1,p->score2,p->score3,
52、p->score,p->avg);p=p->next;p=head;while(w!=num)w+;if( (n<p->score)&&(p->score<m)!=0 )n=p->score;p=p->next;p=head;w=0;while(w!=num)w+;if(n=p->score)printf("%d %s %.2f%.2f %.2f %.2f %.2lfnnnn",p->sno,p->name,p->score1,p->score2,p->score3,p
53、->score,p->avg);p=p->next;void BuJiGeSearch() int n,m,r,s,t,k,h,flag; struct student *p; system("cls");B: printf("1C語言不及格者n"); printf("2 高數(shù)不及格者n");printf("3 英語不及格者 n"); printf("4 不及格者 n");printf("5 全不及格者 n"); printf("6 退出 n&qu
54、ot;);r=0;s=0;t=0;k=0;h=0;flag=0;p=head;scanf("%d",&n);switch(n)case 1:system("cls");printf("C 語言不及格者:n");printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(r!=num)r+;if(p->score1<60)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->n
55、ame,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf("C 語言全部及格n");printf("nnn");goto B;case 2:system("cls");printf(" 高數(shù)不及格者:n");printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(s!=num)s+;if(p->score2<60)flag
56、=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf(" 高數(shù)全部及格n");printf("nnn");goto B;case 3:system("cls");printf(" 英語不及格者:n");printf(" 學(xué)號(hào) 姓
57、名 C 語言 高數(shù) 英語 總分 平均分 n");while(t!=num)t+;if(p->score3<60)flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf(" 英語全部及格n");printf("nnn");goto B;case 4:s
58、ystem("cls");printf(" 不及格者:n");printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(k!=num)k+;if( (p->score1<60)|(p->score2<60)|(p->score3<60) )flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p- >score
59、3,p->score,p->avg);p=p->next;if(flag=0)printf(" 全部及格n");printf("nnn");goto B;case 5:system("cls");printf(" 全不及格者:n");printf(" 學(xué)號(hào) 姓名 C 語言 高數(shù) 英語 總分 平均分 n");while(h!=num)h+;if( (p->score1<60)&&(p->score2<60)&&(p->
60、score3<60) )flag=1;printf("%d %s %.2f%.2f %.2f %.2f %.2lfnn",p->sno,p->name,p->score1,p->score2,p->score3,p->score,p->avg);p=p->next;if(flag=0)printf("沒有全不及格者n");printf("沒有全不及格者nnnn");goto B;case 6:system("cls");C: printf(" 你真的想退出嗎n 1 是 2 否 n");scanf("%d&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025工廠房屋租賃的合同
- 2025軟件知識(shí)產(chǎn)權(quán)合同格式
- 二零二五年度新材料企業(yè)股權(quán)收購(gòu)合同3篇
- 2025年度森林資源保護(hù)合作造林協(xié)議3篇
- 2025年度生態(tài)小區(qū)車庫租賃與社區(qū)可持續(xù)發(fā)展合同3篇
- 二零二五年度新材料研發(fā)企業(yè)員工2025年度聘用協(xié)議2篇
- 二零二五年度公司單位員工勞動(dòng)合同續(xù)簽與薪酬調(diào)整方案2篇
- 2025年度公寓租賃合同電子簽名及備案服務(wù)合同樣本3篇
- 2025年度溫室大棚租賃與生態(tài)旅游合作合同3篇
- 二零二五年度高新技術(shù)產(chǎn)業(yè)公司合并協(xié)議2篇
- 現(xiàn)代機(jī)械工程圖學(xué) 課件 第10章-裝配圖
- 新概念英語第一冊(cè)1-72課測(cè)試題
- 天貓售后工作總結(jié)
- 國(guó)賽一等獎(jiǎng)經(jīng)驗(yàn)分享
- 2024年試驗(yàn)箱行業(yè)未來三年發(fā)展洞察報(bào)告
- 江西省萍鄉(xiāng)市2023-2024學(xué)年高一上學(xué)期期末生物試題
- 《性格決定命運(yùn)》課件
- 音樂行業(yè)商業(yè)計(jì)劃書
- 電氣設(shè)備交接試驗(yàn)
- 結(jié)節(jié)性癢疹護(hù)理查房課件
- 2020山東春季高考數(shù)字媒體真題
評(píng)論
0/150
提交評(píng)論