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

正文內(nèi)容

學(xué)生成績管理系統(tǒng)---課程設(shè)計(jì)-文庫吧

2025-07-09 18:51 本頁面


【正文】 設(shè)計(jì)學(xué)生成績信息結(jié)構(gòu)體typedef struct student {char num[10]。 //保存學(xué)號(hào) char name[15]。 //保存姓名 int cgrade。 //保存C語言成績 int mgrade。 //保存數(shù)學(xué)成績int egrade。 //保存英語成績int total。 //保存總分float ave。 //保存平均分int mingci。 //保存名次}。單鏈表node結(jié)構(gòu)體typedef struct node{struct student data。 struct node *next。 }Node,*Link。 這里定義了一個(gè)單鏈表的結(jié)構(gòu),結(jié)構(gòu)標(biāo)記為node,data為student結(jié)構(gòu)類型的數(shù)據(jù),作為單鏈表結(jié)構(gòu)中的數(shù)據(jù)域,next為單鏈表中的指針域,用來存儲(chǔ)其直接后繼節(jié)點(diǎn)的地址。Node為node類型的結(jié)構(gòu)變量,*Link為node類型的指針變量。具體函數(shù)功能描述1)printheader()函數(shù)原型:void printheader()printheader()函數(shù)用于在以表格形式顯示學(xué)生記錄時(shí),打印輸出表頭信息。2)printdata()函數(shù)原型:void printdata(Node *pp)printdata()函數(shù)用于以表格形式顯示學(xué)生記錄時(shí),打印輸出單鏈表pp中的學(xué)生信息。3)stringinput()函數(shù)原型:void stringinput(char *t,int lens, char *notice)stringinput()函數(shù)用于輸入字符串,并進(jìn)行字符串長度驗(yàn)證(長度lens)。t用于保存輸入的字符串,因?yàn)槭且灾羔樞问絺鬟f的,所以t相當(dāng)于該函數(shù)的返回值。notice用于保存printf()中輸出的提示信息。4)Numberinput()函數(shù)原型:int numberinput(char *notice)numberinput()函數(shù)用于輸入數(shù)值型數(shù)據(jù),notice用于保存printf()中輸出的提示信息,該函數(shù)返回用戶輸入的整型數(shù)據(jù)。5)Disp()函數(shù)原型:void Disp(Link l)Disp()函數(shù)用于顯示單鏈表l中存儲(chǔ)的學(xué)生記錄,內(nèi)容為student結(jié)構(gòu)中定義的內(nèi)容。6)Locate()函數(shù)原型:Node* Locate(Link l,char findmess[],char nameornum[])Locate()函數(shù)用于定位鏈表中符合要求的節(jié)點(diǎn),并返回指向該節(jié)點(diǎn)的指針。參數(shù)findmess[]保存要查找的具體內(nèi)容,nameornum[]保存按什么字段在單鏈表l中查找。7)Add()函數(shù)原型:void Add(Link l)Qur()函數(shù)用于在單鏈表l中增加學(xué)生記錄的節(jié)點(diǎn)。8)Qur()函數(shù)原型:void Qur(Link l)Qur()函數(shù)用于先在單鏈表l中按學(xué)號(hào)或姓名查找滿足條件的記錄,并顯示出來。9)Del()函數(shù)原型:void Del(Link l)Del()函數(shù)用于先在單鏈表l中找到滿足條件的學(xué)生記錄的節(jié)點(diǎn),然后刪除該節(jié)點(diǎn)。10)Modify()函數(shù)原型:void Modify(Link l)Modify()函數(shù)用于在單鏈表l中修改學(xué)生記錄。11)Insert()函數(shù)原型:void Insert(Link l)Insert()函數(shù)用于在單鏈表l中插入學(xué)生記錄。12)Tongji()函數(shù)原型:void Tongji(Link l)Tongji()函數(shù)用于在單鏈表l中完成學(xué)生記錄的統(tǒng)計(jì)工作,統(tǒng)計(jì)該班的總分第一名、單科第一名和各科不及格人數(shù)。13)Sort()函數(shù)原型:void Sort(Link l)Sort()函數(shù)用于在單鏈表l中完成利用插入排序算法實(shí)現(xiàn)單鏈表的按總分字段的降序排序。14)Save()函數(shù)原型:void Save(Link l)Save()函數(shù)用于在單鏈表l中的數(shù)據(jù)寫入磁盤中的數(shù)據(jù)文件。15)主函數(shù)main()整個(gè)成績管理系統(tǒng)控制部分。打開隨書光盤,將光盤中的學(xué)生成績管理系統(tǒng)源代碼轉(zhuǎn)至運(yùn)行環(huán)境中,開始運(yùn)行測試,運(yùn)行過程中出現(xiàn)兩個(gè)問題,問題描述及解決方法如下:( )和gotoxy( ),這兩個(gè)函數(shù)的作用是:在文本模式中選擇新的字符顏色和在文本窗口中設(shè)置光標(biāo)。因?yàn)檫@兩個(gè)功能對(duì)系統(tǒng)影響不大,故可以將這兩個(gè)函數(shù)刪掉,使程序正常運(yùn)行。,按代碼中的輸入順序?qū)δ硞€(gè)學(xué)生輸入計(jì)算機(jī)成績98,輸入英語成績86,打印結(jié)果卻為:計(jì)算機(jī)成績86,英語成績98。導(dǎo)致這種現(xiàn)象發(fā)生,其原因很有可能是源代碼中的輸出模塊中的egrade和cgrade順序反了?;氐皆创a,仔細(xì)觀察輸出模塊,將會(huì)發(fā)現(xiàn)Disp( )函數(shù)中調(diào)用了printdata( )函數(shù)用于輸出有效數(shù)據(jù),而printdata( )函數(shù)中引用了預(yù)處理中的DATA格式,而在宏定義DATA中egrade和cgrade的順序果然反了,至此檢查出錯(cuò)誤的根本。更正后,程序正常運(yùn)行。五. 源碼和運(yùn)行結(jié)果include /*標(biāo)準(zhǔn)輸入輸出函數(shù)庫*/include /*標(biāo)準(zhǔn)函數(shù)庫*/include /*字符串函數(shù)庫*/include /*屏幕操作函數(shù)庫*/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。 /*是否需要存盤的標(biāo)志變量*/typedef struct student /*標(biāo)記為student*/{ char num[10]。 /*學(xué)號(hào)*/ char name[15]。 /*姓名*/ int cgrade。 /*C語言成績*/ int mgrade。 /*數(shù)學(xué)成績*/ int egrade。 /*英語成績*/ int yuw。 /*語文成績*/ int total。 /*總分*/ float ave。 /*平均分*/ int mingci。 /*名次*/ int clas。 /*班級(jí)*/}student。/*定義每條記錄或結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),標(biāo)記為:node*/typedef struct node{ struct student data。 /*數(shù)據(jù)域*/ struct node *next。 /*指針域*/}Node,*Link。 /*Node為node類型的結(jié)構(gòu)變量,*Link為node類型的指針變量*/void menu() /*主菜單*/{ system(cls)。 /*調(diào)用DOS命令,()功能相同*/ cprintf( The Students39。 Grade Management System \n)。 cprintf( **********************Menu*******************************\n)。 cprintf( * 1 input record 2 delete record *\n)。 cprintf( * 3 search record 4 modify record *\n)。 cprintf( * 5 insert record 6 count record *\n)。 cprintf( * 7 sort reord 8 save record *\n)。 cprintf( * 9 display record 0 quit system *\n)。 cprintf( **********************************************************\n)。}void printheader() /*格式化輸出表頭*/{ printf(HEADER1)。 printf(HEADER2)。 printf(HEADER3)。}void printdata(Node *pp) /*格式化輸出表中數(shù)據(jù)*/{ Node* p。 p=pp。 printf(FORMAT,DATA)。}void Wrong() /*輸出按鍵錯(cuò)誤信息*/{ printf(\n\n\n\n\n********Error:input has wrong! press any key to continue*********\n)。 getchar()。}void Nofind() /*輸出未查找此學(xué)生的信息*/{ printf(\n=====Not find this student!\n)。}void Disp(Link l) /*顯示單鏈表l中存儲(chǔ)的學(xué)生記錄,內(nèi)容為student結(jié)構(gòu)中定義的內(nèi)容*/{ Node *p。 p=lnext。 /*l存儲(chǔ)的是單鏈表中頭結(jié)點(diǎn)的指針,該頭結(jié)點(diǎn)沒有存儲(chǔ)學(xué)生信息,指針域指向的后繼結(jié)點(diǎn)才有學(xué)生信息*/ if(!p) /*p==NULL,NUll在stdlib中定義為0*/ { printf(\n=====Not student record!\n)。 getchar()。 return。 } printf(\n\n)。 printheader()。 /*輸出表格頭部*/ while(p) /*逐條輸出鏈表中存儲(chǔ)的學(xué)生信息*/ { printdata(p)。 p=pnext。 /*移動(dòng)直下一個(gè)結(jié)點(diǎn)*/ printf(HEADER3)。 } getchar()。}/*************************************************************作用:用于定位鏈表中符合要求的節(jié)點(diǎn),并返回指向該節(jié)點(diǎn)的指針參數(shù):findmess[]保存要查找的具體內(nèi)容。 nameornum[]保存按什么查找。 在單鏈表l中查找。**************************************************************/Node* Locate(Link l,char findmess[],char nameornum[]){ Node *r。 if(strcmp(nameornum,num)==0) /*按學(xué)號(hào)查詢*/ { r=lnext。 while(r) { if(strcmp(r
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1