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

正文內(nèi)容

學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告-文庫吧資料

2024-09-05 16:26本頁面
  

【正文】 char courname[20]。 }。 float finalmark。 float experimentmark。 float CR。 char coursename[20]。 int coursenumber。 }。 char tel[20]。 char profession[30]。 char name[20]。 } if(flag==0){ printf(there is no this course\n)。 } cp=cpnext。 printf(*****************************************************************\n)。 printf(the test mark is %f\n,cptestmark)。 printf(the normal mark is %f\n,cpnormalmark)。 printf(course number is %d\n,cpcoursenumber)。 printf(the student is %s\n,pname)。cpterm==term1){ flag=1。cpcoursenumber==coursenumber1amp。 while(p!=NULL){ while(cp!=NULL){ if(cpstudentnumber==pstudentnumberamp。 struct course *cp=chead。 } if(flag==0){ printf(there is no this course\n)。 printf(*****************************************************************\n)。 printf(*****************************************************************\n)。amp。 cp=chead。 } } //查找課程信息 void searchcourse(int studentnumber1,int term1,struct course *chead){ struct course *cp。 printf(soorry,cannot find the student\n)。 } p=pnext。 flag=1。 printf(the student`s tel is %s\n,ptel)。 printf(the student`s profession is %s\n,pprofession)。 printf(the student`s name is %s\n,pname)。 while(p!=NULL) { if(pstudentnumber==studentnumber1){ printf(*****************************************************************\n)。 int flag=0。 }。 float aver。 }。 float couscore。 char courname[20]。 }。 float finalmark。 float experimentmark。 float CR。 char coursename[20]。 int coursenumber。 }。 char tel[20]。 char profession[30]。 char name[20]。 } if(flag==0){ printf(no student fail)。 flag=1。amp。 if(cp==NULL){ printf(there is no data in it\n)。 int flag=0。 } else printf(the average of this course is %f\n,(sum/n))。 } cp=cpnext。 n++。amp。 if(cp==NULL){ printf(there is no course\n)。 float sum=0。 int flag=0。 }。 float aver。 }。 float couscore。 char courname[20]。 }。 float finalmark。 float experimentmark。 float CR。 char coursename[20]。 int coursenumber。 }。 char tel[20]。 char profession[30]。 char name[20]。 } } return 0。break。 case 6:clrscr()。print5()。break。 case 4:clrscr()。 print3()。 break。cournumber1)。 printf(please input the cournumber:)。 scanf(%d,amp。 printf(****************************************\n)。 break。 switch(choice) { case 1:clrscr()。 scanf(%d,amp。 printf( ***************************************************\n)。 printf( 6search the fail student\n)。 printf( 4dele\n)。 printf( 2count\n)。 printf( ***************************************************\n)。 while(1){ printf(\n\n\n\n\n\n\n)。a)。 printf( please input a number to enter)。 clrscr()。 int cournumber1。*/ int main(int argc, char *argv[]) { float a。 struct stuaver *next。 struct stuaver{ char name[20]。 struct newcourse *next。 int cournumber。 struct newcourse{ char stuname[20]。 struct course *next。 float testmark。 float normalmark。 int term。 char studentname[20]。 struct course{ int studentnumber。 struct student *next。 char clas[20]。 char sex。 參考文獻(xiàn): 《 C 程序設(shè)計(jì)(第四版)》譚浩強(qiáng)著 《 c primer plus》 源代碼 //主函數(shù)文件 include /*struct student{ int studentnumber。有時(shí)候調(diào)試代碼可以調(diào)試到半夜,如果還沒解決可能整晚都睡不安穩(wěn),隔天早早起來繼續(xù)調(diào)試。這時(shí)候就是考驗(yàn)?zāi)隳土Φ臅r(shí)候,你需要慢慢的一步一步運(yùn)行,發(fā)現(xiàn)錯誤,或者上網(wǎng)詢問。所以我就先把每個(gè)文件開始的結(jié)構(gòu)體聲明先注釋掉,如果在 TC 上面運(yùn)行有錯的時(shí)候可以把注釋給消掉。 這個(gè)問題在轉(zhuǎn)換的時(shí)候也是困擾了我好久。 還有一個(gè)問題是不管在寫什么程序,一個(gè)不小心就可能造成打錯字母,或者是按錯符號,這個(gè)錯誤是最隱蔽的,很難發(fā)現(xiàn)出來,在調(diào)試的時(shí)候,可能會想當(dāng)然的過去了,導(dǎo)致錯誤很難被發(fā)現(xiàn)。在文件這里選擇了fprintf,和 fscanf 兩個(gè)函數(shù)來輸入輸出,雖說看起來就像 printf 和 scanf 一樣,但是用了之后才發(fā)現(xiàn)原來文件來操作也不是很簡單。 其次是文件的輸入輸出,這個(gè)也是較為陌生的領(lǐng)域,其實(shí)之前都只是編寫一些小小的程序,然后很少用到文件的輸入輸出。本來對鏈表進(jìn)行排序是打算對節(jié)點(diǎn)來排序的,但是在做的時(shí)候發(fā)現(xiàn) 節(jié)點(diǎn)在交換的時(shí)候里面的指針 *next 還需要控制好,稍 微不注意就會指錯,因?yàn)闀r(shí)間有限,所以選擇了較為簡單的辦法,直接交換節(jié)點(diǎn)里面的內(nèi)容。然而在之前對鏈表也掌握的不是很熟悉,特別是對鏈表的刪除來說和鏈表排序不能說是很熟悉。但是也容易上手。但是后來發(fā)現(xiàn)大家都選了難度一 ,我看著既然別人可以,那我也就可以。 輸入 33,出現(xiàn)上述界面,輸入相應(yīng)學(xué)期和課程編號出現(xiàn)下面 選擇 41, 輸入要刪除的學(xué)生編號 ,出現(xiàn)下面界面,表示刪除了這個(gè)學(xué)生的所有信息 選擇 42,輸入要刪除的課程編號,學(xué)期,出現(xiàn)下面界面表示刪除了某學(xué) 期某一門課程 選擇 51 出現(xiàn)下面界面 輸入相應(yīng)的學(xué)期和課程編號出現(xiàn)了每個(gè)學(xué)生這么課程的排序 同理,選 52,則出現(xiàn)降序排序 選擇 53,則出現(xiàn)一下提示,輸入學(xué)期號即可查看平均分排序 同理,輸入 54 即可查看平均分降序 選擇 6 輸入相應(yīng)的學(xué)期和課程編號即可查看這門課程不及格的人 最后按 7 即可退出整個(gè)程序。 選擇 2 后,選擇學(xué)期和課程編號就能統(tǒng)計(jì)某每門課程所有學(xué)生平均分。 由于在測試前已經(jīng)做好了數(shù)據(jù)放在 和 文件中。 下面是測試結(jié)果: 這是一個(gè)開始見面,首先進(jìn)去的時(shí)候根據(jù)提示,輸入一個(gè) 數(shù)字進(jìn)去,開始接下來程序(其實(shí)這里本來是可以不用的,由于 TC沒有鏈 接到浮點(diǎn)型庫,這里通過輸入一個(gè)浮點(diǎn)型數(shù)使它鏈接到浮點(diǎn)型庫里面,就可以使用浮點(diǎn)型的數(shù)了) 這是菜單界面輸入對應(yīng)數(shù)字就能實(shí)現(xiàn)對應(yīng)功能 這是學(xué)生信息的錄入,在這里你可以選擇你要錄入的學(xué)生的數(shù)量,然后一次錄入學(xué)生的學(xué)期,和每學(xué)期的課程。 }。 float aver。 }。 float couscore。 char courname[20]。 在排序的 時(shí)候,為了對原數(shù)據(jù)保護(hù),我也采取了新建一條鏈表來存儲排序需要用到的數(shù)據(jù),但這樣程序效率低下的問題也顯示了出來。 選擇排序功能 課程成績升序 輸入數(shù)據(jù) 文件讀取 排序輸出 返回 課程成績降序 課程平均分升序 課程平均分降序 輸入數(shù)據(jù) 文件讀取 排序輸出 返回 輸入數(shù)據(jù) 文件讀取 排序輸出 返回 輸入數(shù)據(jù) 文件讀取 排序輸出 返回 Y Y 無數(shù)據(jù) N struct course *next。 float testmark。 float normalmark。 int term。 char studentname[20]。 課程結(jié)構(gòu): struct course{ int studentnumber。 struct student *next。 char clas[20]。 char sex。其中學(xué)生結(jié)構(gòu)體如 struct student{ int studentnumber。 選擇刪除功能 刪除學(xué)生信息 輸入數(shù)據(jù) 讀取文件 刪除 返回 刪除某一門課程 輸入數(shù)據(jù) 讀取文件 刪除 返回 Y 無數(shù)據(jù) N 數(shù)據(jù)結(jié)構(gòu): 本程序采用兩條大鏈表的結(jié)構(gòu)來存儲數(shù)據(jù),一條是學(xué)生鏈表,一條是課程鏈表,他們之間用一個(gè)學(xué)生號聯(lián)系起來,學(xué)生鏈表存儲在“ ” 文件中,課程鏈表儲存在“ ”文件中。 開始 1錄入 2統(tǒng)計(jì) 3查詢 學(xué)生個(gè)人信息 某學(xué)期課程成績 所有學(xué)生某門課程成績 4刪除 刪除學(xué)生 刪除課程 5排序 課程分?jǐn)?shù)升序 課程分?jǐn)?shù)降序 課程平均分升序 課程平
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1