班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第1頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第2頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第3頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第4頁(yè)
班級(jí)成績(jī)管理系統(tǒng)C語(yǔ)言課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《班級(jí)成績(jī)管理系統(tǒng)》C語(yǔ)言課程設(shè)計(jì)目錄TOC\o"1-5"\h\z一、設(shè)計(jì)要求 3\o"CurrentDocument"二、設(shè)計(jì)目的 3\o"CurrentDocument"三、課題分析 3\o"CurrentDocument"四、具體設(shè)計(jì)過(guò)程 3\o"CurrentDocument"定義數(shù)據(jù)結(jié)構(gòu)及相關(guān)解釋 3\o"CurrentDocument"軟件的模塊劃分 4\o"CurrentDocument"程序流程設(shè)計(jì) 4\o"CurrentDocument"各功能模塊編寫(xiě)內(nèi)容詳細(xì)情況及調(diào)試 6\o"CurrentDocument"源程序內(nèi)容及調(diào)試結(jié)果 7\o"CurrentDocument"用到的庫(kù)函數(shù)簡(jiǎn)介 21\o"CurrentDocument"五、實(shí)習(xí)心得體會(huì) 21\o"CurrentDocument"六、參考文獻(xiàn) 22班級(jí)成績(jī)管理系統(tǒng)一、要求(1)收集資料,全面分析課題,分解問(wèn)題,形成中體編程思路;(2)深入分析各個(gè)小問(wèn)題,編寫(xiě)個(gè)部分程序模塊;(3)對(duì)于設(shè)計(jì)中用到的關(guān)鍵函數(shù),要聯(lián)系實(shí)際問(wèn)題進(jìn)行具體介紹;(4)上機(jī)調(diào)試,確保程序能正確運(yùn)行;二、設(shè)計(jì)目的(1)熟悉c語(yǔ)言的編譯連接和運(yùn)行過(guò)程。(2)掌握c語(yǔ)言的數(shù)據(jù)類型,熟悉整型、實(shí)型、字符型變量的定義方式及如何給它們賦值。(3)掌握if語(yǔ)句及switch語(yǔ)句的運(yùn)用方法及嵌套應(yīng)用方法。(4)掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種語(yǔ)句while、do-while.、for的使用。(5)掌握函數(shù)的定義方法和調(diào)用方法。(6)能夠采用模塊化思想調(diào)試程序。三、課題分析:對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),每個(gè)學(xué)生有M門課程。該系統(tǒng)實(shí)現(xiàn)對(duì)班級(jí)成績(jī)的錄入、顯示、修改、排序、保存等操作的管理。功能要求:(1)本系統(tǒng)采用一個(gè)結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、M門課程名稱。(2)本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a、成績(jī)錄入b、成績(jī)顯示c、成績(jī)保存d、成績(jī)排序e、成績(jī)修改(要求先輸入密碼)f、成績(jī)統(tǒng)計(jì)1)顯示每門課程成績(jī)最高的學(xué)生的基本信息2)顯示每門課程的平均成績(jī)3)顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)g、退出系統(tǒng)(3)執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。(4)將學(xué)生成績(jī)保存到文件中。四、具體設(shè)計(jì)過(guò)程:定義數(shù)據(jù)結(jié)構(gòu)及相關(guān)解釋1)在《班級(jí)成績(jī)管理系統(tǒng)》中,各模塊功能系統(tǒng)之間構(gòu)成的數(shù)據(jù)結(jié)構(gòu)關(guān)系為非線性數(shù)班級(jí)成績(jī)管理系統(tǒng)據(jù)結(jié)構(gòu)的樹(shù)結(jié)構(gòu)。2)樹(shù)結(jié)構(gòu):每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn)。沒(méi)有前件的結(jié)點(diǎn)只有一個(gè),稱為樹(shù)的根結(jié)點(diǎn),簡(jiǎn)稱樹(shù)的根。在《班級(jí)成績(jī)管理系統(tǒng)》中的數(shù)據(jù)結(jié)構(gòu)圖中“成績(jī)管理程序”為根;在樹(shù)結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)都可以有多個(gè)后件,他們都稱為該結(jié)點(diǎn)的子結(jié)點(diǎn),沒(méi)有后件的結(jié)點(diǎn)稱為葉子。例如,在《班級(jí)成績(jī)管理系統(tǒng)》中的數(shù)據(jù)結(jié)構(gòu)圖中“查看數(shù)據(jù)”“通過(guò)比較學(xué)號(hào)來(lái)插入數(shù)據(jù)”、“通過(guò)姓名查找查看數(shù)據(jù)”、“通過(guò)姓名查找來(lái)更新數(shù)據(jù)”、“保留數(shù)據(jù)”以及求各學(xué)科的“平均分、最高分、最低分”為“學(xué)生成績(jī)管理系統(tǒng)”的子結(jié)點(diǎn),也是該樹(shù)結(jié)構(gòu)的葉子。軟件的模塊劃分根據(jù)對(duì)《班級(jí)成績(jī)管理系統(tǒng)》功能分析的情況,可將《班級(jí)成績(jī)管理系統(tǒng)》做如下模塊劃分:1)main()主函數(shù)---班級(jí)成績(jī)管理系統(tǒng)程序主函數(shù);2)print()打印函數(shù)---設(shè)置班級(jí)成績(jī)管理系統(tǒng)界面;3)cin()數(shù)據(jù)輸入函數(shù)---數(shù)據(jù)多格式輸入;4)cindata()其他數(shù)據(jù)繼續(xù)輸入函數(shù);5)lookdata()查看數(shù)據(jù)函數(shù)---查看已保存的數(shù)據(jù);6)insert()插入數(shù)據(jù)的函數(shù)---通過(guò)比較學(xué)號(hào)來(lái)插入數(shù)據(jù);7)find()查看數(shù)據(jù)的函數(shù)---通過(guò)姓名查找查看數(shù)據(jù);8)update()更新數(shù)據(jù)的函數(shù)---姓名查找來(lái)更新數(shù)據(jù);9)save()保留數(shù)據(jù)函數(shù)---儲(chǔ)存處理后的數(shù)據(jù);10)caverage();求各學(xué)生語(yǔ)文平均分、最高和最低分成績(jī)的函數(shù);11)maverage();求各學(xué)生數(shù)學(xué)平均分、最高和最低分成績(jī)的函數(shù);12)eaverage();求各學(xué)生英語(yǔ)平均分、最高和最低分成績(jī)的函數(shù);13)comaverage();求各學(xué)生計(jì)算機(jī)平均分、最高和最低分成績(jī)的函數(shù)注:(2)—(13)為自定義功能函數(shù),通過(guò)main()主函數(shù)調(diào)用實(shí)現(xiàn)其功能。程序流程設(shè)計(jì)根據(jù)《班級(jí)成績(jī)管理系統(tǒng)》功能分析繪制流程圖:班級(jí)成績(jī)管理系統(tǒng)其他數(shù)據(jù)輸入過(guò)程注:其他功能的流程圖可參照“其他數(shù)據(jù)輸入”的流程圖繪制。班級(jí)成績(jī)管理系統(tǒng)各功能模塊編寫(xiě)內(nèi)容詳細(xì)情況及調(diào)試1)數(shù)據(jù)類型的定義。在定義數(shù)據(jù)類型時(shí),由于班級(jí)成績(jī)管理信息需要由不同類型的數(shù)據(jù)反映出來(lái)。如:姓名、性別都需要用char型數(shù)據(jù),而學(xué)號(hào)和成績(jī)則需要用int型數(shù)據(jù),并且每位同學(xué)的以上信息都需要一次性輸入,所以采用結(jié)構(gòu)體類型定義。如:typedefstructstudent/*定義結(jié)構(gòu)體*/(charname[MAX]; 定義char型姓名intnum[MAX]; 定義int型學(xué)號(hào)charsex[MAX]; 定義char型性別intchinese; 定義int型語(yǔ)文成績(jī)intmathematic; 定義int型數(shù)學(xué)成績(jī)intenglish; 定義int型英語(yǔ)成績(jī)intcomputer; 定義int型計(jì)算機(jī)成績(jī)structstudent*next; 結(jié)構(gòu)體指針}stu;說(shuō)明:在定義結(jié)構(gòu)體類型和變量時(shí),可采用先定義結(jié)構(gòu)體類型再定義結(jié)構(gòu)提變量,也可同時(shí)定義結(jié)構(gòu)體類型和變量,還可以直接定義結(jié)構(gòu)提變量。上例中的定義方式為同時(shí)定義結(jié)構(gòu)體的類型和變量。結(jié)構(gòu)體定義的格式如下:struct [結(jié)構(gòu)體名](類型標(biāo)識(shí)符 成員名;};2)函數(shù)的命名和庫(kù)函數(shù)的使用。A.函數(shù)命名是遵循標(biāo)識(shí)符的命名規(guī)則,并且要盡量做到顧名思義的效果。如:lookdata()為查看數(shù)據(jù)函數(shù)。B.庫(kù)函數(shù)使用時(shí)要提前聲明(#include<math.h>等)用到的函數(shù)必須包括在庫(kù)函數(shù)或者已自定義的函數(shù)中,否則編譯出錯(cuò)。C.函數(shù)調(diào)用時(shí)要注意形參和實(shí)參數(shù)據(jù)類型的對(duì)應(yīng)。

班級(jí)成績(jī)管理系統(tǒng)3)函數(shù)結(jié)構(gòu)和功能實(shí)現(xiàn)。A.數(shù)據(jù)輸入函數(shù)“cin()”B.查看數(shù)據(jù)函數(shù)“l(fā)ookdata()”C.插入數(shù)據(jù)的函數(shù)“insert()”D.查看數(shù)據(jù)的函數(shù)“find()”E.更新數(shù)據(jù)的函數(shù)“update()”F.保留數(shù)據(jù)函數(shù)“save()”注:以上的六個(gè)功能函數(shù)為《班級(jí)成績(jī)管理系統(tǒng)》的輸入、讀取、修改等主要功能函數(shù),其中主要運(yùn)用字符串比較,定義指針變量,輸入輸出等多種函數(shù)和操作實(shí)現(xiàn)其對(duì)外界輸入內(nèi)容進(jìn)行處理功能以及防止出錯(cuò)的備份功能。G.管理系統(tǒng)中的各個(gè)模塊函數(shù)的功能實(shí)現(xiàn)基本都依靠與以上三中函數(shù)類似的編輯方法編寫(xiě)。主要通過(guò)以下結(jié)構(gòu)實(shí)現(xiàn)對(duì)應(yīng)功能。for循環(huán)結(jié)構(gòu)一一對(duì)使用者輸入內(nèi)容與內(nèi)部資料內(nèi)容進(jìn)行核對(duì)。switch選擇結(jié)構(gòu)一一對(duì)使用者所選擇的項(xiàng)目進(jìn)行判斷并調(diào)用對(duì)應(yīng)的函數(shù)。if-else選擇結(jié)構(gòu)一一配合for循環(huán)核對(duì)內(nèi)容的正確與否選擇對(duì)應(yīng)的操作。while、do-while循環(huán)結(jié)構(gòu)一一條件判斷并進(jìn)行對(duì)應(yīng)的操作。H.具體功能函數(shù)源程序的編輯內(nèi)容見(jiàn)后文的《班級(jí)成績(jī)管理系統(tǒng)》源程序。源程序內(nèi)容及調(diào)試結(jié)果1)源程序(原始密碼是175844):#include"stdio.h"#include"stddef.h"#include"stddef.h"#include"string.h"#defineMAX10/*定義結(jié)構(gòu)體/*定義結(jié)構(gòu)體*//*姓名*//*學(xué)號(hào)*//*性別*/charname[MAX];intnum[MAX];charsex[MAX];

班級(jí)成績(jī)管理系統(tǒng)10)intchinese;/*語(yǔ)文*/11)intmathematic;/*數(shù)學(xué)*/12)intenglish;/*英語(yǔ)*/13)intcomputer;/*計(jì)算機(jī)*/14)structstudent*next;/*結(jié)構(gòu)體指針*/15)}stu;stu*head; /*頭指針*/voidprint() /*顯示或打印函數(shù)*/18){19)system("cls");/*運(yùn)行前清屏*/20)printf("\t\t****Students'GradeManagementSystem****\n"); /*成績(jī)管理系統(tǒng)*/21)printf("\t\t\t<1>EnterRecord\t\n");/*輸入數(shù)據(jù)*/22)printf("\t\t\t<2>Display\t\n");/*顯示*/23)printf("\t\t\t<3>Insert\t\n");/*插入數(shù)據(jù)*/24)printf("\t\t\t<4>Quest\t\n");/*訪問(wèn)數(shù)據(jù)*/25)printf("\t\t\t<5>Update\t\n");/*以前數(shù)據(jù)*/26)printf("\t\t\t<6>Save\t\n");/*保留數(shù)據(jù)*/27)printf("\t\t\t<7>Fresh\t\n");/*更新數(shù)據(jù)*/28)printf("\t\t\t<8>ChineseAverage\t\n");/*語(yǔ)文平均成績(jī)*/29)printf("\t\t\t<9>MathAverage\t\n");/*數(shù)學(xué)平均成績(jī)*/30)printf("\t\t\t<10>EnglishAverage\t\n");/*英語(yǔ)平均成績(jī)*/31)printf("\t\t\t<11>ComputerAverage\t\n");/*計(jì)算機(jī)平均成績(jī)*/32)printf("\t\t\t<12>BACKTOMENU\t\n");/*返回主菜單*/33)printf("\t\t\t<13>Quit\t\n");/*退出*/34)35)printf("\t\t*****************************************\n");36)printf("\t\t\tGiveyourChoice(1-13):");)/*輸入相關(guān)數(shù)據(jù)的函數(shù)/*輸入相關(guān)數(shù)據(jù)的函數(shù)*/{printf("Entername:\n");42)scanf("%s",&p1->name);43)printf("Enternum:\n");44) scanf("%d",&p1->num);printf("Entersex:\n");班級(jí)成績(jī)管理系統(tǒng)scanf("%s",&p1->sex);printf("Enterscore:\n");printf("Enterchinese:\n");scanf("%d",&p1->chinese);printf("Entermath:\n");scanf("%d",&p1->mathematic);printf("EnterEnglish:\n");scanf("%d",&p1->english);printf("EnterComputer:\n");scanf("%d",&p1->computer);)stu*cindata() /*其他數(shù)據(jù)是否繼續(xù)輸入的函數(shù)*/{stu*p1,*p2;inti=1;charch;p1=(stu*)malloc(sizeof(stu));head=p1;while(i){cin(p1);printf("DoyouWanttoContinue?yesorno:"); /*是否繼續(xù)輸入數(shù)據(jù)*/ch=getchar();ch=getchar();if(ch=='n'||ch=='N'){i=0;p1->next=NULL;print();)else{p2=p1;p1=(stu*)malloc(sizeof(stu));p2->next=p1;))班級(jí)成績(jī)管理系統(tǒng)return(p1->next);)stu*lookdata(stu*p1) /*查看數(shù)據(jù)的函數(shù)*/{while(p1!=NULL){printf("Num:%d\t",p1->num);printf("Name:%s\t",p1->name);printf("Sex:%s\t",p1->sex);printf("\n");printf("Chinese:%d\t",p1->chinese);printf("Math:%d\t",p1->mathematic);printf("English:%d\t",p1->english);printf("Computer:%d\t",p1->computer);printf("\n");p1=p1->next;)returnp1;)voidinsert() /*通過(guò)比較學(xué)號(hào)來(lái)插入數(shù)據(jù)的函數(shù)*/{stu*p1,*p3,*p2;charch;p1=head;p3=(stu*)malloc(sizeof(stu));p3->next=NULL;if(head==NULL){ head=p3;return;}cin(p3);while(p1!=NULL&&(p1->num<p3->num)) /*通過(guò)學(xué)號(hào)的比較來(lái)插入*/{p2=p1;p1=p1->next;}if(p2==head){p3->next=head;head=p3; return;}p3->next=p1;p2->next=p3;}find(stu*p2) /*通過(guò)姓名查找查看數(shù)據(jù)的函數(shù)*/班級(jí)成績(jī)管理系統(tǒng){charname[20];intb=0;printf("Enterthenameofthestudentyouwanttofind:");/*通過(guò)姓名查看*/scanf("%s",name);while(p2!=NULL){if(strcmp(name,p2->name)==0){printf("Thedatayouwanthasbefound\n");printf("Name:%s\t",p2->name);printf("Num:%d\t",p2->num);printf("sex%s\t",p2->sex);printf("\n");printf("Chinese:%d\t",p2->chinese);printf("Math:%d\t",p2->mathematic);printf("English:%d\t",p2->english);printf("Computer:%d\t",p2->computer);printf("\n");TOC\o"1-5"\h\zb=1;}elseif(b==0)printf("sorrynotfinddata!");p2=p2->next;}if(b==1)\o"CurrentDocument"{print();printf("Findone\n");}else{print();printf("Notfind\n");}}voidcaverage() /*求各學(xué)生語(yǔ)文平均分、最高和最低分成績(jī)的函數(shù)*/{stu*p1;inti;10

班級(jí)成績(jī)管理系統(tǒng)floatmax=0.0,min=200.0;floatsum=0.0,aver=0;p1=head;if(p1==NULL)printf("notdata!");else{for(i=0;p1!=NULL;i++,p1=p1->next)sum+=p1->chinese;aver=sum/i;p1=head;for(i=0;p1!=NULL;i++,p1=p1->next){if(max<p1->chinese)max=p1->chinese;}p1=head;for(i=0;p1!=NULL;i++,p1=p1->next)if(min>p1->chinese)min=p1->chinese;}printf("ChineseAverage:%f",aver);printf("ChineseMax:%f",max);printf("ChineseMin:%f",min);}voidmaverage() /*求各學(xué)生數(shù)學(xué)平均分、最高和最低分成績(jī)的函數(shù)*/{stu*p1;inti;floatmax=0.0,min=200.0;floatsum=0.0,aver=0;p1=head;if(p1==NULL)printf("notdata!");else{for(i=0;p1!=NULL;i++,p1=p1->next)sum+=p1->mathematic;189)aver=sum/i;189)p1=head;11班級(jí)成績(jī)管理系統(tǒng)for(i=0;p1!=NULL;i++,p1=p1->next){if(max<p1->mathematic)max=p1->mathematic;}p1=head;for(i=0;p1!=NULL;i++,p1=p1->next)if(min>p1->mathematic)min=p1->mathematic;}printf("MatheAverage:%f",aver);printf("MatheMax:%f",max);printf("MatheMin:%f",min);}voideaverage() /*求各學(xué)生英語(yǔ)平均分、最高和最低分成績(jī)的函數(shù)*/{stu*p1;inti;floatmax=0.0,min=200.0;floatsum=0.0,aver=0;p1=head;if(p1==NULL)printf("notdata!");else{for(i=0;p1!=NULL;i++,p1=p1->next)sum+=p1->english;aver=sum/i;p1=head;for(i=0;p1!=NULL;i++,p1=p1->next){if(max<p1->english)max=p1->english;}p1=head;for(i=0;p1!=NULL;i++,p1=p1->next)if(min>p1->english)min=p1->english;}12

班級(jí)成績(jī)管理系統(tǒng)printf("EnglishAverage:%f",aver);printf("EnglishMax:%f",max);printf("EnglishMin:%f",min);)231)voidcomaverage()/*求各學(xué)生計(jì)算機(jī)平均分、最高和最低分成績(jī)的函數(shù)*/231)voidcomaverage(){stu*p1;inti;floatmax=0.0,min=200.0;floatsum=0.0,aver=0;p1=head;if(p1==NULL)printf("notdata!");else{for(i=0;p1!=NULL;i++,p1=p1->next)sum+=p1->computer;aver=sum/i;p1=head;for(i=0;p1!=NULL;i++,p1=p1->next){if(max<p1->computer)max=p1->computer;)p1=head;for(i=0;p1!=NULL;i++,p1=p1->next)if(min>p1->computer)min=p1->computer;)printf("ComputerAverage:%f",aver);printf("ComputerMax:%f",max);printf("ComputerMin:%f",min);)/*通過(guò)姓名查找來(lái)更新數(shù)據(jù)/*通過(guò)姓名查找來(lái)更新數(shù)據(jù)*//*p2為指向結(jié)構(gòu)體structstudent的指針*/{charname[10];intb=0;13

班級(jí)成績(jī)管理系統(tǒng)262)printf("EnterTheName"); /*輸入姓名*/263)scanf("%s",name);264)while(p2!=NULL)265){if(strcmp(name,p2->name)==0)266)(267)printf("Findyoudata\n");268)scanf("Name:%s",p2->name);269)scanf("Num:%s",p2->num);270)scanf("Sex:%s",p2->sex);271)scanf("Chinese:%d",p2->chinese);272)scanf("Math:%d",p2->mathematic);273)scanf("english:%d",p2->english);274)scanf("Computer:%d",p2->computer);275)printf("Success!");276)b=1;}277)elseif(b==0)278)printf("SorrynotFinddata!");279)p2=p2->next;}280)if(b==0)281){print();282)printf("SorrynotFinddata!");283)}284)else285){286)print();287)printf("Finish!");288)}289)}290)save(stu*p2) /*保留數(shù)據(jù)函數(shù)*/291){292)FILE*fp;293)charfile[10];294)printf("Enterfilename"); /*輸入文件名*/295)scanf("%s",file);296)fp=fopen(file,"w");297)while(p2!=NULL)14班級(jí)成績(jī)管理系統(tǒng)(fprintf(fp,"%s",p2->name);fprintf(fp,"%s",p2->num);fprintf(fp,"%s",p2->sex);fprintf(fp,"%d",p2->chinese);fprintf(fp,"%d",p2->mathematic);fprintf(fp,"%d",p2->english);fprintf(fp,"%d",p2->computer);p2=p2->next;)fclose(fp);)311)charpassword[7]="175844”;/*定義初始密碼*/312)313)voidmain()/*主函數(shù)*/314){intchoice;315)stu*p2;316)chars[8];317)intflag=0,i;/*標(biāo)志項(xiàng)*/318)intn=3;319)do{printf("Enterpassword:\n");320) scanf("%s",s);321) if(!strcmp(s,password))/*進(jìn)行密碼匹配驗(yàn)證*/322) {printf("PASS\n\n\n");323) flag=1;324) break;325) )326) else{327) printf("ErrorEnteragain:\n");328) n--;329) )330) )331) while(n>0);332)if(!flag)333){printf("youhaveEnter3times!");/*輸入密碼超過(guò)了3次??!*/15

班級(jí)成績(jī)管理系統(tǒng)exit(0); /*自動(dòng)退出*/)/*密碼驗(yàn)證成功后進(jìn)入的界面*/337)338) printf("\t\t**************WelcomtotheMis**************\n\n");/操作界面*/339)340)printf("\t\t\tAuthor:xie_bi_yu\n\t\t\tClass:T08102\n\t\t\tNum:14\n"); /*作者,班級(jí)和341)號(hào)碼*/341)printf("\t\t*********************************************\n\n");342)343)printf("\n\n\n\n");344)/*問(wèn)進(jìn)入系統(tǒng)與否*//*問(wèn)進(jìn)入系統(tǒng)與否*/346) /*scanf("%d",&choice);347)if(choice=='y'||choice=='Y'){exit(1);print();break;}*/351)print();352)while(1)TOC\o"1-5"\h\z353) {354)scanf("%d",&i);355)if(i<1||i>13)\o"CurrentDocument"356) {357)printf("Enternumfrom1to13:\n"); /*再?gòu)?-13中進(jìn)行選擇*/358) exit(1);}switch(i){case1:p2=cindata();/*其他數(shù)據(jù)是否繼續(xù)輸入的函數(shù)*/break;case2:p2=lookdata(head); /*查看數(shù)據(jù)的函數(shù)*/break;case3:insert(); /*通過(guò)比較學(xué)號(hào)來(lái)插入數(shù)據(jù)的函數(shù)*/16

班級(jí)成績(jī)管理系統(tǒng)369)break;370)case4:371)find(head); /*通過(guò)姓名查找查看數(shù)據(jù)的函數(shù)*/372)break;373)case5:374)update(head); /*通過(guò)姓名查找來(lái)更新數(shù)據(jù)*/375)break;376)case6:377)save(head); /*保留數(shù)據(jù)函數(shù)*/378)break;379)case7:380)print(); /*顯示或打印函數(shù)*/381)break;382)case8:383)caverage(); /*求各學(xué)生語(yǔ)文平均分、最高和最低分成績(jī)的函數(shù)*/384)break;385)case9:386)maverage(); /*求各學(xué)生數(shù)學(xué)平均分、最高和最低分成績(jī)的函數(shù)*/387)break;388)case10:389)eaverage();/*求各學(xué)生英語(yǔ)平均分、最高和最低分成績(jī)的函數(shù)*/390)break;391)case11:392)comaverage();/*求各學(xué)生計(jì)算機(jī)平均分、最高和最低分成績(jī)的函數(shù)*/393)break;394)case12:395)print();396)break; /*返回主菜單*/397)case13:398)exit(1); /*退出*/399)break;400) )401) scanf("%d",&i);402) )403)404))17班級(jí)成績(jī)管理系統(tǒng)405)406)407)程序運(yùn)行過(guò)程:A.TC的調(diào)試和運(yùn)行:TC程序在運(yùn)行前首先要設(shè)置其路徑,這樣才能調(diào)用庫(kù)函數(shù),一般TC默認(rèn)的路徑為C:\TC,但如果用戶拷貝的TC沒(méi)有裝載在C盤(pán)下,則TC將無(wú)法尋找到路徑,必須重新調(diào)試其路徑。調(diào)試方法如下(以裝載在C盤(pán)為例):打開(kāi)TC編輯頁(yè)面,找到Options選項(xiàng),將Directories中的所有C:\更改為G:\,然后點(diǎn)Saveoptions.修改后TC就可以成功的調(diào)用庫(kù)函數(shù)文件了。B.程序模塊化檢驗(yàn):根據(jù)之前需要,將程序劃分為多個(gè)模塊,然后將每個(gè)模塊單獨(dú)編寫(xiě),每個(gè)模塊可以單獨(dú)編寫(xiě)一個(gè)程序來(lái)檢測(cè)。例如:在《班級(jí)成績(jī)管理系統(tǒng)》中的“班級(jí)成績(jī)輸入模塊”可根據(jù)以下方式,先單獨(dú)定義一個(gè)main()函數(shù),看其是否符合要求的功能。#include"stdio.h"#include"stddef.h"#include"stddef.h"#include"string.h"#defineMAX10typedefstructstudent{charname[MAX];intnum[MAX];charsex[MAX];intchinese;intmathematic;intenglish;intcomputer;structstudent*next;}stu={{"kang",01,'g',61,71,81,91},{"wang",02,'b',62,72,82,92}};main(){structstudent*p;18班級(jí)成績(jī)管理系統(tǒng)for(p=stu;p<stu+2;p++)printf("%s,%d,%c,%d,%d,%d,%d",p->name,p->num,p->sex,p->chinese,p->mathematic,p->english,p->computer);)注:功能調(diào)試時(shí)多實(shí)驗(yàn)幾個(gè)數(shù)值,以免其通用性不強(qiáng)。C.程序運(yùn)行結(jié)果:注:系統(tǒng)運(yùn)行輸入密碼。當(dāng)輸入的密碼為175844(初始密碼)與系統(tǒng)中存儲(chǔ)的一致時(shí),系統(tǒng)直接進(jìn)入開(kāi)始界面:進(jìn)入后就可輸入擁護(hù)的信息,包括班級(jí)、姓名。19

班級(jí)成

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論