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

正文內(nèi)容

c語(yǔ)言實(shí)訓(xùn)報(bào)告之學(xué)籍管理系統(tǒng)(編輯修改稿)

2025-06-19 02:07 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 5]={},sbj[5][10]={ 高數(shù),英語(yǔ) ,c 語(yǔ)言編程 ,電路設(shè)計(jì) ,法律基礎(chǔ) }。 定義循環(huán)變量 i,j 并將其 清零,定義參數(shù)常量 count, n 控制循環(huán)次數(shù);定義二維字符串使輸入的各科補(bǔ)考情況能進(jìn)入循環(huán)。 struct student ex3[N]={0}。 定義結(jié)構(gòu)體數(shù)組存放學(xué)生信息。 FILE *fp=NULL。 定義文件指針指向文件。 system(color 2f)。 給運(yùn)行窗口加色。 fp=fopen(d:\\學(xué)生基本信息 .txt,r)。 打開(kāi)之前輸入的學(xué)生信息。 if(fp==NULL) { printf(\n 打開(kāi)文件失敗! \n)。 return。 } 如果沒(méi)有指向,則顯示文件無(wú)法打開(kāi)。 學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 20 printf(\n 歡迎進(jìn)入生成并打印補(bǔ)考通知單系統(tǒng)! \n)。 while(feof(fp)==0) 打開(kāi)文件將文件中的內(nèi)容讀出。 { fscanf(fp,%3d%15s%16s%f%f%f%f%f\n,amp。i,ex3[i].num,ex3[i].name,amp。ex3[i].score[0],amp。ex3[i].score[1],amp。ex3[i].score[2],amp。ex3[i].score[3],amp。ex3[i].score[4])。 i++。 n++。 } 以數(shù)組形式讀取文件便于循環(huán)。 fclose(fp)。 關(guān)閉文件。 for(i=0。i5。i++) 依次輸入補(bǔ)考時(shí)間地點(diǎn),循環(huán)比較,如果有沖突,重新輸入。 { printf(\n 請(qǐng)輸入 %s 的補(bǔ)考時(shí)間、地點(diǎn): ,sbj[i])。 scanf(%s%s,amp。time[j],amp。site[j])。 } for(i=0。i4。i++) for(j=i+1。j5。j++) while(strcmp(time[i],time[j])==0amp。amp。strcmp(site[i],site[j])==0) { printf(\n\n%s 科目與 %s 科目相沖突,請(qǐng)重新輸 %s 的考試時(shí)間、地點(diǎn):,sbj[i],sbj[j],sbj[j])。 scanf(%s%s,amp。time[j],amp。site[j])。 } for(i=0。in。i++) 調(diào)用學(xué)生信息,統(tǒng)計(jì)學(xué)生不及格科目數(shù)。 { for(j=0。j5。j++) if(ex3[i].score[j]60){ count++。 if(count0amp。amp。count3) 符合補(bǔ)考條件,進(jìn)入補(bǔ)考打印部分。 { printf(\n\n)。 printf(\n%15s 學(xué)生 %d 門(mén)課不及格,補(bǔ)考科目 、時(shí)間、地點(diǎn):,ex3[i].name,count)。 for(j=0。j5。j++) if(ex3[i].score[j]60) switch(j) 定義二維字符串將科目數(shù)組化,使之循環(huán)。找到對(duì)應(yīng)科目, 輸出學(xué)生考試信息,補(bǔ)考信息。 { case 0:printf(\n 高數(shù) :% , 時(shí)間 %s, 地學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 21 點(diǎn) %s,ex3[i].score[j],time[j],site[j])。break。 case 1:printf(\n 英語(yǔ) :% , 時(shí)間 %s, 地點(diǎn) %s,ex3[i].score[j],time[j],site[j])。break。 case 2:printf(\nc 語(yǔ) 言 編 程 :% , 時(shí) 間 %s, 地點(diǎn) %s,ex3[i].score[j],time[j],site[j])。break。 case 3:printf(\n 電路設(shè)計(jì) :% , 時(shí)間 %s, 地點(diǎn) %s,ex3[i].score[j],time[j],site[j])。break。 case 4:printf(\n 法律基礎(chǔ) :% , 時(shí)間 %s, 地點(diǎn) %s,ex3[i].score[j],time[j],site[j])。break。 } } } } } 程序結(jié)束。 此外,有幾個(gè)特別的語(yǔ)言需要說(shuō)明: do { mainprint()。 printf( )。 choose=getche( )。 switch(choose) { case39。139。:scoreInput()。break。 /*成績(jī)錄入 */ case39。239。:scoreStat()。break。 case39。339。:studentStatus()。break。 case39。439。:mynew()。break。 case39。039。:break。 default:printf(\n %c 是非法選項(xiàng)! \n)。 break。 } if(choose==39。039。) break。 printf(\n 即將進(jìn)入主菜單,要繼續(xù)選擇嗎 (Y/N)? \n)。 do { yes_no=getche( )。 }while(yes_no!=39。Y39。amp。amp。yes_no!=39。y39。amp。amp。yes_no!=39。N39。amp。amp。yes_no!=39。n39。)。 }while(yes_no==39。y39。||yes_no==39。Y39。)。 使用該語(yǔ)句來(lái)實(shí)現(xiàn)在用戶(hù)輸入選擇項(xiàng)后,程序判斷后進(jìn)入對(duì)應(yīng)模塊,并相應(yīng)學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 22 的調(diào)用模塊使用的函數(shù)進(jìn)行運(yùn)算,并使用 break 在調(diào)用完函數(shù)后退出 switch 語(yǔ)句。 然后詢(xún)問(wèn)用戶(hù)是否繼續(xù)操作,使用 dowhile 語(yǔ)句來(lái)確 認(rèn)用戶(hù)的輸入的合法性,并使用使用 getch 語(yǔ)句來(lái)讀取,然后使用外層的 dowhile 判斷是否退出循環(huán); 而 myprint 函數(shù)簡(jiǎn)單使用了 printf 語(yǔ)句來(lái)顯現(xiàn)將主菜單打印在屏幕上的功能。 for(i=0。in1。i++) for(j=i+1。jn。j++) if(strcmp(ex2[i].num,ex2[j].num)0) { temp=ex2[i]。 ex2[i]=ex2[j]。 ex2[j]=temp。 } 進(jìn)行排序時(shí), 我們需要先將最開(kāi)始的學(xué)生當(dāng)成學(xué)號(hào)最小的學(xué)生,用后面的學(xué)習(xí)生的學(xué)號(hào)和他的進(jìn)行對(duì)比,如果后面某個(gè)學(xué)生的學(xué)號(hào)筱宇第一個(gè)學(xué)生的學(xué)號(hào),將這個(gè)學(xué)生的所有性能系和第一個(gè)學(xué)生對(duì)調(diào),那么這個(gè)學(xué)生的信息就放在了第一位,如果后面還有這樣的情況,將他們的位置對(duì)調(diào)。循環(huán)完后面所有的學(xué)生后就確定了第一位的學(xué)生是學(xué)號(hào)最小的。然后進(jìn)行第二個(gè)排序,也是和后面的所有學(xué)生進(jìn)行對(duì)比,有符合情況的,交換位置。一次進(jìn)行到倒數(shù)第二個(gè),最后一個(gè)就不用比較了,他就是最大的。 而這部分的模式也是按平均分排序的主要模式。 for(j=0。j5。j++) for(i=0。in。i++) { if(list[i][j]100||list[i][j]0) e++。 else {t=(int)list[i][j]/10。 switch(t) { case 10:a[j][0]++。break。 case 9:a[j][0]++。break。 case 8:a[j][1]++。break。 case 7:a[j][2]++。break。 case 6:a[j][3]++。break。 default:a[j][4]++。break。 } } 這部分是各科目各分?jǐn)?shù)段人數(shù)統(tǒng)計(jì),我們采用單科學(xué)生循環(huán)模式, a[j][]中 j 所代表的科目名稱(chēng),我們只選取 0~100 分的人員進(jìn)行操作,在實(shí)際輸入的過(guò)程中可能會(huì)有輸入的錯(cuò)誤,我們將不在分?jǐn)?shù)段的人不納入統(tǒng)計(jì)范圍,并且報(bào)錯(cuò),除以 10 可以幫助我們選擇相對(duì)應(yīng)的分?jǐn)?shù)段進(jìn)行人數(shù)的相加。 學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 23 for(i=0。i5。i++) { printf(\n 請(qǐng)輸入 %s 的補(bǔ)考時(shí)間、地點(diǎn): ,sbj[i])。 scanf(%s%s,amp。time[j],amp。site[j])。 } for(i=0。i4。i++) for(j=i+1。j5。j++) while(strcmp(time[i],time[j])==0amp。amp。strcmp(site[i],site[j])==0) { printf(\n\n%s 科目與 %s 科目相沖突,請(qǐng)重新輸 %s 的考試時(shí)間、地點(diǎn): ,sbj[i],sbj[j],sbj[j])。 scanf(%s%s,amp。time[j],amp。site[j])。 } 補(bǔ)考的考試時(shí)間和地點(diǎn)鍵盤(pán)輸入,想將所有的補(bǔ)考信息輸入,然后進(jìn)行比較,依次使每一科的信息都和其他的相對(duì)比,選出時(shí)間相互沖突的,再次輸入, 直至所有的時(shí)間都不相沖。 printf(\n 請(qǐng)輸入要查學(xué)的學(xué)生的姓名: )。 scanf(%s,amp。ch)。 for(i=0。in。i++) if(strcmp(ex4[i].name,ch)==0) { printf(\n 您查詢(xún)的是學(xué)號(hào)為 %s 的學(xué)生,他的成績(jī)?nèi)缦?:,ex4[i].num)。 printf(\n 高數(shù) :%,英語(yǔ) :%,c 語(yǔ)言編程 :%,電路設(shè)計(jì) :%, 法律基礎(chǔ) :%\n,ex4[i].score[0],ex4[i].score[1],ex4[i].score[2],ex4[i].score[3],ex4[i].score[4])。 break。} if(i==n)printf(\n 查無(wú)此人 .......\n)。 查詢(xún)單個(gè)學(xué)生信息,輸入學(xué)生的姓名,查找,如果有符合的學(xué)生,將他的信息輸出且結(jié)束循環(huán)體,如果沒(méi)有,即自動(dòng)斷出,那么查詢(xún)所代表的 i=n,這樣,我們就判斷出這個(gè)學(xué)生的信息不存在。 完整程序請(qǐng)參見(jiàn)附錄 A 學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 24 測(cè)試與調(diào)試 測(cè)試數(shù)據(jù)類(lèi)型 測(cè)試數(shù)據(jù) 預(yù)期結(jié)果 實(shí)測(cè)結(jié)果 合法數(shù)據(jù) 在主菜單中輸入 1 進(jìn)入錄入同學(xué)學(xué)籍菜單 進(jìn)入錄入同學(xué)學(xué)籍菜單 在創(chuàng)建同學(xué)學(xué)籍輸入信息 在 ”d盤(pán)學(xué)生基本信息 .txt”文件存入同學(xué)信息 d盤(pán)學(xué)生基本信息 .txt文件有同學(xué)信息 非法數(shù)據(jù) 在主菜單中輸入 “a” 輸出 “a為非法選項(xiàng) ” 輸出 “a為非法選項(xiàng) ” 在每次完成一項(xiàng)是彈出 “是否繼續(xù)(Y/N)?”輸入 y 沒(méi)有反應(yīng) 沒(méi)有反應(yīng) 圖 開(kāi)始狀態(tài) 學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 25 圖 輸入 1 之后 圖 輸入 a 之后 學(xué)籍管理系統(tǒng)實(shí)訓(xùn)報(bào)告 03, 13, 23 學(xué)員 26 三.個(gè)人總結(jié) 杜旭亮的個(gè)人小結(jié) 兩周的實(shí)訓(xùn)結(jié)束 了,對(duì)于這次 C 語(yǔ)言實(shí)訓(xùn),我非常重視,這次實(shí)訓(xùn)我們編輯的程序不再是簡(jiǎn)單的模塊,而是具有一定應(yīng)用性的學(xué)籍管理系統(tǒng)。我們分到這個(gè)系統(tǒng)時(shí)認(rèn)為這個(gè)系統(tǒng)程序調(diào)用函數(shù)少,可能是這次實(shí)訓(xùn)中最簡(jiǎn)單的,但是在實(shí)訓(xùn)開(kāi)始后我們就發(fā)現(xiàn),調(diào)用函數(shù)少,但是做的工作卻是最多的。 沒(méi)有過(guò)多的說(shuō)明,沒(méi)有這方面的經(jīng)驗(yàn),我們?cè)趧傞_(kāi)始的時(shí)候做的非常辛苦,第一,二天基本沒(méi)有什么收獲。于是我們就進(jìn)行嚴(yán)格的分工,將大片的信息處理成一個(gè)一個(gè)的模塊。 在此次編程中,我負(fù)責(zé)的是開(kāi)始的輸入部分和最后的創(chuàng)新部分,這來(lái)那個(gè)部分都是比較簡(jiǎn)單的,但是如果用之前我的習(xí)慣, 這段程序不僅繁雜而且可行性不高,我開(kāi)始參考其他程序的輸入部分,并找到了實(shí)用性較高的一個(gè)程序模板,并據(jù)此編寫(xiě)自己的程序。 在編輯運(yùn)行方面,我發(fā)現(xiàn)好多知識(shí)的欠缺,最后我負(fù)責(zé)將程序匯總調(diào)整的時(shí)候,有許多程序語(yǔ)言需要翻書(shū)才能看明白,在調(diào)試環(huán)節(jié)我發(fā)現(xiàn)好多錯(cuò)誤,有粗心導(dǎo)致的丟符號(hào),有邏輯小問(wèn)題,這都導(dǎo)致運(yùn)行結(jié)果不符合要求,常常一整篇程序,就因?yàn)橐粋€(gè)小小的錯(cuò)誤而得不到實(shí)現(xiàn),在不斷的找尋錯(cuò)誤解決錯(cuò)誤的過(guò)程中,鍛煉了我的耐心和毅力,更讓我不懈堅(jiān)持著。 在這里,我還要特別感謝我的指導(dǎo)老師,他總能在我對(duì)編程感到
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1