c語(yǔ)言班級(jí)學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目設(shè)計(jì)_第1頁(yè)
c語(yǔ)言班級(jí)學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目設(shè)計(jì)_第2頁(yè)
c語(yǔ)言班級(jí)學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目設(shè)計(jì)_第3頁(yè)
c語(yǔ)言班級(jí)學(xué)生成績(jī)管理系統(tǒng)項(xiàng)目設(shè)計(jì)_第4頁(yè)
已閱讀5頁(yè),還剩110頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

任務(wù)1:“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”總體規(guī)則設(shè)計(jì)項(xiàng)目的整體框架設(shè)計(jì)應(yīng)當(dāng)充分的進(jìn)行調(diào)查研究,充分與用戶(hù)進(jìn)行溝通,充分了解用戶(hù)的需耍,在此基礎(chǔ)上給出項(xiàng)目的總體規(guī)則設(shè)計(jì)方案。這里給出了“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”工作模塊圖,其目的是給ー個(gè)實(shí)例,同學(xué)們可模仿畫(huà)出學(xué)校的學(xué)生成績(jī)管理工作模塊圖。班級(jí)學(xué)生成績(jī)管理系統(tǒng)任務(wù)2:“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”中相關(guān)數(shù)據(jù)設(shè)計(jì)“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”中的數(shù)據(jù)分常量與變量、簡(jiǎn)單類(lèi)型數(shù)據(jù)和復(fù)雜類(lèi)型數(shù)據(jù)。ー、常量在‘‘班級(jí)學(xué)生成績(jī)管理系統(tǒng)”中我們假定本系統(tǒng)能處理一個(gè)班40個(gè)學(xué)生的數(shù)據(jù)。用符號(hào)常量來(lái)定義ー個(gè)班的學(xué)生人數(shù)。定義方法:^defineSTUNUM40ー變量“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”中的學(xué)生信息主要包括:學(xué)號(hào)、性別、年齡、三門(mén)功課成績(jī)、總成績(jī)和平均成績(jī),再加上一些與計(jì)算全班成績(jī)有關(guān)的最高成績(jī)、最低成績(jī)等。這些變量是簡(jiǎn)單類(lèi)型變量,還有一些復(fù)雜類(lèi)型變量,如數(shù)組、結(jié)構(gòu)體、共用體、指針類(lèi)型等變量。.簡(jiǎn)單類(lèi)型intstunum;〃整數(shù)類(lèi)型的學(xué)號(hào)charstusex;〃字符類(lèi)型的性別intstuage;〃整數(shù)類(lèi)型的年齡floatscorel;〃單精度類(lèi)型的成績(jī)1floatscore2;〃單精度類(lèi)型的成績(jī)2floatscore3;〃單精度類(lèi)型的成績(jī)3floatavescore;〃單精度類(lèi)型的平均成績(jī)floatmaxscore;〃單精度類(lèi)型的最高分floatminscore;〃單精度類(lèi)型的最低分.復(fù)雜類(lèi)型charnamellO];〃數(shù)組類(lèi)型的姓名structstudentintstunum;〃學(xué)號(hào)charname[10];〃姓名charstusex;〃性別intstuage;〃年齡floatscore[3];〃三門(mén)成績(jī)}stu[STUNUM];〃含有40個(gè)學(xué)生的結(jié)構(gòu)體數(shù)組另外,在編程實(shí)踐中還會(huì)遇到ー些這里不能一一列舉出來(lái)的變量和指針變量,我們將在后續(xù)的學(xué)習(xí)逐漸認(rèn)識(shí)與掌握。任務(wù)3:用輸入輸出函數(shù)初步設(shè)計(jì)項(xiàng)目封面與菜單本任務(wù)采用C語(yǔ)言的標(biāo)準(zhǔn)輸入輸出函數(shù)分別實(shí)現(xiàn)“班級(jí)學(xué)生成績(jī)管理系統(tǒng)”的封面和主、子菜單,這些內(nèi)容暫時(shí)處理成單個(gè)程序的形式,后面將介紹如何將這些封面與主、子菜單組合起來(lái)。在下述程序中使用了system函數(shù),這個(gè)函數(shù)是ー個(gè)庫(kù)函數(shù),它能發(fā)出ー個(gè)MS-DOS命令,括號(hào)中是cis是MS-DOS的淸屏命令,通過(guò)system函數(shù)執(zhí)行了一?條DOS命令。這里給出了封面、主菜單、編輯子菜單、顯示子菜單、計(jì)算子菜單、排序子菜單六個(gè)程序,這六個(gè)程序是各自獨(dú)立的程序。.項(xiàng)目封面源程序^include<stdio.h>ttinclude<stdlib.h>uoid 項(xiàng)目封面<systen("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");prints。,、いt班級(jí)學(xué)生成績(jī)管理系統(tǒng)、n\nつ;printf("\t\t 版本號(hào):1.0\n\n");printf("\n\n\n\n");printf("\t\t 2GG8年5月、n\n”);printf("\t\t程序設(shè)計(jì)興趣小組'nつ;.項(xiàng)目主菜單源程序Itinclude<stdio.h>?include<stdlib.h>void?include<stdlib.h>voidmain。〃項(xiàng)目主菜單<intn;systen("cls");printf("\n\n\n");printFCI?????學(xué)生成績(jī)管理系統(tǒng)**?**!\n")printf("I |\n")1請(qǐng)選擇菜單序號(hào)(曠6)|\n")printf("printf("1 !\n")1統(tǒng)文文數(shù)數(shù)計(jì)說(shuō)系開(kāi)篇示^33k編顯數(shù)程退---------------------------1234560|\n")printfCprintF("1|\n")printFCprintf("11|\n")|\n")printf("1|\n-)printf("1|\n")printf("1|\n")printf("1 !\n")printf(,、いt請(qǐng)選擇序號(hào):“);scanf(',%d",&n);printf(“您選擇了第%。項(xiàng),ヽn“,n);.項(xiàng)目編輯子菜單源程序^include<stdio.h>銀include<stdlib.h>voidmain?!?xiàng)目編輯子菜單intn;systeraC'cls");printF("\n\n\n");printf(" |???****編輯子菜單******!\n")printFC | !\n")printf(" |請(qǐng)選擇菜單序號(hào)(y3)|\n")printFC | |\n")printFC |1?一一増加記錄|\n")printFC |2-一一刷除記錄|\n")printFC |3 修改記豪|\n")printFC |0——返回上級(jí)菜單|\n")printFC | |\n")printf(“、いt請(qǐng)選擇序號(hào):,,);scanFC%d,B,&n);printf(“您選擇了第椒!項(xiàng),ヽn“,n);

ttinclude<stdio.h>Itinclude<stdlib.h>5.項(xiàng)目計(jì)算子菜單源程序Itinclude<stdio.h>“include<stdlib.h>uoid5.項(xiàng)目計(jì)算子菜單源程序Itinclude<stdio.h>“include<stdlib.h>uoidmain?!?xiàng)目計(jì)算子菜單<intn;systen("cls");printF("\n\n\n");intn;systemC'cls");printF("\n\n\n");printfC******?查看子菜單****?*|\n")printf(".…|\n")printf("請(qǐng)選擇菜單序號(hào)(0-4)|\n")printFC.…|\n")printf("1 查看選定記錄|\n")printf("2一ー顯示全部記錄|\n")printf("3?一一顯示排序記錄|\n")printf("4一一ー顯小K及格記錄|\n")printFC0 返回上發(fā)菜?單|\n")printF("....!\n")printf(?ヽt't請(qǐng)選擇序號(hào):“);scanf("%d",&n);printf(“您選擇了第?d項(xiàng)?\n",n)printf("|?******計(jì)算子菜單???***!\n")printf("I |\n")printf(“I請(qǐng)選擇菜單序號(hào)(0-3)|\n")printf("I |\n")printFCI1ーー計(jì)票總成績(jī)和平均成績(jī)|\nつprintF("|2——レ篡曇商分2つprintf("|3——計(jì)算最便分|\nつprintFC|0——返回上級(jí)菜單つprintf("| |\n")printf("、いt請(qǐng)選擇序號(hào):,,);scanf(“%d",&n);printf(“您選擇ア第スd項(xiàng)ハn”,n);囂ユnclude<stdio.h>ttinclude<stdlib.h>voidmain()〃項(xiàng)目排序子菜單<intn;systenf'cls");printf("\n\n\n");printf("1*******排序子菜單******1\?">;printf("1 !\n");printf("! 請(qǐng)選擇菜單序號(hào)(0-2)|\n");printf("1 !\n");printf("1 1 按升序排序|\n");printf("I 2一一一按降再度|\n");printf("I 〇——返回上級(jí)菜單|\n");printf("I !\n");printf(,、いt請(qǐng)選擇序號(hào):“);scanF("%d",&n);printf(?,您選擇了第2d項(xiàng)ハn”,n);程序執(zhí)行后的效果圖如下:1.項(xiàng)目封面效果圖gx[班級(jí)學(xué)生成績(jī)管理系統(tǒng)版本號(hào):1.02008年5月程序設(shè)計(jì)興趣小組2.項(xiàng)目主菜單效果圖-?學(xué)生成績(jī)管理系統(tǒng)--請(qǐng)選擇菜單序號(hào)〈0-5>統(tǒng)統(tǒng)文文數(shù)數(shù)計(jì)說(shuō)系開(kāi)常示?Its整編顯數(shù)程退二請(qǐng)輸入序號(hào),_3.項(xiàng)目編輯子菜單效果圖請(qǐng)輸入序號(hào):請(qǐng)選擇菜單序號(hào)(0-3>*******編キ耳子菜單******EハC語(yǔ)言教學(xué)程序、學(xué)生成績(jī)管理系統(tǒng)\Debuハstuscore.exe123與菜錄錄錄級(jí)記記記上加除改回編修返.項(xiàng)目顯示子菜單效果圖請(qǐng)鐲入序號(hào):請(qǐng)選擇菜單序號(hào)<0~3〉!*******査看子菜單******!バ"EハC語(yǔ)言教學(xué)程序、學(xué)生或靖管理系統(tǒng)\Debuハstuscore.exe錄錄錄錄記單記記記定部序姿

運(yùn)全排不上

看不齊-K's

查顯顯顯返

ーニー

ニーニ

ーニーー

12340.項(xiàng)目計(jì)算子菜單效果圖任務(wù)4:項(xiàng)目封面、菜單的順序執(zhí)行設(shè)計(jì)該任務(wù)將封面和主、子菜單連接起來(lái),實(shí)現(xiàn)封面、菜單的順序執(zhí)行。由于,ー個(gè)程序只有一個(gè)主函數(shù),因此,我們將封面、主菜單、編輯子菜單、查看子菜單、計(jì)算子菜單、排序子菜單程序中的主函數(shù)分別改名為SluCover、MainMenu、EditMenu、DispMenu、CompMenu、SortMenu,并將這些函數(shù)復(fù)制到ー個(gè)C程序,另外,再建立一個(gè)主函數(shù),分別執(zhí)行這些函數(shù)。要注意的是,主函數(shù)是放在所有其他函數(shù)后面的,能不能將主函數(shù)放到所有函數(shù)前面呢?或者主函數(shù)的位置是否可以任意呢?回答是肯定的,關(guān)于如何實(shí)現(xiàn)這一點(diǎn)我們將在后續(xù)內(nèi)容中講解。該任務(wù)使用了一個(gè)getch庫(kù)函數(shù),它在這里的作用是使屏幕發(fā)生暫停,當(dāng)程序執(zhí)行到此函數(shù)時(shí)發(fā)生暫停,等待用戶(hù)輸入ー個(gè)任意字符后,程序繼續(xù)向下執(zhí)行。這樣做的好處是,可以使用戶(hù)看清封面和主、子菜單?!癷nclude<stdio.h>"include<stdlib.h>"include<conio.h>uoidStuCouer()〃項(xiàng)目封面(systen("cls");〃執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n*');printf 班級(jí)學(xué)生成績(jī)管理系統(tǒng)、n\nつ;printF("\t\t 版本號(hào):1.0\n\n");printf(■ヽn\n\n\n");printF("\t\t 2008年5月、n\n”);printfC't't程序設(shè)計(jì)興趣ノト組\n”);uoidMainMenu()〃項(xiàng)目主菜單intn;system("cls");printf(,,\n\n\n,');printF("*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-);printFC |\n");printF("請(qǐng)選擇菜單序號(hào)(0-6)|\n");printF(" |\n");printF("printF("printF("統(tǒng)文文數(shù)數(shù)計(jì)說(shuō)系な編顯數(shù)程退ー?ーーーーーーーーーーーーー?ーー?ーー------1234560|\n");|\n");|\n");printF("|\n");printF("|\n");printF("|\n");printF("I'n");printFC I'n");printf(?ヽt\t請(qǐng)選擇序號(hào):“);scanf(喋dヽ&n);printf(“您選擇ア第?d項(xiàng)?\n",n);intn;systemC'cls");printFC'XnXnXn");printf("1*******編輯子菜單***???|\n")printf(" |\n“)printFCi 請(qǐng)選擇菜單序號(hào)(o-3)|\n")printF(" |\n")printf("1 1—增加記錄|\n“)printF("I 2-一ー刪除記錄Iヽn“)printf,'I 3 修改記錄|\n")printf,'I 8 返回上級(jí)菜單|\n")printf(" !\n")printf("、いt請(qǐng)選擇序號(hào):“);scanfCRd'&n);printf(“您選擇了第?d項(xiàng),ヽn”,n);}uoidDispMenu()〃項(xiàng)目顯示子菜單intn;system("cls");printf("\n\n\n");printf("??■??-***-?杳:看?子単,******!\n")printf("....!\n")printf("i 請(qǐng)選擇菜單序號(hào)(0-4)|\n")printf("....!\n")printf("1 1 杳看1無(wú)定"I「錄|\n")printf("| 2 顯示全部記錄|\n")printf("| 3 顯不排序記錄|\n")printf("printf("1 4 顯不不歡格任家| 0 返回上級(jí)菜單|\n")1ヽn“)printf("...!\n")printf(“、いt請(qǐng)選擇序號(hào):“);scanfC^d'\&n);printf「您選擇了第常d項(xiàng)ハnヽn);intn;systemC'cls");printFC'XnXnXn");printf("????????編輯菜單?*????|\n")printF(" |\n“)printFCi 請(qǐng)選擇菜單序號(hào)(o-3)|\n")printF(" |\n")printf("i 1—增加記錄|\n")printF("I 2-一ー刪除記錄Iヽn“)printf,'I 3 修改記錄|\n")printF(,BI 8 返回上級(jí)菜單|\n")printFC !\n")printf("、いt請(qǐng)選擇序號(hào):“);scanf(喋;printer您選擇ア第?d項(xiàng),ヽ!T'n);uoidDispMenu()〃項(xiàng)目顯示子菜單intn;system("cls");printf("\n\n\n");printf("??■??-***-?杳:看?子単,******!\n")printf("....!\n")printf("i 請(qǐng)選擇菜單序號(hào)(廣”)|\n")printf("....!\n")printfC,| 1 杳看1無(wú)定"I「錄|\n")printf("| 2 顯示全部記錄|\n")printf("| 3 顯不排序記錄|\n")printf("printF("1 4 顯不不歡格任家| 0 返回上級(jí)菜單|\n")1ヽn“)printf("...!\n")printf(“、いt請(qǐng)選擇序號(hào):“);scanf("%d",&n);printf(“您選擇了第初項(xiàng),ヽn“,n);任務(wù)5:用if語(yǔ)句實(shí)現(xiàn)菜單的選擇執(zhí)行設(shè)計(jì)順序結(jié)構(gòu)調(diào)用菜單的方法在實(shí)際應(yīng)用中是很少見(jiàn)的。因?yàn)?這種結(jié)構(gòu)的程序控制權(quán)不在用戶(hù)手中,而在程序的開(kāi)發(fā)人員手中。ー個(gè)實(shí)用程序,它對(duì)菜單的控制權(quán)應(yīng)當(dāng)在用戶(hù)。C語(yǔ)言是用分支結(jié)構(gòu)來(lái)實(shí)現(xiàn)對(duì)菜單的選擇執(zhí)行的。分支結(jié)構(gòu)有兩種實(shí)現(xiàn)方法,本任務(wù)首先用if?else語(yǔ)句來(lái)實(shí)現(xiàn)菜單的選擇執(zhí)行。由于任務(wù)的需要,我們將任務(wù)4原來(lái)的菜單函數(shù)稍作修改。以主菜單為例,將MainMenu函數(shù)中的變量定義行和倒數(shù)3行全部刪除,只保留子菜単顯示語(yǔ)句,其他子菜單函數(shù)也一樣操作,再重新書(shū)寫(xiě)主函數(shù)。該項(xiàng)目實(shí)現(xiàn)如果輸入0?6之間的整型數(shù)字,將在屏幕上打印一句話(huà)或顯示相應(yīng)的子菜單,由于排序子菜單是屬于查看子菜單下面的子菜單,它屬于三級(jí)子菜單,暫時(shí)沒(méi)有顯示。另外,本任務(wù)使用了函數(shù)申明,這樣可以使主函數(shù)在程序中的位置變得任意。有了函數(shù)申明,就可以方便程序設(shè)計(jì)。任務(wù)5源程序如下:^include<stdio.h>ttinclude<stdlib.h>如include<conio.h>明明?^:日日日日明明?^:日日日日明單單單單明申菜菜菜菜申單子子子子面菜輯示算序封主編顯計(jì)排目目目目目目項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)////////////dddddd.1iiiii000000uuuuuuuoidmain()〃主函數(shù){intnumber;〃定義變量StuCouer()ソ/調(diào)用封面函數(shù)getch();MainMenuO;〃調(diào)用主菜單函數(shù)printF(,,、いt請(qǐng)選擇序號(hào):“);〃此處加上提示scanf("%d",&nunber);〃此處加上輸入項(xiàng)iF(nunber==1)printf「打開(kāi)文件へnつ;〃打印一句話(huà)elseif(number==2)printf(??保存文件八nつ;〃打印一句話(huà)elseif(nunber==3)EditMenuO;〃調(diào)用編輯子菜單函數(shù)elseif(nunber==4)DispKenu();//調(diào)用查看子菜單函數(shù)elseif(nunber==5)CompMenuO"/調(diào)用計(jì)算子菜單函數(shù)elseif(number==6)printf("程序說(shuō)明八(1つ;〃打印一句話(huà)elseif(nunber==0)printf("退出程序,'!1づノ/打印一句話(huà)elseprintf("輸入錯(cuò),ヽnづソ/打印一句話(huà)<system("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf("\t\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.0\n\n");printF("\n\n\n\n");printF("\t\t 2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示え編顯一ー__ーーーー__一一ーーーー1234i\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aaprintF(aa6一—?一^^ 兄〇 退出系:|\n")|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄 I\n”)2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")systenf'cls");printf("\n\n\n");printf("printf("printf("printF("printf("printf("printf('Bprintf("printf("printf("*******查看子菜單******!\n"); |\n");請(qǐng)選擇菜單序號(hào)|\n"); !\n");查看選定記錄 Iヽn"ッ;顯示全部記錄 I、建);3——顯示排序記錄 |、ザ);4——顯示不及贅記錄 |\nつ;0——返回上級(jí)菜單 |\n"); |\n");uoidCompMenu()〃項(xiàng)目計(jì)算子菜單<systemC'cls");printf("\n\n\n");printf("|*?**???計(jì)算子菜單?*****!\n");printf("I |\n*');Printf(“I請(qǐng)選擇菜單序號(hào)(0-3)|\n");printf("I |\n");Printf(“I1——計(jì)復(fù)總成績(jī)和平均成績(jī)|\n");printf,|2——レ篡曇商分|\n");printf(“|3——せ篡最低分|\n");printf(“|0——拡回上級(jí)菜單|\n");printf("| |\n-);uoidSortMenu()〃項(xiàng)目排序子菜單system("cls");printf("\n\n\n");printf(" p*******排序子菜單?*****!\n");printf(" | |\n");printf(" |請(qǐng)選擇菜單序號(hào)(0-2)|\n");printf(" I1 管小臣オ涯 !\n");printf(" I|\n");printfC, I2一ー接降序等隹|\n");printf(" I。ーー返回上級(jí)集單|\n");printf(" I |\n");任務(wù)6:用switch語(yǔ)句實(shí)現(xiàn)菜單的選擇執(zhí)行設(shè)計(jì)實(shí)現(xiàn)菜單的選擇執(zhí)行還可以用更為簡(jiǎn)捷的switch語(yǔ)句來(lái)實(shí)現(xiàn)。只要將任務(wù)5的主函數(shù)稍加修改就能實(shí)現(xiàn)用switch語(yǔ)句實(shí)現(xiàn)菜單的選擇執(zhí)行。任務(wù)6源程序如下:

^include<stdio.h>ttinclude<stdlib.h>“include<conio.h>單單單明申菜菜菜菜申單子子子子單單單明申菜菜菜菜申單子子子子面菜輯示算序封主編顯計(jì)排目目目目目目項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)//////dddii.1ooouuuuoidmain?!ㄖ骱瘮?shù)(intnumber;〃定義變量StuCouer();〃調(diào)用音面函數(shù)getch();MainMenu();〃調(diào)用主菜單函數(shù)printf(,、いt請(qǐng)選擇序號(hào):")"/此處加上提示scanf("%d",&number);〃此處加上輸入項(xiàng)switch(nunber)<case1:printチ('?打開(kāi)文,二,ヽn");break;case2:printチ("葆存文セニ?\n");break;case3:EditMenu();break;case4:DispHenu();break;case5:CompMenu();break;case6iprintf程序說(shuō)明?'n");break;case0邛ピはチ(“退出程序?;break;default:printf("輸入糖八n”);systemC,cls");〃執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf(,ヽt\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.8\n\n");printF("\n\n\n\n,');printF("\t\t2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示3編顯一ー__ーーーー__一一ーーーー1234Innni^ii\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aa6一—?一^^ 兄0 退出系|\n")printF(aa|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單<system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")任務(wù)7:用循環(huán)語(yǔ)句實(shí)現(xiàn)項(xiàng)目主菜單的選擇執(zhí)行設(shè)計(jì)任務(wù)5和任務(wù)6實(shí)現(xiàn)了菜單的選擇執(zhí)行,雖然實(shí)現(xiàn)了用戶(hù)選擇執(zhí)行菜單功能,但每執(zhí)行ー個(gè)菜單后,程序就結(jié)束了,這還是不能滿(mǎn)足用戶(hù)的需要。用戶(hù)往往需要程序在沒(méi)有被用戶(hù)結(jié)束之前都能被操作,即程序的控制權(quán)應(yīng)當(dāng)掌握在用戶(hù)手中。要實(shí)現(xiàn)上述功能,必須使用循環(huán)結(jié)構(gòu)。由于實(shí)現(xiàn)循環(huán)選擇執(zhí)行項(xiàng)目菜單是ー種比較復(fù)雜結(jié)構(gòu),為了便于學(xué)習(xí),我們首先用三種方法實(shí)現(xiàn)主菜單的循環(huán)選擇執(zhí)行,即主菜單實(shí)現(xiàn)循環(huán)選擇,而子菜單暫時(shí)不實(shí)現(xiàn)循環(huán)選擇。.用for循環(huán)實(shí)現(xiàn)已知循環(huán)次數(shù)的循環(huán)。該循環(huán)規(guī)定了循環(huán)執(zhí)行的次數(shù),當(dāng)循環(huán)達(dá)到規(guī)定的次數(shù)后將會(huì)退出循環(huán)。學(xué)習(xí)者不要理解成for循環(huán)只能實(shí)現(xiàn)己知循環(huán)次數(shù)的循環(huán),實(shí)際上for循環(huán)也能夠?qū)崿F(xiàn)未知循環(huán)次數(shù)的循環(huán)。源程序如下:Itinclude<stdio.h>^include<stdlib.h>ttinclude<conio.h>uoidStuCouer();〃項(xiàng)目封面申明uoidMainMenu();〃項(xiàng)目主菜單申明uoidEditMenu();〃頑目編輯キ菜單甲u(yù)oidDispMenu();〃項(xiàng)目顯示子菜單EヨuoidCompMenu();〃項(xiàng)目計(jì)算子菜単臼uoidSortMenu();〃項(xiàng)目小F用手菜單申uoidnain()inti;〃定義循環(huán)變量intchoose;system("cls");StuCouer();getch();チ0rび=。ズく8;バ+)〃1:0「循環(huán)開(kāi)始(MainMenuO;〃調(diào)用主菜單函數(shù)printf(?、いt請(qǐng)輸入序號(hào):“);scanf('^d'\ftchoose);$witch(choose)〃主菜單的switch<case1:printチ(,?打開(kāi)文’ニハn");getch();break;case2邛rintf("葆存文]2ニハn");getch();break;case3:EditMenu();getch();break;case4:DispMenu();getch();break;case5:CompMenu();getch();break;case6:printf程序說(shuō)明パn");getch();break;caseOzprintfCxR ;getch();break;default:printf("輸入轄,ヽn“);getch();)〃for循環(huán)結(jié)束<system("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf("\t\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.0\n\n");printF("\n\n\n\n");printF("\t\t 2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示え編顯一ー__ーーーー__一一ーーーー1234i\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aaprintF(aa6一—?一^^ 兄〇 退出系:|\n")|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄 I\n”)2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")systenf'cls");printf("\n\n\n");printf("printf("printf("printF("printf("printf("printf('Bprintf("printf("printf("*******查看子菜單******!\n"); |\n");請(qǐng)選擇菜單序號(hào)|\n"); !\n");查看選定記錄 Iヽn"ッ;顯示全部記錄 I、建);3——顯示排序記錄 |、ザ);4——顯示不及贅記錄 |\nつ;0——返回上級(jí)菜單 |\n"); |\n");uoidCompMenu()〃項(xiàng)目計(jì)算子菜單<systemC'cls");printf("\n\n\n");printf("|*?**???計(jì)算子菜單?*****!\n");printf("I |\n*');Printf(“I請(qǐng)選擇菜單序號(hào)(0-3)|\n");printf("I |\n");Printf(“I1——計(jì)復(fù)總成績(jī)和平均成績(jī)|\n");printf,|2——レ篡曇商分|\n");printf(“|3——せ篡最低分|\n");printf(“|0——拡回上級(jí)菜單|\n");printf("| |\n-);uoidSortMenu()〃項(xiàng)目排序子菜單system("cls");printf("\n\n\n");printf(" p*******排序子菜單?*****!\n");printf(" | |\n");printf(" |請(qǐng)選擇菜單序號(hào)(0-2)|\n");printf(" I1 管小臣オ涯 !\n");printf(" I|\n");printfC, I2一ー接降序等隹|\n");printf(" I。ーー返回上級(jí)集單|\n");printf(" I |\n");任務(wù)7:用循環(huán)語(yǔ)句實(shí)現(xiàn)項(xiàng)目主菜單的選擇執(zhí)行設(shè)計(jì).用while循環(huán)實(shí)現(xiàn)未知循環(huán)次數(shù)的循環(huán)。該循環(huán)只有輸入了。オ會(huì)退出循環(huán),但不能顯示“退出程序!”,即當(dāng)輸入。后,循環(huán)再不執(zhí)行,從而退出循環(huán)。源程序如下:

ttinclude<stdio.h>Itinclude<stdlib.h>料include<conio.h>由一由由rh^.>3-4Hー由一由由rh^.>3-4Hー自ー自ー明申菜菜菜菜申單子子子子面菜輯示算序封主編顯計(jì)排目目目目目目項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)項(xiàng)

//////dddddd.1.1iiiioooooouuuuuuuoidn)ain()(intchoose;systenC'cls");StuCouer();getch();MainMenuOソ/調(diào)用主菜單函數(shù)printf(,、いt請(qǐng)輸入序號(hào):“);scanf(,,%di,,&choose);while(choose?=G)〃while循環(huán)開(kāi)始<switch(choose)〃主菜單的switch<case1:printf(“打開(kāi)文‘二,'n");getch();break;case2:printf("保存文件,、n");getch();break;case3:EditMenu();getch();break;case4:DispMenu();getch();break;case5:ConpMenu();getch();break;case6:printF("程序說(shuō)明,'n");getch();break;caseO:printf("iR ;getch();break;default二printf("輸入錯(cuò),'nつ;getch();)MainMemH);〃調(diào)用主菜單函數(shù)printf(“ヽt\t請(qǐng)輸入序號(hào):“);scanF("%d",&choose);)〃v)hile循環(huán)結(jié)束<system("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf("\t\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.0\n\n");printF("\n\n\n\n");printF("\t\t 2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示え編顯一ー__ーーーー__一一ーーーー1234i\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aaprintF(aa6一—?一^^ 兄〇 退出系:|\n")|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄 I\n”)2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")^include<stdio.h>^include<stdlib.h>ttinclude<conio.h>uoiduoiduoiduoiduoiduoidStuCouer();〃項(xiàng)目封面申明MainMenu();〃項(xiàng)目主菜単申明EditMenuO;〃項(xiàng)目編輯キ菜單中呼DispMenu();〃項(xiàng)目顯示辛菜單Eヨ,ConpMenu();〃項(xiàng)目計(jì)算子菜車(chē)E海SortMenuO;〃項(xiàng)目麟序子菜單申明uoiduoiduoiduoiduoiduoiduoidnain()(intchoose;system("cls");StuCouer();getch();do〃do~MhiletJ§環(huán)開(kāi)始<MainMenuO;〃調(diào)用主菜單函數(shù)printF(?、いt請(qǐng)輸入序號(hào):");scanf(<a%d(a,&choose);switch(choose)〃主菜單的switch<case1:printf('?打開(kāi)文’rヽn");getch();break;case2:printチ("葆存文ヤ二!ヽn");getch();break;case3:EditMenu();getch();break;case4:DispMenu();getch();break;case5:ConpMenu();getch();break;case6:printチ("程序說(shuō)明,W);getch();break;caseG:printf("退出程序ハn”);getch();break;default:printf("輸入錯(cuò)ハnつ;getch();While(choose”。);〃d〇?while循環(huán)結(jié)束<system("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf("\t\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.0\n\n");printF("\n\n\n\n");printF("\t\t 2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示え編顯一ー__ーーーー__一一ーーーー1234i\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aaprintF(aa6一—?一^^ 兄〇 退出系:|\n")|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄 I\n”)2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")systenf'cls");printf("\n\n\n");printf("printf("printf("printF("printf("printf("printf('Bprintf("printf("printf("*******查看子菜單******!\n"); |\n");請(qǐng)選擇菜單序號(hào)|\n"); !\n");查看選定記錄 Iヽn"ッ;顯示全部記錄 I、建);3——顯示排序記錄 |、ザ);4——顯示不及贅記錄 |\nつ;0——返回上級(jí)菜單 |\n"); |\n");uoidCompMenu()〃項(xiàng)目計(jì)算子菜單<systemC'cls");printf("\n\n\n");printf("|*?**???計(jì)算子菜單?*****!\n");printf("I |\n*');Printf(“I請(qǐng)選擇菜單序號(hào)(0-3)|\n");printf("I |\n");Printf(“I1——計(jì)復(fù)總成績(jī)和平均成績(jī)|\n");printf,|2——レ篡曇商分|\n");printf(“|3——せ篡最低分|\n");printf(“|0——拡回上級(jí)菜單|\n");printf("| |\n-);uoidSortMenu()〃項(xiàng)目排序子菜單system("cls");printf("\n\n\n");printf(" p*******排序子菜單?*****!\n");printf(" | |\n");printf(" |請(qǐng)選擇菜單序號(hào)(0-2)|\n");printf(" I1 管小臣オ涯 !\n");printf(" I|\n");printfC, I2一ー接降用駐|\n");printf(" I。ーー返回上級(jí)案單|\n");printf(" I |\n");任務(wù)8:用循環(huán)語(yǔ)句實(shí)現(xiàn)項(xiàng)目主、子菜單的選擇執(zhí)行設(shè)計(jì)本任務(wù)不但要實(shí)現(xiàn)主菜單的循環(huán)選擇執(zhí)行,而且還要實(shí)現(xiàn)主、子菜單的循環(huán)選擇執(zhí)行。下面用while循環(huán)、d〇?while循環(huán)的嵌套和switch語(yǔ)句來(lái)實(shí)現(xiàn)項(xiàng)目主、子菜單的循環(huán)選擇執(zhí)行。為了降低學(xué)習(xí)難點(diǎn),本任務(wù)除執(zhí)行五個(gè)菜單函數(shù)外,其他要執(zhí)行的函數(shù)都用輸出一句話(huà)來(lái)實(shí)現(xiàn)。另外,為了使任務(wù)8更為合理,增加了退出函數(shù)Quit。的定義和相關(guān)使用。源程序如下:ttinclude<stdio.h>^include<stdlib.h>ttinclude<conio.h>二I/TTTU-L'l^"n7?、ョ,ヨ/Bノ0/uoidStuCouer();〃項(xiàng)目封面申明uoidMainMenu();〃琬目主菜単申明uoidEditMenu();〃項(xiàng)目編輯キ菜單uoidDispMenu();〃二I/TTTU-L'l^"n7?、ョ,ヨ/Bノ0/uoidmain()(一intchoose,“江1)1111":1"的(1,。0叩ハ口(1950/t:!!U叫〃定義5個(gè)輸入變量systenC'cls");StuCouer();getch();while。)〃外循環(huán)開(kāi)始<MainMenu();〃調(diào)用主菜單函數(shù)printf("、いt請(qǐng)輸入序號(hào):“);scanFC^d",&choose);5witch(choosR)〃主菜單的switch開(kāi)始<case1:printF("打開(kāi)文件ハn");getch();break;case2:printf("原特文やニハn");getch();break;do〃內(nèi)循環(huán)1開(kāi)始<EditMenu()"/調(diào)用編輯子菜單函數(shù)請(qǐng)輸入序號(hào):");scanf("%d",&editnun);switch(editnum)〃編輯子菜單switch開(kāi)始<case1邛rintf("增加記錄?ヽn");getch();break;case2:printf("刪除記親,ヽn");getch();break;case3:printf("修改記錄ハn");getch();break;case0:Quit(0);break;”/編輯學(xué)菜單switch結(jié)束>while(editnun?=0);〃內(nèi)循環(huán)1結(jié)束break;do〃內(nèi)循環(huán)2開(kāi)始DispMenu()"/調(diào)用查看子菜單函數(shù)printf(?、いt請(qǐng)輸入序號(hào):“);scanf("%d",&dispnun);switch(dispnum)〃顯示子菜單switch開(kāi)始<case1:printF(“查看選定記錄ハn");getch();break;:printF("顯示全部記錄,'n");getch();break;do〃內(nèi)循環(huán)3開(kāi)始<SortMenu()"/調(diào)用/時(shí)子菜單函數(shù)prints”、いt請(qǐng)輸入序號(hào):“);scanf(,,%d,,,&sortnun);switch(sortnum)〃排序子菜單switch開(kāi)始<case1邛rintf(叱安升匠排序,'n");getch();break;case2:printF(":安降用徘用:'n");getch();break;case0:Quit(0);break;“/排序キ菜單switch結(jié)束}while(sortnum?=0);〃內(nèi)循環(huán)3結(jié)束break;case4:printf,顯示不及格記錄?'nつ;getch();break;case'O':Quit(0);break;”/顯示子菜單switch結(jié)束case5:“mile(dispnum,=0);〃內(nèi)循環(huán)2結(jié)束breakcase5:do〃內(nèi)循環(huán)4開(kāi)始(CompMenu();〃調(diào)用計(jì)算子菜單函數(shù)printf(“\t\t請(qǐng)輸入序號(hào):“);scanf("%d",&compnun);switch(compnum)〃計(jì)算子菜單switch開(kāi)始case1:printf(“甘要總成績(jī)和平均成績(jī)へn“);getch();break;case2:printf(“曾篡曇商分,'n“);getch();break;case3:printF(“計(jì)算最低分,'n“);getch();break;case0:Quit(0);break;)〃計(jì)真子菜單switch結(jié)束break;case6:printf("程序說(shuō)明break;case6:printf("程序說(shuō)明ハn");getch();break;〃程序說(shuō)明case0:Quit(1);break;ソ/主菜單的switch結(jié)束““卜循環(huán)結(jié)束uoidQuit(intflag)〃退出函數(shù)if(flag==1)<system("cls");printf(“\n\nヽn\n\n\n、いt\t操作結(jié)束,退出系統(tǒng),”);getch();systemC'cls");exit(Q);〃退出程序,返回到操作系統(tǒng)庫(kù)函數(shù)>elseif(flag==0)〃返回上級(jí)菜單<systen("cls");printf(,ヽn\nヽn\n\n\n\t\t\t操作結(jié)束,返回上級(jí)菜單,つ;getch();system("cls");systemC,cls");〃執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf(,ヽt\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.8\n\n");printF("\n\n\n\n,');printF("\t\t2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示3編顯一ー__ーーーー__一一ーーーー1234Innni^ii\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aa6一—?一^^ 兄0 退出系|\n")printF(aa|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system(,aclsaa);printF(,a\n\n\n");printF(aa |?******編輯子菜單?**?**!\naa)printF(aa |. !\n")printF(aa |請(qǐng)選擇菜單序號(hào)(y3)|\n")printF(" |.. |\n")printF(aa |1ーー増加記錄|\n")printF(aa |2--ー蒯除記錄|\n")printF(aa |3 修改記錄|\n")printF(aa |G一ー返回上級(jí)菜單|\n")printF(,a |.. !\n")任務(wù)9:項(xiàng)目整體框架設(shè)計(jì)項(xiàng)目的整體框架設(shè)計(jì)是程序開(kāi)發(fā)中關(guān)系重大的ー環(huán)。整體框架是程序的總體結(jié)構(gòu),是程序設(shè)計(jì)中非常重要的部分。整體框架設(shè)計(jì)的好處是為項(xiàng)目搭好一個(gè)骨架,這個(gè)骨架包含了項(xiàng)口的各種功能模塊,后面的工作就是如何完成這些功能模塊,當(dāng)這些功能模塊全部實(shí)現(xiàn)后,整個(gè)項(xiàng)目也就完成了。該任務(wù)是對(duì)任務(wù)8作進(jìn)ー步完善,實(shí)現(xiàn)的目標(biāo)是:.主函數(shù)的位置可以任意放置;.將原來(lái)顯示一句話(huà)的語(yǔ)句和getchO函數(shù)調(diào)用語(yǔ)句放置到相應(yīng)函數(shù)中:.增加光標(biāo)定位函數(shù);.完善程序說(shuō)明函數(shù)。程序運(yùn)行結(jié)果與任務(wù)8相似。明聲聲聲聲

聲明數(shù)數(shù)數(shù)數(shù),明明戶(hù)エ聲^!!尸聲聲聲!^數(shù)成數(shù)數(shù)藪數(shù)妒妒函總函明函函蔡蔡華績(jī)績(jī)嚴(yán):錄器海記和成成數(shù)明光ー記記步描函聲〃任務(wù)9源程序如下:Itinclude<stdio.h>燧include<conio.h>林include<windows.h>“include<stdlib.h>數(shù)聲函函函函制妒妒函數(shù)單單單星尸聲破破SISSON僅管自藝矗跖?猬瞿.//////于る口殳修ノ/////;;//X?,?,?,?,?,?,丁呆カ悅Z//-?-?//))//))))))/????));;((??>*t((((((//iffl-?))(())xn))nruuuuu////)((tt((8i(t.lennnnn-*-?//(elrr9mMMnn(p--r\UdiadeSADpPsS.1.1DDuoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoidnain()intchoose,n江ハ1111,(11.印ハ1J叫(:〇叩ハ?嶋5〇ピ!I口加;〃定義5個(gè)輸入變量systen("cls");StuCouer();getch();while(1)〃外循環(huán)開(kāi)始<MainMenuO"/調(diào)用主菜單函數(shù)printf(?、いt請(qǐng)輸入序號(hào):“);scanf("%d<,,&choose);switch(choose)〃主菜單的switch開(kāi)始case1:0pen();break;case2:Saue();break;case3:do〃內(nèi)循環(huán)1開(kāi)始EditMenuO;〃調(diào)用編犍子菜單函數(shù)printf(“\t\t請(qǐng)輸入序號(hào):“);scanf("%d((9&editnum);switch(editnum)〃編輯子菜單switch開(kāi)始case1:Add();break;case2:Del();break;case3:Modify();break;case0:Quit(0);break;〃ノ編輯學(xué)菜單switch結(jié)束>while(editnum?=O);〃內(nèi)循環(huán)1結(jié)束break;do〃內(nèi)循環(huán)2開(kāi)始<DispMenuO;〃調(diào)用查看子菜單函數(shù)printf(“ヽt\t請(qǐng)輸入序號(hào):“);scanF(t(%dl(9&dispnun);switch(dispnum)〃顯小子菜單switch開(kāi)始<case1:Disp0ne();break;case2:DispAll();break;case3:d?!▋?nèi)循環(huán)3開(kāi)始printf(?,ヽt\t請(qǐng)輸入序號(hào):“);scanfRsortnum);$加,“1)(50ぺ!I口m)〃排序子菜單5成<:(:h開(kāi)始<case1:AsceSort();break;case2:DropSort();break;case0:Quit(0);break;)〃排序子菜單sEtch結(jié)束>while(sortnun?=0);〃內(nèi)循環(huán)3結(jié)束break;case4:NotElig();break;case'0':Quit(0);break;”/顯示子菜單switch結(jié)束}while(dispnum?°O);〃內(nèi)儲(chǔ)環(huán)2結(jié)束break;case5:do〃內(nèi)循環(huán)4開(kāi)始<CompMenuO"/調(diào)用計(jì)算子菜單函數(shù)printf("\t\t請(qǐng)輸入序號(hào):“);scanF(<>%d>a9&conpnuin);switch(compnum)〃計(jì)算子菜單sviitch開(kāi)始<case1:ConpSun();break;case2:SearchMax();break;case3:SearchMin();break;case0:Quit(0);break;〉〃計(jì)覧子菜單switch結(jié)束}while(conpnum!=0);〃內(nèi)循環(huán)/吉東break;case6:Explain();break;〃程序說(shuō)明case0:Quit(1);break;>〃主菜單的switch結(jié)束”,外循環(huán)結(jié)束voidOpen?!ù蜷_(kāi)文件函數(shù)(printf("打開(kāi)文件?\nつ;getch。:>voidSaue。〃保存文件函數(shù)(printf(“保存文件,'n");getch();)voidAdd?!ㄔ黾訉W(xué)生記錄函數(shù){printF(,?增加記錄,ヽn”);getch();>voidDel?!▌h除學(xué)生記錄函數(shù)(printf(,,刪除記錄,ヽn");getch();>voidModifリ?!ㄐ薷膶W(xué)生記錄函數(shù)(printf("修改記錄,ヽn“);getch。;>voidDispOne?!ú榭穿`個(gè)記錄函數(shù)(printF(“查看選定記錄,ヽn");getch();>voidDi5PAi1?!@示全部記錄函數(shù)(printf("顯示全部記錄,ヽn");getch();}voidAsceSort。〃按升序排列函數(shù)(printf(“按升序排序,ヽnつ;getch。;>voidDropsort。〃按降序排列函數(shù)(printf("按降序排序ハnつ:getch();voidNotElig()〃顯示不及格記錄函數(shù)<printf(”顯示不及格記錄[ヽn");getch();)uoidCompSum()〃計(jì)算總成績(jī)和平均成績(jī)函數(shù)printf(“計(jì)算總成績(jī)和平均成績(jī)ハn“);getch();>uoidSearchMax()〃查找最高成績(jī)函數(shù)<printf(“計(jì)算最高分,'n“);getch();)voidSearchMin()〃查找最低成績(jī)函數(shù)printf(”計(jì)算最低分,ヽn");getch();>uoidgotoxy(intx,inty)〃光標(biāo)定位函數(shù){COORDc;C.X=x-1;c.Y=y-1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT__HANDLE),c);voidExplain?!ǔ绦蛘f(shuō)明<system("cls");gotoxリ(10,3);〃光標(biāo)定位函數(shù)printFCt 這是ー個(gè)教學(xué)程序。它以開(kāi)發(fā)班級(jí)學(xué)生成績(jī)管理系統(tǒng)為主要項(xiàng)目,“);gotoxy(10,5);printf(??旨在通過(guò)簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)軟件的開(kāi)發(fā),使讀者了解并掌握用C語(yǔ)つ;gotoxy(10,7);printf(“言開(kāi)發(fā)程序的方法與技巧?!?;gotoxy(10,9);printFC 該項(xiàng)目由15個(gè)任務(wù)來(lái)完成,將C語(yǔ)言基本知識(shí)與理論熔入到任務(wù)中,つ;gotoxy(10,11);printf(??完成15個(gè)任務(wù)后就完成整個(gè)項(xiàng)目的設(shè)計(jì)。通過(guò)任務(wù)驅(qū)動(dòng)和項(xiàng)目導(dǎo)向教學(xué),“);gotoxy(10,13);printf(“最終實(shí)現(xiàn)教學(xué)目的,達(dá)到培養(yǎng)目標(biāo)。つ;gotoxy(10,15);printf(“ 該項(xiàng)目實(shí)施貫穿在整個(gè)教學(xué)過(guò)程中,它將重點(diǎn)與難點(diǎn)分散在各個(gè)任務(wù)つ;gotoxy(10,17);printf(“中,達(dá)到循序漸逬,逐個(gè)突破的目的,教學(xué)最后將安排一定的時(shí)間歸納匯つ;gotoxy(10,19);printf(“總。?);getch。;uoidQuit(intflag)〃退出函數(shù)if(flag==1)<system("cls");printf(“\n\nヽn\n\n\n、いt\t操作結(jié)束,退出系統(tǒng),”);getch();systemC'cls");exit(Q);〃退出程序,返回到操作系統(tǒng)庫(kù)函數(shù)>elseif(flag==0)〃返回上級(jí)菜單<systen("cls");printf(,ヽn\nヽn\n\n\n\t\t\t操作結(jié)束,返回上級(jí)菜單,つ;getch();system("cls");uoidStuCouer()〃項(xiàng)目封面<system("cls")"/執(zhí)行DOS清屏命令函數(shù)printf("\n\n\n");printf("\t\t班級(jí)學(xué)生成績(jī)管理系統(tǒng)\n\n");printF("\t\t 版本號(hào):1.0\n\n");printF("\n\n\n\n");printF("\t\t 2GG8年5月\n\n");printf("\t\t程序設(shè)計(jì)興趣小組'n”);uoidMainMenu()〃項(xiàng)目主菜單system(aaclsaa);printF(,a\n\n\n,a);printF(aa*****學(xué)生成績(jī)管理系統(tǒng)*****!\n-)printF(" |\n")printF(aa請(qǐng)選擇菜單序號(hào)(0-6)|\n")printF(,a |\n,a)文文數(shù)數(shù)開(kāi)盤(pán)示え編顯一ー__ーーーー__一一ーーーー1234i\n")printF("printF(,a|\n")printF(aaprintF(aa|\n")|\n")printF(aaprintF(aa6一—?一^^ 兄〇 退出系:|\n")|\n")printF(aa|\n")printF(aa> !\n")uoidEditMenu()〃項(xiàng)目編輯子菜單system("cls");printF(,a\n\n\naa);printF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aaprintF(aa*******編輯子菜單******!\n") !\n")請(qǐng)選擇菜單序號(hào)(8-3) |\n-) !\n")1-一一壻加記錄 I\n”)2——麟記愛(ài) |\n")3——修改記錄 |\ぺ)〇——返回上級(jí)菜單 |ヽぺ) !\n")uoidDispMenu()〃項(xiàng)目顯示子菜單<systen("cls");printf(ハ、n\n'n");printf(" I******?查看子菜單?*****!\n");printf(" | |\n");printFC I 請(qǐng)選擇菜單序號(hào)(r") |\n");printF(" | |\n");printf(" I 1 查看選定記錄 |\n");printf(" I 2 顯示全部記親 |\n");printf('B I 3 顯丞排序記錄 |\n,e);printf「 | 4——顯示ホ及贅記錄 |\n'e);printf(" | 0 返回上級(jí)菜單 |\n");printF(" | |\n-);uoidCompMenu()〃項(xiàng)目計(jì)算子菜單<systemC'cls");printF("\n\n\n");printF("|*******計(jì)算子菜單?***?*|\n");printF("| |\n*');printH-I請(qǐng)選擇菜單序號(hào)(0-3)|\n");printFC| |\n-);printF("|1——計(jì)篡總成績(jī)和平均成績(jī)|\n");printF("|2——レ篡曇商分|\n");printF("|3——せ篡最低分|\n");printF("|0——拡回上級(jí)菜單|\n");printF("| |\n-);uoidSortMenu()〃項(xiàng)目排序子菜單(spstemC'cls");printF("\n\n\n");printF("ド******排序子菜單?*?善**|\n");printF(" | |\n");printFC| 請(qǐng)選擇菜單序號(hào)(0-2) |\n");printF(" | |\n-);Printf(" | 1-一一越升層推生 I\n");Printf(" | 2一ー按降序排底 |\n");printFC | 0——返向上級(jí)菜單 !\n");printFC | |\n");任務(wù)10:初步實(shí)現(xiàn)學(xué)生成績(jī)排序要完成上述任務(wù),在主函數(shù)中,我們?cè)O(shè)計(jì)ー個(gè)包含10個(gè)學(xué)生成績(jī)的實(shí)型ー維數(shù)組。定義數(shù)組的整型常量表達(dá)式用符號(hào)常量表示,然后完善相應(yīng)函數(shù)。在編寫(xiě)函數(shù)的過(guò)程中要十分注意函數(shù)的形參與實(shí)參的設(shè)計(jì)。本任務(wù)初步實(shí)現(xiàn)按升序排列學(xué)生成績(jī)函數(shù)AsceSortO和按降序排列學(xué)生成績(jī)函數(shù)DropSort(),排序方法采用"冒泡法排序”。在排序函數(shù)中,創(chuàng)建并生成了一個(gè)新的成績(jī)數(shù)組(temp.score),其目的是在排序的過(guò)程中,不影響原成績(jī)數(shù)組的排列。在任務(wù)9的基礎(chǔ)上實(shí)現(xiàn)任務(wù)10,并對(duì)任務(wù)9做如下修改:.在項(xiàng)目的文件包含行的下面增加

^defineSTUSIZE10.主函數(shù)稍做修改voidmain()intchoose,editnum,dispnum,compnum,sortnum;〃定義5個(gè)輸入變量floatstuscore[STUSIZE]={65.5,80,97.5,55,85,77.5,89,95,68.5,88};〃定義學(xué)生成績(jī)數(shù)組).函數(shù)聲明修改為:voidAsceSort(floatscored,intstusize);//按升序排列學(xué)生成績(jī)函數(shù)聲明voidDropSort(floatscore[],intstusize);〃按降序排列學(xué)生成績(jī)函數(shù)聲明4.函數(shù)調(diào)用語(yǔ)句修改為:AsceSort(stuscore,STUSIZE);DropSort(stuscore,STUSIZE);AsceSort()和DropSort()定義的修改見(jiàn)源程序。任務(wù)10源程序如下:“include"include"include"include<stdio.h>“include"include"include"include<conio.h><windows.h><stdlib.h>ttdefineSTUSIZE10uoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoiduoidStuCouer();〃項(xiàng)目封面函數(shù)聲明MainMenuO;〃主菜單函數(shù)聲明EditMenu。;〃編程子菜單函數(shù)聲ゆDispMenuO;〃顯小孕菜單函數(shù)聲明CompMenuO;〃計(jì)算キ菜單函數(shù)聲,SortMenuOセ排序子菜集函數(shù)聲明函數(shù)尸!明Open。;〃打開(kāi)Saue。;〃保存,函數(shù)聲目AddO;〃増加學(xué)生記錄函數(shù)聲明Del。;〃痢除學(xué)生記錄函數(shù)聲明Modifリ。;〃修改學(xué)生記錄函數(shù)聲明DispOne。;〃查看ー個(gè)記錄函數(shù)聲明DispAll。;〃顯示全部記錄函數(shù)聲明AsceSort(Floatscore[],intstusize)DropSort(Floatscore[],intstusize)NotElig();〃査找CompSum();〃計(jì)算SearchMaxO;//$數(shù)聲明聲聲數(shù)數(shù)函函績(jī)績(jī)成威生生澤列列^^升降SearchMin。;〃查找最低成績(jī)函數(shù)聲號(hào)Explain。;〃程序反明函數(shù)甫明Quit(int);〃退出函數(shù)聲明gotoxy(ソ);〃光標(biāo)定位函數(shù)聲明uoidmain()(一ー、intchoose,editnum,dispnum,compnum,sortnu陽(yáng);〃定義5個(gè)輸入變量Floatstuscore[STUSIZE]=<65.5,80,97.5,55,85,77.5,89,95,68j5,88>;systemC'cls");StuCouer();getch();外循環(huán)開(kāi)始<MainMenuO;〃調(diào)用主菜單函數(shù)printf(?、いt請(qǐng)輸入序號(hào):“);scanf:((a%da(,&choose);switch(choose)〃主菜單的switch開(kāi)始<case1:0pen();break;case2:Saue();break;d?!▋?nèi)循環(huán)1開(kāi)始<EditMenuO"/調(diào)用編輯子菜單函數(shù)printf(,?ヽt\t請(qǐng)輸入序號(hào):");scanf(aa%daa,&editnuR);switch(editnum)〃編輯子菜單switch開(kāi)始(case1:Add();break;case2:Del();break;case3:Modify();break;case0:Quit(0);break;)〃編輯?菜單switch結(jié)束}while(editnum?=G);〃內(nèi)循環(huán)1結(jié)束break;d?!▋?nèi)循環(huán)2開(kāi)始<DispMenuO"/調(diào)用查看子菜單函數(shù)printf(“、いt請(qǐng)輸入序號(hào):“);scanf(aa%d**9&dispnun);switch(dispnum)〃顯示子菜單switch開(kāi)始<case1:Disp0ne();break;case2:DispAll();break;case3:do〃內(nèi)循環(huán)

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論