版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
西安文理學(xué)院U3信息工程學(xué)院軟件編程課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:學(xué)生學(xué)號(hào):0204140137專業(yè)班級(jí):物聯(lián)網(wǎng)工程一班學(xué)生姓名:張旺陽(yáng)學(xué)生成績(jī):指導(dǎo)教師(職稱):課題工作時(shí)間:2015-11-25至2015-12-9信息工程學(xué)院軟件編程課程設(shè)計(jì)任務(wù)書
學(xué)生姓名張旺陽(yáng)學(xué)號(hào)0204140137專業(yè)班級(jí)物聯(lián)網(wǎng)工程一班設(shè)計(jì)題目學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)學(xué)生成績(jī)信息包括:學(xué)期,學(xué)號(hào),班別,姓名,四門課程成績(jī)(語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī))。主要功能:(1)能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改(2)能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分,設(shè)計(jì)并輸出統(tǒng)計(jì)報(bào)表(3)能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單(4)能按班級(jí)輸出學(xué)生的成績(jī)單(5)能按班級(jí),按課程,對(duì)學(xué)生成績(jī)進(jìn)行排序。指導(dǎo)教師:日期:2015年11月25日
成績(jī)?cè)u(píng)定表學(xué)生姓名:張旺陽(yáng)學(xué)號(hào):0204140137專業(yè)/班級(jí):物聯(lián)網(wǎng)工程一班類別合計(jì)分值各項(xiàng)分值評(píng)分標(biāo)準(zhǔn)實(shí)際得分合計(jì)得分備注平時(shí)表現(xiàn)1010按時(shí)參加設(shè)計(jì)指導(dǎo),無(wú)違反紀(jì)律情況。完成情況3020按設(shè)計(jì)任務(wù)書的要求完成了全部任務(wù),能完整演示其設(shè)計(jì)內(nèi)容,符合要求。10能對(duì)其設(shè)計(jì)內(nèi)容進(jìn)行詳細(xì)、完整的介紹,并能就指導(dǎo)教師提出的問(wèn)題進(jìn)行正確的回答。報(bào)告質(zhì)量3515報(bào)告文字通順,內(nèi)容翔實(shí),論述充分、完整,立論正確,結(jié)構(gòu)嚴(yán)謹(jǐn)合理;報(bào)告字?jǐn)?shù)符合相關(guān)要求,工整規(guī)范,整齊劃一。5課題背景介紹清楚,綜述分析充
分。5設(shè)計(jì)方案合理、可行,論證嚴(yán)謹(jǐn),邏輯性強(qiáng),具有說(shuō)服力。5符號(hào)統(tǒng)一;圖表完備、符合規(guī)范要求。5能對(duì)整個(gè)設(shè)計(jì)過(guò)程進(jìn)行全面的總結(jié),得出有價(jià)值的結(jié)論或結(jié)果。答辯情況2510在規(guī)定時(shí)間內(nèi)能就所設(shè)計(jì)的內(nèi)容進(jìn)行闡述,言簡(jiǎn)意明,重點(diǎn)突出,論點(diǎn)正確,條理清晰。15在規(guī)定時(shí)間內(nèi)能準(zhǔn)確、完整、流利地回答教師所提出的問(wèn)題。總評(píng)成績(jī):分指導(dǎo)教師:(簽字)日期:—年月日TOC\o"1-5"\h\z概述1\o"CurrentDocument"1.1課題背景1\o"CurrentDocument"1.2系統(tǒng)功能3\o"CurrentDocument"1.3設(shè)計(jì)要求4概要設(shè)計(jì)5\o"CurrentDocument"2.1系統(tǒng)功能模塊52.2各模塊流程圖6詳細(xì)設(shè)計(jì)83.1程序中使用的數(shù)據(jù)結(jié)構(gòu)83.2函數(shù)列表10設(shè)計(jì)結(jié)果與分析12總結(jié)與體會(huì)15參考文獻(xiàn)X附錄主要程序代碼X教育資料1.1課題背景隨著計(jì)算機(jī)的普及,計(jì)算機(jī)在生活中得到越來(lái)越多的應(yīng)用,其中在計(jì)算機(jī)上運(yùn)行的各種軟件在解決生活中的實(shí)際問(wèn)題中起到重大的作用,而目前在編寫應(yīng)用程序時(shí),C++以其高效及靈活性成為大多數(shù)程序設(shè)計(jì)者的首選,其次對(duì)于普通用戶者,利用C++語(yǔ)言設(shè)計(jì)出適用的小型軟件對(duì)解決生活中的繁瑣問(wèn)題有很大的作用。在學(xué)校或班級(jí),教師經(jīng)常會(huì)對(duì)某次考試中的所有學(xué)生的成績(jī)進(jìn)行統(tǒng)計(jì)和管理,由于學(xué)生數(shù)目經(jīng)常繁多,所以在處理統(tǒng)計(jì)學(xué)生總成績(jī)和平均成績(jī)時(shí)工作會(huì)相對(duì)繁瑣,所以針對(duì)這種情況,同時(shí)我分析了成績(jī)管理所需要的功能,在利用C++語(yǔ)言及VC++6.0程序運(yùn)行平臺(tái)之下,設(shè)計(jì)一種小型的學(xué)生成績(jī)管理系統(tǒng)。1.2系統(tǒng)功能錄入修改求總分求平均分查詢排序1.3設(shè)計(jì)要求學(xué)生成績(jī)信息包括:學(xué)期,學(xué)號(hào),班別,姓名,四門課程成績(jī);語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī))。主要功能:(1)能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改(2)能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分,設(shè)計(jì)并輸出統(tǒng)計(jì)報(bào)表(3)能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單(4)能按班級(jí)輸出學(xué)生的成績(jī)單(5)能按班級(jí),按課程,對(duì)學(xué)生成績(jī)進(jìn)行排序。要求:使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù),系統(tǒng)以菜單方式工作第二章概要設(shè)計(jì)2.1系統(tǒng)功能模塊(1)創(chuàng)建主菜單(2)實(shí)現(xiàn)學(xué)生成績(jī)信息錄入(3)實(shí)現(xiàn)學(xué)生成績(jī)信息查詢(4)實(shí)現(xiàn)學(xué)生成績(jī)信息修改(一)修改某個(gè)學(xué)生的成績(jī)(a)按學(xué)期查詢學(xué)生的成績(jī)(b)按班級(jí)查詢學(xué)生的成績(jī)(c)按學(xué)號(hào)查詢學(xué)生的成績(jī)(二)查詢不及格的科目和學(xué)生名單(5)實(shí)現(xiàn)學(xué)生成績(jī)統(tǒng)計(jì)(a)按班級(jí)統(tǒng)計(jì)學(xué)生的總分。(b)按班級(jí)統(tǒng)計(jì)學(xué)生的平均分。
實(shí)現(xiàn)學(xué)生成績(jī)信息輸出保存學(xué)生的成績(jī)信息于文件2.2系統(tǒng)功能流程圖修改學(xué)生基本信息歡迎使用學(xué)生成績(jī)系統(tǒng)設(shè)計(jì)較入學(xué)生基本信思(:的期、學(xué)號(hào)、姓名,班級(jí)、成績(jī))退出系
統(tǒng)統(tǒng)計(jì)學(xué)生基本
信息存髓學(xué)生基本基點(diǎn)輸出學(xué)
生基本
偶息查詢學(xué)生基本
信息制方浦皂
二文式廣按學(xué)號(hào)壹詢學(xué)直旬技斯詢?cè)兗皩W(xué)上
U不搭生總和均全
求分平分第三章詳細(xì)設(shè)計(jì)修改學(xué)生基本信息歡迎使用學(xué)生成績(jī)系統(tǒng)設(shè)計(jì)較入學(xué)生基本信思(:的期、學(xué)號(hào)、姓名,班級(jí)、成績(jī))退出系
統(tǒng)統(tǒng)計(jì)學(xué)生基本
信息存髓學(xué)生基本基點(diǎn)輸出學(xué)
生基本
偶息查詢學(xué)生基本
信息制方浦皂
二文式廣按學(xué)號(hào)壹詢學(xué)直旬技斯詢?cè)兗皩W(xué)上
U不搭生總和均全
求分平分3.1主要數(shù)據(jù)結(jié)構(gòu)typedefstructstudentMark{intterm;intclasses;charname[10];intnumber;charsex[7];floatchinese;floatmath;floatenglish;floatcomputer;structstudentMark*next;}MARK;這是定義一個(gè)結(jié)構(gòu)體,主要包括學(xué)期,班級(jí),姓名,學(xué)號(hào),性別,語(yǔ)文成績(jī),數(shù)學(xué)成績(jī),英語(yǔ)成績(jī),計(jì)算機(jī)成績(jī),以及包括一個(gè)結(jié)構(gòu)體指針。另外還用了typedef這個(gè)關(guān)鍵字。因此,在程序的后面也可以用MARK來(lái)定義結(jié)構(gòu)體變量或結(jié)構(gòu)體指針變量。intterm;定義學(xué)期,學(xué)期只能是第一學(xué)期或者第二學(xué)期。例如int1;則表示第一學(xué)期。intclasses;定義班級(jí),班級(jí)只能是一班或者二班。例如int2;則是表示定義為二班。charname[10];定義姓名,在數(shù)組中存放字符串。例如charname[]="yang”;則該學(xué)生的姓名為yangintnumber;定義學(xué)號(hào),例如int1;則該學(xué)生學(xué)號(hào)為1號(hào)。charsex[7];定義姓別,其性別最大長(zhǎng)度為7.例如charsex[]="man”;說(shuō)明該學(xué)生為男生。同樣可以這樣定義女生。floatchinese;定義語(yǔ)文成績(jī)。floatmath;定義數(shù)學(xué)成績(jī)。floatenglish;定義英語(yǔ)成績(jī)。floatcomputer;定義計(jì)算機(jī)成績(jī)。structstudentMark*next;定義一個(gè)結(jié)構(gòu)體指針。3.1.1主函數(shù)intmain();主函數(shù),程序的入口。voidm(MARK*head);主菜單的函數(shù)原型,在函數(shù)m(head)中主要有選擇創(chuàng)建學(xué)生成績(jī)信息,查詢學(xué)生成績(jī)信息,修改學(xué)生成績(jī)信息,統(tǒng)計(jì)學(xué)生成績(jī)信息,輸出學(xué)生成績(jī)信息,存儲(chǔ)學(xué)生成績(jī)信息于文件,以及退出體統(tǒng)等選項(xiàng)可供用戶選擇。MARK*creat(void);
創(chuàng)建函數(shù)的函數(shù)原型,在函數(shù)creat()中用戶可以輸入初始的學(xué)生信息:其中包括學(xué)生的學(xué)期、班級(jí)、姓名、學(xué)號(hào)和性別以及學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī)等相關(guān)信息。3.1.2查詢函數(shù)voidsearchMark(MARK*head);查詢菜單的函數(shù)原型,在函數(shù)searchMark(head)中用戶可以自由選擇是查詢某一個(gè)學(xué)生的成績(jī)還是查詢不及格學(xué)生的成績(jī)。而這通過(guò)調(diào)用函數(shù)searchMarkStusentone(head)和函數(shù)searchMarkFail(head)完成操作。voidsearchMarkStusentone(MARK*head);查詢某個(gè)學(xué)生成績(jī)的函數(shù)原型,在函數(shù)searchMarkStusentone(head)中用戶可以按學(xué)號(hào)或班級(jí)或者是按學(xué)期來(lái)查找某個(gè)學(xué)生的成績(jī)。通過(guò)函數(shù)searchnumber(head)和函數(shù)searchclasses(head)以及函數(shù)searchterm(head)按學(xué)號(hào)查找學(xué)生的函數(shù)原型,;按班級(jí)查找學(xué)生的函數(shù)原型,按學(xué)號(hào)查找學(xué)生的函數(shù)原型,;按班級(jí)查找學(xué)生的函數(shù)原型,按學(xué)期查找學(xué)生的函數(shù)原型,voidsearchnumber(MARK*head)voidsearchclasses(MARK*head);voidsearchterm(MARK*head);voidsearchMarkFail(MARK*head);查詢沒有及格的學(xué)生的函數(shù)原型,通過(guò)這個(gè)函數(shù)可以查找學(xué)生不及格科目及學(xué)生名單。3.1.3修改函數(shù)MARK*changeMark(MARK*head);修改學(xué)生成績(jī)信息的函數(shù)原型,可以修改學(xué)生的學(xué)期、班級(jí)、姓名、學(xué)號(hào)和性別以及學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī)等相關(guān)信息。3.1.4統(tǒng)計(jì)函數(shù)voidconuntMark(MARK*head);統(tǒng)計(jì)學(xué)生成績(jī)的函數(shù)原型,在函數(shù)conuntMark(head)中用戶可以統(tǒng)計(jì)學(xué)生的總成績(jī)以及平均成績(jī),通過(guò)調(diào)用函數(shù)totalMark(head)和函數(shù)aveMark(head)完成操作。3.1.5輸出函數(shù)voidtotalMark(MARK*head);統(tǒng)計(jì)學(xué)生總成績(jī)的函數(shù)原型,voidaveMark(MARK*head);統(tǒng)計(jì)學(xué)生平均成績(jī)的函數(shù)原型,voidprintClassMark(MARK*head);輸出學(xué)生成績(jī)信息的函數(shù)原型,通過(guò)此函數(shù)可以輸出學(xué)生的學(xué)期、班級(jí)、姓名、學(xué)號(hào)和性別以及學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī)等相關(guān)信息到屏幕上。voidsaveFileMark(MARK*head);存儲(chǔ)學(xué)生成績(jī)信息于文件的函數(shù)原型,通過(guò)此函數(shù)可以輸出學(xué)生的學(xué)期、班級(jí)、姓名、學(xué)號(hào)和性別以及學(xué)生的語(yǔ)文、數(shù)學(xué)、英語(yǔ)和計(jì)算機(jī)等相關(guān)信息與文件中。第四章設(shè)計(jì)結(jié)果及分析4.1程序設(shè)計(jì)結(jié)果4.1.1源程序如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#defineMAR(structstudentMark*)malloc(sizeof(structstudentMark))typedefstructstudentMark{intterm;intclasses;charname[10];intnumber;charsex[7];floatchinese;floatmath;floatenglish;floatcomputer;structstudentMark*next;}MARK;voidm(MARK*head);MARK*creat(void);voidsearchMark(MARK*head);voidsearchMarkStusentone(MARK*head);voidsearchnumber(MARK*head);voidsearchclasses(MARK*head);voidsearchterm(MARK*head);voidsearchMarkFail(MARK*head);MARK*changeMark(MARK*head);voidconuntMark(MARK*head);voidtotalMark(MARK*head);voidaveMark(MARK*head);voidprintClassMark(MARK*head);voidsaveFileMark(MARK*head);intmain(void){MARK*head=NULL;printf("———————————————W\.小**小**小**小**小**小**小**小**小**小**小**小**小**小**小***\n):printf("##歡迎進(jìn)入學(xué)生成績(jī)信息管理系統(tǒng)##\n");printf("———————————————W\、.小**小**小**小**小**小**小**小**小**小**小**小**小**小**小***\n);printf("\n");head=creat();m(head);return(0);}voidm(MARK*head){intchoose;while(1){printf("************************************\n");printf(“學(xué)生成績(jī)信息管理\n");printf("************************************\n");printf("1創(chuàng)建成績(jī)信息\n");printf("2查詢成績(jī)信息\n");printf("3修改成績(jī)信息\n");printf("4統(tǒng)計(jì)成績(jī)信息\n");printf("5按班級(jí)輸出學(xué)生信息\n");printf("6保存成績(jī)信息于文件\n");printf("7退出系統(tǒng)\n");printf("************************************\n");fflush(stdin);printf(“請(qǐng)選擇:");scanf("%d",&choose);if(1==choose)head=creat();elseif(2==choose)searchMark(head);elseif(3==choose)head=changeMark(head);elseif(4==choose)conuntMark(head);elseif(5==choose)printClassMark(head);elseif(6==choose)saveFileMark(head);elseprintf("退出系統(tǒng)");break;}}//創(chuàng)建一個(gè)學(xué)生成績(jī)信息系統(tǒng)MARK*creat(){MARK*head=NULL,*p1=NULL,*p2=NULL;charch;fflush(stdin);printf(“請(qǐng)問(wèn)是否輸入信息?(y或n)\n");scanf("%c",&ch);head=p1=p2=MAR;while(p1!=NULL&&ch=='y'){p1=MAR;printf("請(qǐng)輸入要錄入學(xué)生信息的學(xué)期(學(xué)期只能為1或2):");fflush(stdin);scanf("%d",&p1->term);while(p1->term!=1&&p1->term!=2){getchar();printf("輸入錯(cuò)誤!請(qǐng)重新輸入:");scanf("%d",&p1->term);}printf("請(qǐng)輸入要錄入學(xué)生成績(jī)信息的班級(jí):");fflush(stdin);scanf("%d",&p1->classes);while(p1->classes!=1&&p1->classes!=2){getchar();printf("輸入錯(cuò)誤!請(qǐng)重新輸入:");scanf("%d",&p1->classes);}printf("請(qǐng)輸入該班的學(xué)生信息!\n");printf("請(qǐng)輸入學(xué)生學(xué)號(hào):");fflush(stdin);scanf("%d",&p1->number);printf("請(qǐng)輸入學(xué)生姓名:");fflush(stdin);scanf("%s",p1->name);printf("請(qǐng)輸入學(xué)生姓別:");fflush(stdin);scanf("%s",p1->sex);fflush(stdin);printf("請(qǐng)輸入語(yǔ)文成績(jī)(0-100):");scanf("%f",&p1->chinese);fflush(stdin);scanf("%f",&p1->math);fflush(stdin);printf("請(qǐng)輸入英語(yǔ)成績(jī)(0-100):");scanf("%f",&p1->english);fflush(stdin);printf("請(qǐng)輸入計(jì)算機(jī)成績(jī)(0-100):");scanf("%f",&p1->computer);p2->next=p1;p2=p1;printf("是否還要輸入信息(y/n):");fflush(stdin);scanf("%c",&ch);}p2->next=NULL;//鏈表結(jié)尾return(head);}//查找學(xué)生成績(jī)信息voidsearchMark(MARK*head){intchoose1;while(1){printf("************************************\n");printf(“查詢學(xué)生成績(jī)信息\n");printf("1查詢某個(gè)學(xué)生成績(jī)\n");printf("2查詢不及格學(xué)生成績(jī)\n");printf(“3返回主菜單\n");printf("*************************************\n");fflush(stdin);printf(“請(qǐng)選擇:");scanf("%d",&choose1);if(1==choose1)searchMarkStusentone(head);elseif(2==choose1)searchMarkFail(head);elseprintf(“返回主菜單");break;}}//修改學(xué)生成績(jī)信息(按學(xué)期或按學(xué)號(hào)修改)MARK*changeMark(MARK*head){intchoose2;MARK*p=head->next;charname[10];charch;intnumber;printf("************************************\n");printf(“你所需要修改的\n");printf("1修改學(xué)號(hào)\n");printf("2修改姓名\n");printf("3修改班級(jí)\n");printf("4修改性別\n");printf("5修改成績(jī)\n");printf("*************************************\n");fflush(stdin);printf(“請(qǐng)選擇:");scanf("%d",&choose2);while(1){while(p!=NULL){if(1==choose2){
printf("你要修改的信息是:學(xué)號(hào)!\n");//按姓名修改學(xué)號(hào)fflush(stdin);printf("請(qǐng)輸入你要修改的學(xué)生姓名:");scanf("%s",name);if(strcmp(name,p->name)==0){fflush(stdin);號(hào):");學(xué)號(hào)printf(“請(qǐng)輸入該學(xué)生新的學(xué)//輸入新學(xué)號(hào)scanf("%d",&p->number);printf("修改學(xué)生的學(xué)號(hào)后:\n");printf("%s學(xué)生的新是%d\n",p->name,p->number);break;}}elseif(2==choose2){printf("你要修改的信息是:姓名!\n");fflush(stdin);printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):");scanf("%d",&number);if(number==p->number)//輸入學(xué)號(hào),判斷條件{fflush(stdin);printf(“請(qǐng)輸入該學(xué)生的姓名:");scanf("%s",p->name);//輸入要做修改的學(xué)生姓名printf("修改學(xué)生的姓名后:\n");printf("%s是該學(xué)生的新姓名\n",p->name);break;}}elseif(3==choose2){printf("你要修改的信息是:班級(jí)!\n");//按學(xué)號(hào)修改班級(jí)fflush(stdin);printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):");scanf("%d",&number);if(number==p->number){fflush(stdin);printf(“請(qǐng)輸入該學(xué)生的班級(jí):“);//輸入要做修改的班級(jí)scanf("%d",&p->classes);printf(“修改班級(jí)后\n");printf(“該學(xué)生的新班級(jí)為:%d\n",p->classes);break;}}elseif(4==choose2){printf(“你要修改的信息是:性別!\n");//按學(xué)號(hào)修改性別fflush(stdin);printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):");scanf("%d",&number);if(number==p->number){fflush(stdin);printf(“請(qǐng)輸入該學(xué)生的性別:");//輸入要做修改的性別號(hào):");學(xué)號(hào)printf(“該學(xué)生的新性別為:%s\n",p->sex);break;}}elseif(5==choose2){printf("你要修改的信息是:成績(jī)!\n");//按學(xué)號(hào)修改成績(jī)fflush(stdin);printf("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):");scanf("%d",&number);if(number==p->number)//輸入學(xué)號(hào){fflush(stdin);printf("請(qǐng)輸入該學(xué)生新的語(yǔ)文成績(jī):\n");scanf("%f",&p->chinese);fflush(stdin);printf("請(qǐng)輸入該學(xué)生新的數(shù)學(xué)成績(jī):\n");scanf("%f",&p->math);//輸入新的四門成績(jī)fflush(stdin);printf("請(qǐng)輸入該學(xué)生新的英語(yǔ)成績(jī):\n");scanf("%f",&p->english);fflush(stdin);printf("請(qǐng)輸入該學(xué)生新的計(jì)算機(jī)成績(jī):\n");scanf("%f",&p->computer);printf(“修改后的成績(jī)\n");printf(“該學(xué)生新的語(yǔ)文成績(jī):%f\n",p->chinese);printf(“該學(xué)生新的數(shù)學(xué)成績(jī):%f\n",p->math);printf(“請(qǐng)?jiān)搶W(xué)生新的英語(yǔ)成績(jī):%f\n",p->english);printf(“該學(xué)生新的計(jì)算機(jī)成績(jī):%f\n",p->computer);break;}}elsep=p->next;}printf(“是否還要繼續(xù)修改信息(y/n):\n");//判斷,是否還要修改信息,跳出循環(huán)fflush(stdin);if((ch=getchar())==,n,)break;return(head);}//統(tǒng)計(jì)學(xué)生成績(jī)總分和平均分voidconuntMark(MARK*head){MARK*p=head->next;intclasses;charch1,ch2;fflush(stdin);printf("請(qǐng)輸入要統(tǒng)計(jì)成績(jī)的班級(jí)(1或2):");scanf("%d",&classes);printf("正在統(tǒng)計(jì)該班級(jí)學(xué)生的總分,請(qǐng)稍侯\n”);while(1){totalMark(p);printf("是否還要繼續(xù)統(tǒng)計(jì)其他學(xué)生的成績(jī)(y/n):");fflush(stdin);if((ch1=getchar())=='n')break;printf("是否統(tǒng)計(jì)該班級(jí)學(xué)生平均分?(y/n):");fflush(stdin);if((ch2=getchar()!='n')){printf("正在統(tǒng)計(jì)該班學(xué)生平均分進(jìn)行統(tǒng)計(jì),請(qǐng)稍侯\n");aveMark(p);//調(diào)用平均分函數(shù)printf("\n");}}//按班級(jí)輸出學(xué)生信息voidprintClassMark(MARK*head){MARK*p;p=head->next;printfi***********************************************************************\n");printf("學(xué)期\t學(xué)號(hào)\t班別\t姓名\t性別\t語(yǔ)文\t\t數(shù)學(xué)\t\t英語(yǔ)gs:?-i--PAH女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女nrinri1小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小小*****************\n");while(p!=NULL){printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);p=p->next;printf("\n");gs:?-i--PAH女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女女printiI**************************************************************************\n");}}//保存學(xué)生成績(jī)信息于文件voidsaveFileMark(MARK*head)char*fileName;FILE*stu;MARK*p=head->next;if(p==NULL){printf("沒有任何信息,請(qǐng)先存入信息!\n");printf("請(qǐng)按任意鍵返回主菜單!\n");getchar();}else{fileName=(char*)malloc(sizeof(char));fflush(stdin);printf("請(qǐng)輸入你要保存的文件名!\n");gets(fileName);fileName=strcat(fileName,".txt");stu=fopen(fileName,“wb+");while(p!=NULL){fprintf(stu,“%d%d",p->term,p->classes);fprintf(stu,"%s%d",p->name,p->number);fprintf(stu,“%s",p->sex);fprintf(stu,"%f%f%f%f",p->chinese,p->math,p->english,p->computer);p=p->next;}fclose(stu);printf(“已經(jīng)保存文件在%s中!\n",fileName);printf("請(qǐng)按任意鍵返回主菜單!\n");getchar();}}//查找某個(gè)學(xué)生的成績(jī)voidsearchMarkStusentone(MARK*head){charch1,ch2;MARK*p=head->next;if(p==NULL){printf("沒有任何信息,請(qǐng)先存入信息!\n");printf("請(qǐng)按任意鍵返回主菜單!\n");getchar();elsewhile(1){printf("你要選擇何種方式查詢成績(jī)!\n");printf("??????????????????????????????????\n");printf("a、學(xué)號(hào):\n");printf("b、班級(jí):\n");printf("c、學(xué)期:\n");printf("fflush(stdin);scanf("%c",&ch1);switch(ch1){case'a':searchnumber(head);break;case'b':searchclasses(head);break;case'c':searchterm(head);break;}printf("\n");printf("是否還要繼續(xù)查詢學(xué)生的信息(y/n):");fflush(stdin);if((ch2=getchar())=='n')break;}}//查詢不及格學(xué)生voidsearchMarkFail(MARK*head){MARK*p=head->next;charname[10];intnumber,flag=0;intchoose5;do{fflush(stdin);printf("請(qǐng)輸入!(1按姓名查詢2按學(xué)號(hào)查詢3返回)\n");scanf("%d",&choose5);switch(choose5){case1:fflush(stdin);printf("請(qǐng)輸入要查找的名字\n");gets(name);while(p!=NULL){if(!strcmp(name,p->name)){printf(“姓名學(xué)號(hào)\n");printf("%s%d\n",p->name,p->number);if(p->chinese<60)printf("%s的語(yǔ)文成績(jī)不及格\n",p->name);if(p->math<60)printf("%s的數(shù)學(xué)成績(jī)不及格\n",p->name);if(p->english<60)printf("%s的英語(yǔ)成績(jī)不及格\n",p->name);if(p->computer<60)printf("%s的計(jì)算機(jī)成績(jī)不及格\n",p->name);flag++;}printf("\n");p=p->next;}if(flag==0)printf("沒有你要找的信息!\n");break;case2:fflush(stdin);printf("請(qǐng)輸入你想要查找的學(xué)號(hào):\n");scanf("%d",&number);while(p!=NULL){if(number==p->number){printf("姓名學(xué)號(hào)\n");printf("%s%d\n",p->name,p->number);if(p->chinese<60)printf("%s的語(yǔ)文成績(jī)不及格\n",p->name);if(p->math<60)printf("%s的數(shù)學(xué)成績(jī)不及格\n",p->name);if(p->english<60)printf("%s的英語(yǔ)成績(jī)不及格\n",p->name);if(p->computer<60)printf("%s的計(jì)算機(jī)成績(jī)不及格\n",p->name);flag++;}printf("\n");p=p->next;}if(flag==0)printf("沒有你要找的信息!\n");break;case3:printf(“請(qǐng)按任意鍵返回!\n");getchar();break;default:printf("你輸入的有誤??!請(qǐng)重新選擇\n");break;}}while(choose5!=1&&choose5!=2&&choose5!=3);printf(“按任意鍵返回!\n");getchar();}//按學(xué)號(hào)查詢voidsearchnumber(MARK*head){MARK*p=head->next;intnumber,i=0;printf("請(qǐng)輸入你要查詢的學(xué)生學(xué)號(hào):\n");scanf("%d",&number);while(p!=NULL){if(number==p->number){printf("\n");printf("\t學(xué)期\t學(xué)號(hào)\t班別\t姓名\t性別\t語(yǔ)文盤數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\t\n");printf("\n");printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%1f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);i=2;}p=p->next;}if(i==0)printf("沒找到該學(xué)生的信息!");}//按班級(jí)查詢成績(jī)voidsearchclasses(MARK*head){intclasses,i=0;MARK*p=head->next;printf("請(qǐng)輸入你要查詢成績(jī)的班級(jí):");scanf("%d",&classes);printf(“請(qǐng)輸出%d班所有同學(xué)的成績(jī):\n",classes);\n");printf("\t學(xué)期\t學(xué)號(hào)\t班別\t姓名\t性別\t語(yǔ)文\七數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\t\n");printf("\n");while(p!=NULL){if(classes==p->classes){printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%1f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);printf("\n");printf("\n");i=2;}p=p->next;}if(i==0)printf("沒找到學(xué)生信息!\n");}//按學(xué)期查詢voidsearchterm(MARK*head){intterm,i=0;MARK*p=head->next;printf("請(qǐng)輸入你要查詢成績(jī)的學(xué)期:");scanf("%d",&term);printf("請(qǐng)輸出第%d學(xué)期所有班級(jí)的信息:\n");printf("\n");printf("\t學(xué)期\t學(xué)號(hào)\t班別\t姓名\t性別\t語(yǔ)文\七數(shù)學(xué)\t英語(yǔ)\t計(jì)算機(jī)\t\n");printf("\n");while(p!=NULL){if(term==p->term)printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->clas
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 長(zhǎng)春石雕石欄桿施工方案
- 二零二五年度短視頻內(nèi)容創(chuàng)作團(tuán)隊(duì)視頻剪輯人員勞動(dòng)合同范本3篇
- 路橋泥漿排入河道施工方案
- 鐵路移動(dòng)寬帶施工方案
- 水泥道路方案
- 二零二五年度企業(yè)薪資調(diào)整與考核合同范本3篇
- 二零二五個(gè)人股權(quán)買賣與產(chǎn)業(yè)基金合作協(xié)議4篇
- 二零二五年度貨運(yùn)司機(jī)安全責(zé)任協(xié)議書范本3篇
- 二零二五年度借唄個(gè)人消費(fèi)貸款合同(藝術(shù)收藏品購(gòu)買貸款版)4篇
- 二零二五個(gè)人債務(wù)額度擔(dān)保債務(wù)清理合同范本3篇
- 湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試參考試題庫(kù)(含答案)
- 英漢互譯單詞練習(xí)打印紙
- 2023湖北武漢華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員24人筆試參考題庫(kù)(共500題)答案詳解版
- 一氯二氟甲烷安全技術(shù)說(shuō)明書MSDS
- 母嬰護(hù)理員題庫(kù)
- 老年人預(yù)防及控制養(yǎng)老機(jī)構(gòu)院內(nèi)感染院內(nèi)感染基本知識(shí)
- SWITCH暗黑破壞神3超級(jí)金手指修改 版本號(hào):2.7.6.90885
- 2023高考語(yǔ)文全國(guó)甲卷詩(shī)歌閱讀題晁補(bǔ)之《臨江仙 身外閑愁空滿眼》講評(píng)課件
- 物流簽收回執(zhí)單
- 鋼結(jié)構(gòu)廠房造價(jià)指標(biāo)
- 安徽涵豐科技有限公司年產(chǎn)6000噸磷酸酯阻燃劑DOPO、4800噸磷酸酯阻燃劑DOPO衍生品、12000噸副產(chǎn)品鹽酸、38000噸聚合氯化鋁、20000噸固化劑項(xiàng)目環(huán)境影響報(bào)告書
評(píng)論
0/150
提交評(píng)論