




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱(chēng):c語(yǔ)言課程設(shè)計(jì)課程設(shè)計(jì)題目:學(xué)生作業(yè)完成情況管理程序院(系):計(jì)算機(jī)學(xué)院專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)(嵌入式)班級(jí):學(xué)號(hào):姓名:指導(dǎo)教師:完成日期:目 錄第1章概要設(shè)計(jì)11題目的內(nèi)容與要求11.2總體結(jié)構(gòu)1第2章詳細(xì)設(shè)計(jì)32.1主模塊32.2輸入模塊42.3按學(xué)號(hào)查詢(xún)模塊52.4 按班號(hào)查詢(xún)模塊62.5統(tǒng)計(jì)模塊6第3章調(diào)試分析7第4章使用說(shuō)明8參考文獻(xiàn)12附錄(程序清單)13第1章概要設(shè)計(jì)1.1題目的內(nèi)容與要求內(nèi)容:假設(shè)某門(mén)課程一學(xué)期要留10次作業(yè),每次老師要進(jìn)行批改,并給出分?jǐn)?shù)(滿(mǎn) 分10分)。學(xué)期期末要根據(jù)每次作業(yè)的成績(jī)計(jì)算出最終的平時(shí)成績(jī)(滿(mǎn)分100)
2、。 要求:1)通過(guò)鍵盤(pán)輸入學(xué)生信息,例如姓名、班級(jí)號(hào)、學(xué)號(hào)、及作業(yè)分?jǐn)?shù)等信息,并 保存在文件中。2)給定學(xué)號(hào),顯示某位學(xué)生作業(yè)完成情況和平時(shí)成績(jī)。3)給定班號(hào),顯示全班所有同學(xué)作業(yè)完成情況和平時(shí)成績(jī)。4)輸入一個(gè)分?jǐn)?shù)段,可以輸出平時(shí)成績(jī)?cè)诖朔謹(jǐn)?shù)段的學(xué)生個(gè)數(shù)。5)用c語(yǔ)言實(shí)現(xiàn)課題內(nèi)容。1.2總體結(jié)構(gòu)本程序主耍分為六個(gè)模塊(功能模塊圖見(jiàn)圖1.1):主模塊,輸入模塊,保存模塊, 瀏覽模塊,查詢(xún)模塊和統(tǒng)計(jì)模塊。1)主模塊:建立菜單,實(shí)現(xiàn)各函數(shù)按照輸入的菜單選項(xiàng)調(diào)用。2)輸入模塊:將學(xué)生信息按文字提示通過(guò)鍵盤(pán)輸入。3)保存模塊:將輸入的學(xué)生信息保存在名為"informationn的文件中。4)
3、瀏覽模塊:當(dāng)調(diào)用瀏覽函數(shù)的吋候,啟動(dòng)瀏覽模塊,即瀏覽剛剛所輸入的所有 學(xué)生信息。5)查詢(xún)模塊:查詢(xún)模塊具休乂分為兩個(gè)小模塊,即按班級(jí)號(hào)查詢(xún)和按學(xué)號(hào)查詢(xún)模 塊,當(dāng)輸入某位同學(xué)的學(xué)號(hào)時(shí),會(huì)顯示該同學(xué)的作業(yè)完成情況和平時(shí)成績(jī);當(dāng)輸 入某一個(gè)班號(hào)的時(shí)候,會(huì)顯示該班級(jí)所有同學(xué)的作業(yè)完成情況和平時(shí)成績(jī)。6)統(tǒng)計(jì)模塊:輸入一個(gè)分?jǐn)?shù)段,統(tǒng)計(jì)平吋成績(jī)?cè)谠摲謹(jǐn)?shù)段的學(xué)生人數(shù)。學(xué)工作業(yè)完成情況管理程序主模塊輸入模塊査詢(xún)模塊統(tǒng)計(jì) 模 塊按按學(xué)班號(hào)號(hào)查查詢(xún)?cè)儓D1.1功能模塊圖第2章詳細(xì)設(shè)計(jì)2.1主模塊控制整個(gè)程序的運(yùn)行,控制菜單操作,首先輸出的是菜單界面,根據(jù)菜單提 示輸入想要應(yīng)用的功能的序號(hào),系統(tǒng)會(huì)判斷輸入的序號(hào),并調(diào)
4、用序號(hào)所代表的函 數(shù),實(shí)現(xiàn)各個(gè)功能,流程如圖2.1所示。圖2.1主模塊流程圖2.2輸入模塊輸入要輸入的各類(lèi)學(xué)生信息,首先是按照數(shù)組的使用方法,循環(huán)輸入作業(yè)完成情況,之后依次輸入姓名,班級(jí)號(hào)和平時(shí)成績(jī),將所有輸入的信息以結(jié)構(gòu)體的形式保存在指定的文件中,最后根據(jù)輸入y值,判斷是否繼續(xù),流程如圖2.2所示。圖2.2輸入模塊流程圖2.3按學(xué)號(hào)查詢(xún)模塊輸入某位學(xué)生的學(xué)號(hào),以字符串的形式保存在,z后按照結(jié)構(gòu)體數(shù)組的編號(hào) 查找學(xué)生,用循環(huán)來(lái)實(shí)現(xiàn),一旦遇到與輸入學(xué)號(hào)相符的學(xué)號(hào),就會(huì)跳岀循環(huán),并 且輸出該學(xué)生的姓名、通過(guò)循環(huán)輸出作業(yè)完成情況和平時(shí)成績(jī),流程如圖2.3所圖23按學(xué)號(hào)查找模塊流程圖2.4按班號(hào)查詢(xún)模
5、塊木模塊的功能和實(shí)現(xiàn)方法與2.3中和類(lèi)似,只是在循環(huán)終止條件處設(shè)置有些 不同,當(dāng)遇到相符的班級(jí)號(hào)即輸出,就會(huì)輸出所有符合條件的學(xué)生的作業(yè)完成情 況,平時(shí)成績(jī)和姓名,具體的流程圖在此不進(jìn)行詳細(xì)說(shuō)明。2.5統(tǒng)計(jì)模塊本模塊的主要功能是輸入一個(gè)分?jǐn)?shù)段,在屏幕上用鍵盤(pán)輸入g1,g2,在程序中 會(huì)有一個(gè)判斷的過(guò)程,即如果一個(gè)學(xué)生的平吋成績(jī)大丁或等t g1且小丁或等丁 g2, n就會(huì)加1;查找方式和上兩個(gè)模塊和類(lèi)似,大循環(huán)控制,當(dāng)查找完所有學(xué) 生,跳出循環(huán),平時(shí)成績(jī)?cè)诖朔謹(jǐn)?shù)段的人數(shù)就會(huì)被輸出,具體流程如2.5所示。圖2.5統(tǒng)計(jì)模塊流程圖第3章調(diào)試分析1. 首先是一些語(yǔ)法的小錯(cuò)誤,這類(lèi)錯(cuò)誤一般都是不細(xì)心導(dǎo)致的
6、,例如 information -詞,在輸入程序屮就有兩處輸入字母錯(cuò)誤,還有類(lèi)似花括號(hào)和分號(hào) 漏加的情況,在今后是要注意的。2. 其次是邏輯上的一些錯(cuò)誤,在統(tǒng)計(jì)模塊的子函數(shù)中,運(yùn)行程序的時(shí)候發(fā)現(xiàn) 不能輸出正確的結(jié)果n的值,會(huì)閃動(dòng)顯示“輸入分?jǐn)?shù)段有誤”。后來(lái)經(jīng)過(guò)向同學(xué)請(qǐng) 教和查資料在前面輸入中把int n改為了 int n=0,并在函數(shù)的最后加了一個(gè)函數(shù) getch(),功能是從鍵盤(pán)接受一個(gè)字符,接收后立即結(jié)束,不回顯,相當(dāng)于做程序 的暫停和按任意鍵繼續(xù)的功能。3. 同時(shí)在程序中引用了清屏函數(shù),使在功能界面執(zhí)行各功能時(shí)的屏幕顯示更 加整潔。4. 整型數(shù)據(jù)輸入的時(shí)候要加取地址符號(hào),字符類(lèi)型的數(shù)據(jù)不
7、用加取地址符 號(hào),這一點(diǎn),也應(yīng)該是要記住的。第4章使用說(shuō)明運(yùn)行操作及結(jié)果:學(xué)生作業(yè)完成情況管理程序1 學(xué)生信息錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)4 按班級(jí)查詢(xún)5 輸入分?jǐn)?shù)段查人數(shù)0退出系統(tǒng)please enter choose: 1請(qǐng)輸入學(xué)號(hào):123請(qǐng)輸入姓名:zhangsan請(qǐng)輸入班級(jí)號(hào):101請(qǐng)輸入作業(yè)分?jǐn)?shù):67810 9810 974請(qǐng)輸入平吋成績(jī):78是否繼續(xù)錄入(1繼續(xù);0.退出錄入):當(dāng)輸入1的時(shí)候,繼續(xù)錄入學(xué)生信息,會(huì)出現(xiàn)與上圖一樣的輸入界面。若輸入0, 則返回主菜單,進(jìn)行其他功能的操作。會(huì)顯示:學(xué)生作業(yè)完成情況管理程序1 學(xué)生信息錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)4 按班級(jí)查詢(xún)
8、5 輸入分?jǐn)?shù)段查人數(shù)0退出系統(tǒng)丄丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄&qu
9、ot;丄"please enter choose: 2界面顯示已經(jīng)輸入的學(xué)生信息:平時(shí)成績(jī)78學(xué)號(hào) 姓名 班級(jí)號(hào) 作業(yè)分?jǐn)?shù)123 zhangsan 10167810 9810 974按下回車(chē)鍵,則返回主菜單。學(xué)生作業(yè)完成情況管理程序* rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rj% rjw rjw rjw rjw rjw1 學(xué)生信息
10、錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)4 按班級(jí)查詢(xún)5 輸入分?jǐn)?shù)段查人數(shù)0退出系統(tǒng)please enter choose: 3請(qǐng)輸入要查詢(xún)的學(xué)號(hào):123會(huì)顯示該名學(xué)生的作業(yè)完成情況和平吋成績(jī);作業(yè)完成情況平時(shí)成績(jī)學(xué)生姓名678109810 97478zhangsan按下回車(chē)鍵,返回主菜單。學(xué)綸作業(yè)完成情況管理程序1# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !#%4# *4#1 學(xué)生信息錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)4 按班級(jí)查詢(xún)5 輸入分?jǐn)?shù)段
11、查人數(shù)0退出系統(tǒng)please enter choose: 4請(qǐng)輸入班級(jí)號(hào):101姓名作業(yè)完成情況平吋成績(jī)zhangsan 67810 9810 97478按下回車(chē)鍵,返回主菜單。學(xué)生作業(yè)完成情況管理程序丄丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄&
12、quot;丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"1 學(xué)生信息錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)4 按班級(jí)查詢(xún)5 輸入分?jǐn)?shù)段查人數(shù)0退出系統(tǒng)k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j>
13、 k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j>please enter choose: 5請(qǐng)輸入分?jǐn)?shù)段:0 80 (輸入任意分?jǐn)?shù)段,用空格隔開(kāi)) 屏幕顯示:“在該分?jǐn)?shù)段人數(shù)為1”按下回車(chē)鍵,返回主菜單。學(xué)生作業(yè)完成情況管理程序丄丄"丄"丄&q
14、uot;丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"丄"1 學(xué)生信息錄入2 學(xué)生信息瀏覽3 按學(xué)號(hào)查詢(xún)
15、4 按班級(jí)查詢(xún)5 輸入分?jǐn)?shù)段查人數(shù)0退出系統(tǒng)k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j>
16、; k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j> k.j>please enter choose: 0屏幕顯示“退出”。至此,學(xué)生作業(yè)完成情況管理程序結(jié)朿。參考文獻(xiàn)1 張磊c語(yǔ)言程設(shè)計(jì)(第二版)北京:高等教育出版社,2009. 82 冼鏡光.c語(yǔ)言名題精選百則(技巧篇)北京:機(jī)械工業(yè)出版社,2005. 63 陳強(qiáng)編程大講壇:c語(yǔ)言核心開(kāi)發(fā)技術(shù)從入門(mén)到精通北京:電子工業(yè)出版社, 2009. 84 譚浩強(qiáng).c程序設(shè)計(jì)(第三版)北京:清華大學(xué)出版社,20055 王敬華,林萍,張清國(guó)c語(yǔ)言程序設(shè)計(jì)教程(第二版)北京
17、:清華大學(xué)出版 社,2009. 8附錄(程序清單)#include <stdio.h>#include <stdlib.h>#include <string.h>#includc <conio.h>struct smschar number5j;char name20;char cla_number4;int score10;int usual_score;struct informationint count;struct sms student30; information;void save()file *fp;if(fp=fopen(&q
18、uot;c:information.txt",hwu)=null)printf("n不能保存學(xué)生信息n”);return;fwrite (&informatio n.count,sizeof(int), 1 ,fp);fwrite(information.student,sizeof(!nformation.student0),lnformation.count,fp); fclose(fp);void putin()int y=l,i;while(y)printf(nt請(qǐng)輸入學(xué)號(hào):”); scanf(m%shjnformation.studentlinformat
19、ion.countj.number);printf(ht請(qǐng)輸入姓名:”); scanf(n%sn,information.studenti);printf(ht請(qǐng)輸入班級(jí)號(hào):j;scanf(,%s,infbrmation.studentinformationxount.cla_number); printf(mt請(qǐng)輸入作業(yè)分?jǐn)?shù):”);for(i 二 o;ivlo;i+)scanf(n%dn,&information.studentinformation.count.scorei); printf(ht請(qǐng)輸入平吋成績(jī):”);scanf("
20、;%d", dlnfoirnatiorlstudenqinformation.count.usual_score); information.count+;save();printf(hn是否繼續(xù)錄入(1.繼續(xù);0.退出錄入):”);scanf(”d“,&y);if(y»=l)y=o;break;void lookuporegister int i;intj;file *fp;system("clsu);priutf(”學(xué)號(hào)t姓名t班級(jí)號(hào)t作業(yè)分?jǐn)?shù)ttt平時(shí)成績(jī)山”);fp=fopen(,'c:infoitnation.txt",'
21、;'r");fread (&information.count,sizeof(int) j ,fp);fread(information.student,sizeof(information.studentoj),lnformation.count,fp);for(i=0;i<lnformation.count;i+)printf(h %st %st %jnformatio n.studentfi .cla_number);for(j=0;j<10
22、;j+)printf(n%d ,information.studenti.scorej);printf(htt %dn,f4nformation.studenti.usual_score);fflush(stdin);gctchar();void search_by_number()register int i;intj;char s;int flag=l;/flag=l時(shí)為找不到相應(yīng)的學(xué)生信息printf(-t請(qǐng)輸入要查詢(xún)的學(xué)號(hào):“);fflush(stdin);scanf(“s”,s);printfc*作業(yè)完成情況tn平時(shí)成績(jī)t學(xué)生姓名n“);for(i=();i<informati
23、on.count;i+)if(strcmp(s,information.studenti.number)=o)flag=0;for(j=0;j<10;j+)printf("%d 'information.studenti.scorej);printf(" %dtt%sn",information.studenti.usual_score,i)iftflag)printf(“不能找到! “); fflush(stdin); getchar();void search_by_cla_number()regi
24、ster int i j;char si l4j;printf(n請(qǐng)輸入班級(jí)號(hào)”);fflush(stdin);scanf(u%sh,sl);printf(”姓名tt作業(yè)完成情況tt平時(shí)成績(jī)n“);for(i=0;i<=lnformation.count;i+)if(strcmp(s 1,information.studenti.cla_number)=o)printf(m %stmj); for(j=0;j<10;j+)printf(°%d finformation.studenti.scorej);printf(ht %
25、dnhjnformation.studenti.usual_score);fflush(stdin);getchar();void shuchurenshu()int i;int n=0,gl,g2;printf(”請(qǐng)輸入分?jǐn)?shù)段:“);fflush(stdin);scanf(h%d%dm,&gl,&g2);for(i=0;i<lnformation.count;i+)if(g 1 <=information.stude nti.usual_score)&&( g2>=information.studenti.usual_score)n+;els
26、eprintfc*輸入分?jǐn)?shù)段有誤! “);break;printf(”在該分?jǐn)?shù)段人數(shù)為%d“,n);getch();/從鍵盤(pán)接受一個(gè)字符,接受后立即結(jié)束,不回顯。相當(dāng)于做程序的暫停,和按 任意鍵繼續(xù)功能。void main()int a;whilc(l)system(mclsh);printf(nttprintf(hnnnnnttt 學(xué)生作業(yè)完成情況管理系統(tǒng)tt(ln");%11 xrtwrtw rjwryw rtw ryw <jw rjw rtw %> .u丿,學(xué)牛信息錄入t);printf(mttt2學(xué)生信息瀏覽n“);printf(mttt3按學(xué)號(hào)查詢(xún) nj;printf(mttt4按班級(jí)杳詢(xún) n”);printf(”ttt5輸入分?jǐn)?shù)段查人數(shù)n”);printf(mttto退 111 系統(tǒng) n”);printf(mtt please enter choose:”);fflush(stdin);scanf(h%du,&
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路修建合同范本
- 員工家屬安全合同范本
- 浙江國(guó)企招聘2024衢州龍游經(jīng)濟(jì)開(kāi)發(fā)區(qū)下屬?lài)?guó)資公司招聘8人筆試參考題庫(kù)附帶答案詳解
- 2025屆九師聯(lián)盟高三12月聯(lián)考(11月質(zhì)量檢測(cè))英語(yǔ)試題(含答案)
- 重癥疾病護(hù)理常規(guī)
- 培訓(xùn)新護(hù)士課件
- 2025至2030年中國(guó)口杯原紙數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 生產(chǎn)流程項(xiàng)目改善
- 幼兒感知集合的發(fā)展及教育CHAPTER566課件
- 2025至2030年中國(guó)冷藏冷凍冰箱數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 稅法(第5版) 課件 第13章 印花稅
- 建加油站申請(qǐng)書(shū)
- 2024-2025學(xué)年廣州市高二語(yǔ)文上學(xué)期期末考試卷附答案解析
- 少年商學(xué)院《DeepSeek中小學(xué)生使用手冊(cè)》
- 2025年山東鋁業(yè)職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年教育公共基礎(chǔ)知識(shí)筆記
- 《銷(xiāo)售合同執(zhí)行》課件
- 深夜地鐵7號(hào)線施工方案
- 山東2024年山東經(jīng)貿(mào)職業(yè)學(xué)院第二批招聘102人歷年參考題庫(kù)(頻考版)含答案解析
- 宮腔球囊止血護(hù)理常規(guī)
- 口腔6S管理詳解
評(píng)論
0/150
提交評(píng)論