freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

學(xué)生成績(jī)管理系統(tǒng)---課程設(shè)計(jì)(留存版)

  

【正文】 ,則調(diào)用Save()函數(shù),執(zhí)行將學(xué)生記錄存入磁盤中的數(shù)據(jù)文件的操作;若選擇9,則調(diào)用Disp()函數(shù),執(zhí)行將學(xué)生記錄以表格形式打印輸出至屏幕的操作;若輸入為0~9之外的值,則調(diào)用Wrong()函數(shù),給出按鍵錯(cuò)誤的提示。更新記錄模塊主要完成對(duì)學(xué)生記錄的維護(hù)。一.設(shè)計(jì)目的 本程序旨在訓(xùn)練讀者的基本編程能力,了解管理信息開(kāi)發(fā)系統(tǒng)的開(kāi)發(fā)流程,熟悉C語(yǔ)言的文件和單鏈表的各種基本操作。主要功能:(1) 能按學(xué)期、按班級(jí)完成對(duì)學(xué)生成績(jī)的錄入、修改(2) 能按班級(jí)統(tǒng)計(jì)學(xué)生的成績(jī),求學(xué)生的總分及平均分(3) 能查詢學(xué)生成績(jī),不及格科目及學(xué)生名單(4) 能按班級(jí)輸出學(xué)生的成績(jī)單要求:使用二進(jìn)制文件方式存儲(chǔ)數(shù)據(jù)、三、地點(diǎn):實(shí)驗(yàn)2號(hào)樓4層硬件實(shí)驗(yàn)室四、時(shí)間安排:第618周星期五的12節(jié)五、班級(jí)與指導(dǎo)老師:電嵌Q0941班;指導(dǎo)教師:李俊六、參考資料 (自己補(bǔ)充)內(nèi)容提要學(xué)生成績(jī)管理系統(tǒng)可以說(shuō)是每個(gè)教育單位的得力助手,它利用計(jì)算機(jī)對(duì)學(xué)生成績(jī)進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)學(xué)生成績(jī)信息管理工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化,提高了廣大教師的工作效率。二. 總體設(shè)計(jì) 此成績(jī)管理系統(tǒng)主要利用單鏈表實(shí)現(xiàn),它有如下五大功能模塊組成。(4)統(tǒng)計(jì)記錄模塊。當(dāng)從數(shù)據(jù)文件中讀出記錄時(shí),它調(diào)用fread(p,sizeof(Node),1,fp)文件讀取函數(shù),執(zhí)行一次從文件中讀取一條學(xué)生成績(jī)記錄信息存入指針變量P所指向節(jié)點(diǎn)中的操作,并且這個(gè)操作在main()中執(zhí)行,即當(dāng)成績(jī)管理系統(tǒng)進(jìn)入顯示菜單界面時(shí),該操作已經(jīng)執(zhí)行了。4) 排序記錄有關(guān)排序的算法有很多,如冒泡排序、插入排序等。 //保存總分float ave。參數(shù)findmess[]保存要查找的具體內(nèi)容,nameornum[]保存按什么字段在單鏈表l中查找。五. 源碼和運(yùn)行結(jié)果include /*標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/include /*標(biāo)準(zhǔn)函數(shù)庫(kù)*/include /*字符串函數(shù)庫(kù)*/include /*屏幕操作函數(shù)庫(kù)*/define HEADER1 STUDENT \ndefine HEADER2 | number | name |Comp|Math|Eng | yuw| sum|ave |mici| \n define HEADER3 ||||||||||\n define FORMAT |%10s|%15s|%4d|%4d|%4d|%4d|%4d|%|%4d|\ndefine DATA p,p,p,p,p,p,p,p,pdefine END \nint saveflag=0。 /*調(diào)用DOS命令,()功能相同*/ cprintf( The Students39。 getchar()。**************************************************************/Node* Locate(Link l,char findmess[],char nameornum[]){ Node *r。 /*顯示提示信息*/ scanf(%d,amp。 if(strcmp(num,0)==0) /*輸入為0,則退出添加操作,返回主界面*/ {return。} } p=(Node *)malloc(sizeof(Node))。 } return 。 printdata(p)。 getchar()。 if(p) /*p!=NULL*/ { r=l。 getchar()。 stringinput(findmess,10,input the existing student number:)。 printf(\n=====modify success!\n)。break。%s39。 newinfo=numberinput(yuw Score[0100]:)。 int countc=0,countm=0,counte=0,county=0。 printf(name:%s English score:%d 不及格\n,p3,p3)。 printf(The highest student by total scroe name:%s totoal score:%d\n,pt,pt)。 /*如沒(méi)有申請(qǐng)到,打印提示信息*/ return 。 rrnext=s。 return 。 /*文件指針*/ int select。 rnext=p。 if(ch==39。 /*修改學(xué)生記錄*/ case 5:Insert(l)。用戶可選擇0~9之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作。10) 保存記錄當(dāng)用戶輸入8并按enter鍵后,即可進(jìn)入記錄保存界面。 p=l。printf(“數(shù)學(xué)平均分:%.1f”,ave2)。 /*計(jì)算每科平均分*/ave2=sum2/y。2. 在Tongji( )函數(shù)中新增加單科平均分和總分最低分在原Tongji( )函數(shù)中修改代碼,完善一些功能。8) 統(tǒng)計(jì)記錄當(dāng)用戶輸入6并按enter鍵后即可進(jìn)入記錄統(tǒng)計(jì)界面。getchar()。 /*刪除學(xué)生記錄*/ case 3:Qur(l)。 if(select==0) { if(saveflag==1) /*若對(duì)鏈表的數(shù)據(jù)有修改且未進(jìn)行存盤操作,則此標(biāo)志為1*/ { getchar()。 } while(!feof(fp)) { p=(Node*)malloc(sizeof(Node))。 getchar()。 int count=0。amp。 getchar()。 printf(Math 60:%d (ren)\n,countm)。p2=r。 printf(\n\n)。 stringinput(newinfo,15,Name:)。} else {return。 while(1) { stringinput(s,10,please input insert location after the Number:)。 p=numberinput(yuw Score[0100]:)。 return。 while(rnext!=p) r=rnext。 scanf(%d,amp。 getchar()。select)。 pnext=NULL。Y39。 /*將指針移至于鏈表最末尾,準(zhǔn)備添加記錄*/ while(1) /*一次可輸入多條記錄,直至輸入學(xué)號(hào)為0的記錄結(jié)點(diǎn)添加操作*/ { while(1) /*輸入學(xué)號(hào),保證該學(xué)號(hào)沒(méi)有被使用,若輸入學(xué)號(hào)為0,則退出添加記錄操作*/ { stringinput(num,10,\ninput number(press 39。 /*進(jìn)行長(zhǎng)度校驗(yàn),超過(guò)lens值重新輸入*/ }while(strlen(n)lens)。 } getchar()。}void printdata(Node *pp) /*格式化輸出表中數(shù)據(jù)*/{ Node* p。/*定義每條記錄或結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),標(biāo)記為:node*/typedef struct node{ struct student data。,按代碼中的輸入順序?qū)δ硞€(gè)學(xué)生輸入計(jì)算機(jī)成績(jī)98,輸入英語(yǔ)成績(jī)86,打印結(jié)果卻為:計(jì)算機(jī)成績(jī)86,英語(yǔ)成績(jī)98。notice用于保存printf()中輸出的提示信息。 //保存姓名 int cgrade。3) 插入記錄插入學(xué)生記錄操作完成在制定學(xué)號(hào)的隨后位置插入新的學(xué)生記錄。開(kāi)始以可讀寫的方式打開(kāi)一 個(gè)數(shù)據(jù)文件調(diào)用menu()菜單函數(shù)將此文件的內(nèi)容讀出,并存入一個(gè)新的單鏈表中進(jìn)入while()循環(huán)輸入【0~9】中的一個(gè)數(shù)值,選擇相應(yīng)操作輸入是否為0?是否已對(duì)修改進(jìn)行存盤? 是否 是 判斷鍵值,調(diào)用響應(yīng)函數(shù),完成相應(yīng)功能 否調(diào)用Save()函數(shù),進(jìn)行寫文件操作 結(jié)束若選擇1,則調(diào)用Add()函數(shù),執(zhí)行增加學(xué)生記錄操作;若選擇2,則調(diào)用Del()函數(shù),執(zhí)行刪除學(xué)生記錄操作;若選擇3,則調(diào)用Qur()函數(shù),執(zhí)行查詢學(xué)生記錄操作;若選擇4,則調(diào)用Modify(0函數(shù),執(zhí)行修改學(xué)生記錄操作;若選擇5,則調(diào)用Insert()函數(shù),執(zhí)行插入學(xué)生記錄操作;若選擇6,則調(diào)用Tongji()函數(shù),執(zhí)行統(tǒng)計(jì)學(xué)生記錄操作;若選擇7,則調(diào)用Sort()函數(shù),執(zhí)行按降序排序?qū)W生記錄的操作。(3)更新記錄模塊。由于時(shí)間、經(jīng)驗(yàn)及水平的原因,報(bào)告中難免有不足和錯(cuò)誤之處,敬請(qǐng)批評(píng)指正。該設(shè)計(jì)報(bào)告圍繞學(xué)生成績(jī)管理系統(tǒng)的源代碼,展開(kāi)一系列豐富的功能介紹和操作細(xì)節(jié)。其功能模塊圖如下所示。統(tǒng)計(jì)記錄模塊主要完成對(duì)個(gè)門功課最高分和不及格人數(shù)的統(tǒng)計(jì)。若該文件中沒(méi)有數(shù)據(jù),系統(tǒng)會(huì)提示單鏈表為空,沒(méi)有任何學(xué)生記錄可操作,此時(shí),用戶應(yīng)選擇1,調(diào)用Add(1)函數(shù),進(jìn)行學(xué)生記錄的輸入,即完成在單鏈表1中添加節(jié)點(diǎn)的操作。針對(duì)單鏈表結(jié)構(gòu)的特點(diǎn),我們用插入排序算法實(shí)現(xiàn)按總分的從高到低對(duì)學(xué)生記錄進(jìn)行排序,排序完成之后,即可按順序給名次字段賦值。 //保存平均分int mingci。7)Add()函數(shù)原型:void Add(Link l)Qur()函數(shù)用于在單鏈表l中增加學(xué)生記錄的節(jié)點(diǎn)。 /*是否需要存盤的標(biāo)志變量*/typedef struct student /*標(biāo)記為student*/{ char num[10]。 Grade Management System \n)。}void Nofind() /*輸出未查找此學(xué)生的信息*/{ printf(\n=====Not find this student!\n)。 if(strcmp(nameornum,num)==0) /*按學(xué)號(hào)查詢*/ { r=lnext。t)。} s=lnext。 /*申請(qǐng)內(nèi)存空間*/ if(!p) { printf(\n allocate memory failure )。}void Qur(Link l) /*按學(xué)號(hào)或姓名,查詢學(xué)生記錄*/{ int select。 printf(END)。 }/*刪除學(xué)生記錄:先找到保存該學(xué)生記錄的節(jié)點(diǎn),然后刪除該節(jié)點(diǎn)*/void Del(Link l){ int sel。 while(rnext!=p) r=rnext。 saveflag=1。 /*輸入并檢驗(yàn)該學(xué)號(hào)*/ p=Locate(l,findmess,num)。 Disp(l)。} v=vnext。 is existing !\n,num)。
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1