版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1-北京聯(lián)合大學(xué)實訓(xùn)報告課程名稱:C語言程序設(shè)計課項目名稱:學(xué)籍管理系統(tǒng)學(xué)院:自動化學(xué)院專業(yè)信息處理與智能技術(shù)姓名:杜旭亮陶曉申付娟學(xué)號:___________________________________________________指導(dǎo)教師:李論成績:2011年6月19日學(xué)籍管理系統(tǒng)實訓(xùn)報告03,13,23學(xué)員PAGE28-目錄一、實訓(xùn)題目與要求 -2-1.問題提出 -2-2.功能要求 -2-3.任務(wù)分工 -2-二、設(shè)計實訓(xùn)題目功能 -4-總體設(shè)計 -4-算法設(shè)計 -6-1,分析錄入成績模塊算法 -7-2.分析成績統(tǒng)計的算法 -7-3.學(xué)籍處理 -11-4.創(chuàng)新功能 -15-結(jié)構(gòu)體說明 -4-程序代碼設(shè)計 -19-測試與調(diào)試 -20-三.個人總結(jié) -23-杜旭亮的個人小結(jié) -23-陶曉申的個人小結(jié) -23-付娟的個人總結(jié) -24-四.結(jié)束語 -25-附表1.程序源碼 -25-附錄2用戶使用說明書 -42-參考文獻 -42-
一、實訓(xùn)題目與要求1.問題提出為了分析教學(xué)成果并進行相應(yīng)的學(xué)籍處理,各學(xué)校每到期末都對綜合成績進行分類統(tǒng)計、上報成績匯總結(jié)果等,這給每位教師和學(xué)籍管理人員帶來很大的工作量。使用學(xué)籍管理系統(tǒng)可以減少工作者的工作負(fù)擔(dān)。2.功能要求循環(huán)顯示如圖(a)所示的主菜單。請輸入選項編號(0~4)請輸入選項編號(0~4)請輸入選項編號(0~4)1錄入成績1按學(xué)號排序1生成并打印補考通知單2統(tǒng)計成績2按平均分排序2—生成并打印退學(xué)名單3處理學(xué)籍3—統(tǒng)計各分?jǐn)?shù)段人數(shù)3—生成并打印新名單4創(chuàng)新功能4返回4返回0退出系統(tǒng)0退出系統(tǒng)0退出系統(tǒng)(a)(b)(c)在主菜單中選擇1:錄入成績。假設(shè)某班的原始成績單如下:學(xué)號姓名高數(shù)英語編程電路法律03zhanghe899288799713wangpei728694837723lifeng9184907983。。。。。。其中,原始數(shù)據(jù)的排列時無序的。系統(tǒng)應(yīng)能夠保留原始成績單。在主菜單選擇2:進入圖(b)子菜單并統(tǒng)計成績。在此可以計算平均成績,統(tǒng)計各分?jǐn)?shù)段人數(shù),按學(xué)號排序,按平均分排序。在子菜單選擇1時,將該班學(xué)生的成績單按學(xué)號生序排列后存放在“按學(xué)號排序.txt.”文件中。在子菜單選擇2時,將該班學(xué)生的成績單按平均分降序排序后存放在“按平均分排序.txt”文件中。在子菜單選擇3時,統(tǒng)計各分?jǐn)?shù)段人數(shù),并如表12.1所示的形式輸出。在子菜單選擇4時,返回主菜單,選擇0時,退出系統(tǒng)。表12.1:各門課、各分?jǐn)?shù)段人數(shù)統(tǒng)計90分以上80~89分70~79分60~69分60分以下高數(shù)英語編程電路法律在主菜單選擇3:進入如圖(c)所示的子菜單,并處理學(xué)籍。為不及格的同學(xué)打印補考通知單時,應(yīng)在通知單上寫明補考的科目,時間,地點(鍵盤輸入)。為了參加多門科目補考的學(xué)生,應(yīng)避免時間重復(fù)。為3門以上不及格的學(xué)生打印退學(xué)通知單,通知單上應(yīng)打明學(xué)生的學(xué)號,姓名,退學(xué)原因(幾門課不及格,成績是多少)。刪除已退學(xué)的學(xué)生,將該班中升入高年級的學(xué)生信息寫入文件“升學(xué)名單.txt”中。在子菜單選擇4,返回主菜單,選擇0,退出系統(tǒng)。在主菜單選擇4,此功能學(xué)生自由發(fā)揮,根據(jù)本組愛好增加與本題目相關(guān)的新功能。在主菜單選擇0,顯示結(jié)束信息,退出系統(tǒng)。3.任務(wù)分工組長:杜旭亮。負(fù)責(zé)小組程序的輸入和創(chuàng)新部分,分配任務(wù),使工作銜接有序。將各部分文件銜接,查找錯誤,排版論文。組員:陶曉申負(fù)責(zé)小組程序的處理學(xué)籍的部分。主要負(fù)責(zé)繪制流程圖,檢查流程的連續(xù),可操作性。組員:付娟負(fù)責(zé)小組程序的成績統(tǒng)計的部分。完成自己部分的編程,流程圖,組織論文的創(chuàng)作,主要負(fù)責(zé)論文部分。
二、設(shè)計實訓(xùn)題目功能.總體設(shè)計程序通過主模塊調(diào)用其他函數(shù)來實現(xiàn)各種要求實現(xiàn)的功能。顯示主菜單模塊通過調(diào)用myprint函數(shù)顯示主菜單,提示使用的用戶改執(zhí)行的操作,實現(xiàn)基本的人機對話。 創(chuàng)建“學(xué)生基本信息.txt”文件由調(diào)用scoreInput函數(shù)通過鍵盤輸入學(xué)生的信息。 統(tǒng)計學(xué)生信息調(diào)用函數(shù)scoreStat,并通過子菜單的選擇實現(xiàn)功能。 處理學(xué)籍功能調(diào)用函數(shù)studentStatus,通過子菜單的選擇實現(xiàn)處理學(xué)籍的功能。 創(chuàng)新功能由調(diào)用函數(shù)mynew,自己編寫的新功能由這部分實現(xiàn)。voidmainprint();/*主輸出部分*/voidscoreprint();/*成績錄入*/voidscoreStat();/*統(tǒng)計成績*/voidstudentStatus();/*學(xué)籍處理*/voidbukao();/*生成并打印補考通知單*/voidtuixue();/*生成并打印退學(xué)通知單*/voidxinmingdan();/*生成并打印新名單*/voidsortAnhao();/*按學(xué)號排序*/voidjisuanPingjun();/*計算平均分并排序*/voidtongjiFenshu();/*統(tǒng)計分?jǐn)?shù)段*/voidfenxi();/*分析學(xué)生成績,算出不及格門數(shù)*/\voidmynew();/*創(chuàng)新功能*/voidoutstudent();/*輸出單個學(xué)生信息*/voidoutdanke();/*輸出單科成績*/voidteshutuixue();/*非考試退學(xué)*/開始開始錄入成績統(tǒng)計成績處理學(xué)籍創(chuàng)新功能退出輸入學(xué)號輸入姓名輸入成績返回按學(xué)號排序按平均分排序統(tǒng)計分?jǐn)?shù)段補考名單退學(xué)名單升學(xué)名單返回圖2.1.1:主模塊圖(1)菜單的設(shè)計①主函數(shù)的作用主要是調(diào)用myprint函數(shù)顯示主界面,由于菜單比較簡單所以采用printf函數(shù)將菜單項注意打印在屏幕上,邊框則采用printf輸出|-拼接起來實現(xiàn)人機對話的第一步.②然后通過讀取用戶的輸入,調(diào)用switch函數(shù)對用戶的輸入進行進一步的處理,并使用do-while函數(shù)實現(xiàn)用戶的選擇性的重復(fù)操作。我們?yōu)橛脩籼峁┝艘粋€正常的出口,我們采用人機對話的形式,用戶選擇某一菜單以后,程序完成對于的功能,然后詢問用戶是否繼續(xù)選擇,用戶即可退出也可以繼續(xù)輸入,而且主菜單0選項也可正常退出圖2.1.2總體設(shè)計流程圖調(diào)用myprint函數(shù)輸入choose的值Choose=?2.調(diào)用圖2.1.2總體設(shè)計流程圖調(diào)用myprint函數(shù)輸入choose的值Choose=?2.調(diào)用scoreStat3.調(diào)用studentStatus()4.調(diào)用mynew1.調(diào)用scoreInput輸入yes_noyes_no=n或N或y或Yyes_no=y或Y假真假真開始結(jié)束0退出1,分析錄入成績模塊算法:創(chuàng)建一個文件“學(xué)生基本信息.txt”,并把從鍵盤輸入的數(shù)據(jù)(學(xué)號、姓名、成績)存放在該文件中;每寫入一組記錄,文件記錄數(shù)增1。建立錄入成績模塊的流程圖如下圖所示。 采用先輸入一組信息,應(yīng)用scanf輸入能有效阻止函數(shù)判斷值的位置占用,采用while利用輸入的信息都是非“#“,用“#”作為信息結(jié)束的判斷語言。如果沒有輸入“#”,則繼續(xù),并且i++。 結(jié)束結(jié)束開始i++結(jié)束打開文件打開成功?輸入學(xué)生學(xué)號輸入學(xué)生姓名輸入各科成績ex1[i].num[0]!='#'&&ex1[i].name[0]!='#'真假圖2.1.3:輸入流程圖2.分析成績統(tǒng)計的算法:成績統(tǒng)計分為三大項和退出部分,按學(xué)號正向排序,按平均成績逆向排序,打印各個分?jǐn)?shù)段的人數(shù)。利用switch方法使分支明確化。2.1分析按學(xué)號排序模塊的算法:雙重循環(huán)排序。從學(xué)生基本信息.txt中讀取信息,進行比較,假設(shè)第一個學(xué)生的學(xué)號是最小的,和之后的所有人進行比較,如果有比他學(xué)號還小的,將兩個進行對調(diào)。打開文件打開文件打開成功?結(jié)束開始i=1,j=i+1i<n-1strcmp(ex2[i].num,ex2[j].num)>0temp=ex2[i];ex2[i]=ex2[j];ex2[j]=temp;結(jié)束程序并存檔j<nj++真結(jié)束循環(huán)假i++圖2.2.1:按學(xué)號排序流程圖2.2,按平均成績排序:先算每個人的平均成績,存放,調(diào)用,雙重循環(huán)排序;利用新定義的數(shù)組將成績平均計算,依次排序,將學(xué)生成績按平均成績按降序排序。開始開始打開文件結(jié)束按成績排序讀取文件信息成績排序i=0i++i<n退出循環(huán)計算平均成績真假i=0i++i<n-1真假j<nj=iJ平均>i平均交換位置真真j++結(jié)束循環(huán)假結(jié)束程序存檔圖2.2.2:按平均成績排序2.3,統(tǒng)計各分?jǐn)?shù)段人數(shù)并打?。憾x二維數(shù)組,將各科成績轉(zhuǎn)化成5個空間的成績數(shù)組,雙重循環(huán),將各個成績段的人數(shù)各次相加,得到最后結(jié)果;(如下圖)開始i++打開文件打開成功?結(jié)束i=0,j=0j<5Switch的值list[i][j]>100||list[i][j]<0e++開始i++打開文件打開成功?結(jié)束i=0,j=0j<5Switch的值list[i][j]>100||list[i][j]<0e++t=(int)list[i][j]/10i<n真假j++假真真default:a[j][4]++9:a[j][0]++8:a[j][1]++7:a[j][2]++6:a[j][3]++10:a[j][0]++打印并結(jié)束總循環(huán)圖2.2.3:統(tǒng)計各分?jǐn)?shù)段人數(shù)3.學(xué)籍處理:此處分三部分和退出功能;打印補考學(xué)生名單;退學(xué)名單;升學(xué)名單;3.1,打印補考學(xué)生名單:由于不考需要考試場地,時間,而且互相不能重復(fù),所以將考試科目,時間,地點都定義為二維字符串,方便輸入和計算;補考學(xué)生要求是有一到三門科目不及格,所以要先判斷,后計算是否補考;打開文件打開成功?打開文件打開成功?結(jié)束開始輸入補考時間和地點i=0,j=i+1i<4,j<5strcmp(time[i],time[j])==0&&strcmp(site[i],site[j])==0i=0,j=0i<nj<5ex3[i].score[j]<60i++j++i++j++真count++count>0&&count<3count++count>0&&count<3輸入choose的值0.輸出高數(shù)成績和考試時間地點1.輸出英語成績和考試時間地點2.輸出語言編程成績和考試時間地點4.輸出法律基礎(chǔ)成績和考試時間地點3.輸出電路設(shè)計成績和考試時間地點結(jié)束圖2.3.1:生成并打印補考學(xué)生名單補考的時間,地點都需要用鍵盤輸入,在這兒我們采用了將科目名稱字符串化,使其在對應(yīng)的補考時間,地點能統(tǒng)一,時間地點的輸入采用逐次輸入,依次對比形勢,如果發(fā)現(xiàn)有時間相沖突的補考科目,采用重新輸入后一個補考科目時間地點的形式。3.2,打印退學(xué)名單:但不及格科目達到四門的時候,不參加補考,而是會被退學(xué);由于升學(xué)名單和退學(xué)名單相互補充,所以我們在處理這方面時,采用先將文件讀出,打印新名單時直接讀出文件內(nèi)容形式。結(jié)束開始打開文件打開成功?結(jié)束開始打開文件打開成功?輸入補考時間和地點i=0,j=i+1i<4,j<5strcmp(time[i],time[j])==0&&strcmp(site[i],site[j])==0假真i=0,j=0i<nj<5ex3[i].score[j]<60假i++j++Count++Count>3,退學(xué)結(jié)束3.3,升學(xué)名單:升學(xué)名單由非退學(xué)人員升入,故而此部分在退學(xué)名單中有所顯示;打印新名單,將退學(xué)名單中的人刪除,將后面的學(xué)生提前,覆蓋原來學(xué)生的信息。退學(xué)部分退學(xué)部分count++滿足退學(xué)標(biāo)準(zhǔn)k=iK<n-1ex3[k]=ex3[k+1];n--生成新名單并保存結(jié)束count>3圖2.3.3生成新名單4.創(chuàng)新功能:此部分為自由發(fā)揮部分,我們組的創(chuàng)新功能具有較強的針對性:查詢某學(xué)生信息;查詢單科成績;非考試不及格退學(xué)的學(xué)生;此部分依舊采用switch語言進入,選擇具有多向性,顯示更能清晰。輸入choose的值輸入choose的值Choose=?2.調(diào)用outdanke3.調(diào)用teshutuixue1.調(diào)用outstudent輸入yes_noyes_no=n或N或y或Yyes_no=y或Y假真假真開始結(jié)束調(diào)用函數(shù)0圖2.4.0:創(chuàng)新功能主流程圖4.1,查詢學(xué)生信息:此為學(xué)生查詢部分。輸入自己的姓名就可以看到自己的情況;開始開始結(jié)束結(jié)束打開文件打開成功?輸入要查詢的學(xué)生姓名i=0i<nstrcmp(ex4[i].name,ch)==0i++假真i=n真假查無此人真輸出要查學(xué)生的成績輸入yes_noyes_no=n或N或y或Yyes_no=y或Y假真假真假圖2.4.1:查詢單個學(xué)生成績4.2,查詢單科成績:科目老師輸入自己所教的科目,查考學(xué)生的情況;結(jié)束結(jié)束開始結(jié)束打開文件打開成功?輸入要查詢的科目名稱i=0i<5strcmp(sbj[i],ch)==0i++假真i=5真假輸入有誤真j=i,輸出要查詢的單科成績輸入yes_noyes_no=n或N或y或Yyes_no=y或Y假真假真圖2.4.2:查詢單科成績4.3,非不及格退學(xué)學(xué)生:因故不能繼續(xù)上學(xué)的學(xué)生辦理退學(xué)手續(xù)后班級清除其信息;開始開始查無此人結(jié)束錯誤再次學(xué)生號打開文件打開成功?結(jié)束輸入要查詢的學(xué)生學(xué)號i=0i<nstrcmp(ex4[i].num,ch)==0j=ij<n-1ex4[j]=ex4[j+1]i==n真假j++i++假傲假真輸入yes_noyes_no=y或Y假真假真yes_no=n或N或y或Y假圖2.4.3:非考試原因退學(xué)學(xué)生結(jié)構(gòu)體說明在程序中為了實現(xiàn)學(xué)生信息的鏈接統(tǒng)一,我們定義了結(jié)構(gòu)體學(xué)生信息,通過結(jié)構(gòu)體的調(diào)用實現(xiàn)信息的統(tǒng)一處理。structstudent{ charnum[13];/*學(xué)生學(xué)號*/ charname[18];/*學(xué)生姓名*/ floatmath;/*數(shù)學(xué)成績*/ floatenglish;/*英語成績*/ floatcprogram;/*c程序成績*/ floatcircuit;/*電路設(shè)計成績*/ floatlaw;/*法律基礎(chǔ)成績*/ floatpingjun;/*平均成績*/ floatscore[5];/*定義五科成績數(shù)組*/};程序代碼設(shè)計以補考函數(shù)為例講解:voidbukao(){ inti=0,j=0,count=0,n=0; chartime[5][10]={""},site[5][15]={""},sbj[5][10]={"高數(shù)","英語","c語言編程","電路設(shè)計","法律基礎(chǔ)"}; 定義循環(huán)變量i,j并將其清零,定義參數(shù)常量count,n控制循環(huán)次數(shù);定義二維字符串使輸入的各科補考情況能進入循環(huán)。 structstudentex3[N]={0};定義結(jié)構(gòu)體數(shù)組存放學(xué)生信息。 FILE*fp=NULL;定義文件指針指向文件。 system("color2f");給運行窗口加色。fp=fopen("d:\\學(xué)生基本信息.txt","r");打開之前輸入的學(xué)生信息。 if(fp==NULL) { printf("\n打開文件失??!\n");return;}如果沒有指向,則顯示文件無法打開。 printf("\n歡迎進入生成并打印補考通知單系統(tǒng)!\n"); while(feof(fp)==0)打開文件將文件中的內(nèi)容讀出。 {fscanf(fp,"%3d%15s%16s%f%f%f%f%f\n",&i,ex3[i].num,ex3[i].name,&ex3[i].score[0],&ex3[i].score[1],&ex3[i].score[2],&ex3[i].score[3],&ex3[i].score[4]); i++;n++;}以數(shù)組形式讀取文件便于循環(huán)。 fclose(fp);關(guān)閉文件。 for(i=0;i<5;i++)依次輸入補考時間地點,循環(huán)比較,如果有沖突,重新輸入。 { printf("\n請輸入%s的補考時間、地點:",sbj[i]); scanf("%s%s",&time[j],&site[j]); } for(i=0;i<4;i++) for(j=i+1;j<5;j++) while(strcmp(time[i],time[j])==0&&strcmp(site[i],site[j])==0) { printf("\n\n%s科目與%s科目相沖突,請重新輸%s的考試時間、地點:",sbj[i],sbj[j],sbj[j]); scanf("%s%s",&time[j],&site[j]); } for(i=0;i<n;i++)調(diào)用學(xué)生信息,統(tǒng)計學(xué)生不及格科目數(shù)。 { for(j=0;j<5;j++) if(ex3[i].score[j]<60){ count++; if(count>0&&count<3)符合補考條件,進入補考打印部分。 { printf("\n\n"); printf("\n%15s學(xué)生%d門課不及格,補考科目、時間、地點:",ex3[i].name,count); for(j=0;j<5;j++) if(ex3[i].score[j]<60) switch(j)定義二維字符串將科目數(shù)組化,使之循環(huán)。找到對應(yīng)科目,輸出學(xué)生考試信息,補考信息。 { case0:printf("\n高數(shù):%3.1f,時間%s,地點%s",ex3[i].score[j],time[j],site[j]);break; case1:printf("\n英語:%3.1f,時間%s,地點%s",ex3[i].score[j],time[j],site[j]);break; case2:printf("\nc語言編程:%3.1f,時間%s,地點%s",ex3[i].score[j],time[j],site[j]);break; case3:printf("\n電路設(shè)計:%3.1f,時間%s,地點%s",ex3[i].score[j],time[j],site[j]);break; case4:printf("\n法律基礎(chǔ):%3.1f,時間%s,地點%s",ex3[i].score[j],time[j],site[j]);break; } } } }}程序結(jié)束。此外,有幾個特別的語言需要說明:do { mainprint(); printf(""); choose=getche(); switch(choose) { case'1':scoreInput();break;/*成績錄入*/ case'2':scoreStat();break; case'3':studentStatus();break; case'4':mynew();break; case'0':break; default:printf("\n%c是非法選項!\n"); break; } if(choose=='0')break; printf("\n即將進入主菜單,要繼續(xù)選擇嗎(Y/N)?\n"); do { yes_no=getche(); }while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n'); }while(yes_no=='y'||yes_no=='Y'); 使用該語句來實現(xiàn)在用戶輸入選擇項后,程序判斷后進入對應(yīng)模塊,并相應(yīng)的調(diào)用模塊使用的函數(shù)進行運算,并使用break在調(diào)用完函數(shù)后退出switch語句。然后詢問用戶是否繼續(xù)操作,使用do-while語句來確認(rèn)用戶的輸入的合法性,并使用使用getch語句來讀取,然后使用外層的do-while判斷是否退出循環(huán);而myprint函數(shù)簡單使用了printf語句來顯現(xiàn)將主菜單打印在屏幕上的功能。for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(ex2[i].num,ex2[j].num)>0) { temp=ex2[i]; ex2[i]=ex2[j]; ex2[j]=temp; }進行排序時,我們需要先將最開始的學(xué)生當(dāng)成學(xué)號最小的學(xué)生,用后面的學(xué)習(xí)生的學(xué)號和他的進行對比,如果后面某個學(xué)生的學(xué)號筱宇第一個學(xué)生的學(xué)號,將這個學(xué)生的所有性能系和第一個學(xué)生對調(diào),那么這個學(xué)生的信息就放在了第一位,如果后面還有這樣的情況,將他們的位置對調(diào)。循環(huán)完后面所有的學(xué)生后就確定了第一位的學(xué)生是學(xué)號最小的。然后進行第二個排序,也是和后面的所有學(xué)生進行對比,有符合情況的,交換位置。一次進行到倒數(shù)第二個,最后一個就不用比較了,他就是最大的。而這部分的模式也是按平均分排序的主要模式。for(j=0;j<5;j++) for(i=0;i<n;i++) { if(list[i][j]>100||list[i][j]<0) e++; else{t=(int)list[i][j]/10; switch(t) { case10:a[j][0]++;break; case9:a[j][0]++;break; case8:a[j][1]++;break; case7:a[j][2]++;break; case6:a[j][3]++;break; default:a[j][4]++;break; } }這部分是各科目各分?jǐn)?shù)段人數(shù)統(tǒng)計,我們采用單科學(xué)生循環(huán)模式,a[j][]中j所代表的科目名稱,我們只選取0~100分的人員進行操作,在實際輸入的過程中可能會有輸入的錯誤,我們將不在分?jǐn)?shù)段的人不納入統(tǒng)計范圍,并且報錯,除以10可以幫助我們選擇相對應(yīng)的分?jǐn)?shù)段進行人數(shù)的相加。 for(i=0;i<5;i++) { printf("\n請輸入%s的補考時間、地點:",sbj[i]); scanf("%s%s",&time[j],&site[j]); } for(i=0;i<4;i++) for(j=i+1;j<5;j++) while(strcmp(time[i],time[j])==0&&strcmp(site[i],site[j])==0) { printf("\n\n%s科目與%s科目相沖突,請重新輸%s的考試時間、地點:",sbj[i],sbj[j],sbj[j]); scanf("%s%s",&time[j],&site[j]); }補考的考試時間和地點鍵盤輸入,想將所有的補考信息輸入,然后進行比較,依次使每一科的信息都和其他的相對比,選出時間相互沖突的,再次輸入,直至所有的時間都不相沖。printf("\n請輸入要查學(xué)的學(xué)生的姓名:"); scanf("%s",&ch); for(i=0;i<n;i++) if(strcmp(ex4[i].name,ch)==0) { printf("\n您查詢的是學(xué)號為%s的學(xué)生,他的成績?nèi)缦?",ex4[i].num); printf("\n高數(shù):%-7.1f,英語:%-7.1f,c語言編程:%-7.1f,電路設(shè)計:%-7.1f,法律基礎(chǔ):%-7.1f\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查無此人\n");查詢單個學(xué)生信息,輸入學(xué)生的姓名,查找,如果有符合的學(xué)生,將他的信息輸出且結(jié)束循環(huán)體,如果沒有,即自動斷出,那么查詢所代表的i=n,這樣,我們就判斷出這個學(xué)生的信息不存在。完整程序請參見附錄A測試與調(diào)試測試數(shù)據(jù)類型測試數(shù)據(jù)預(yù)期結(jié)果實測結(jié)果合法數(shù)據(jù)在主菜單中輸入1進入錄入同學(xué)學(xué)籍菜單進入錄入同學(xué)學(xué)籍菜單在創(chuàng)建同學(xué)學(xué)籍輸入信息在”d盤學(xué)生基本信息.txt”文件存入同學(xué)信息d盤學(xué)生基本信息.txt文件有同學(xué)信息非法數(shù)據(jù)在主菜單中輸入“a”輸出“a為非法選項”輸出“a為非法選項”在每次完成一項是彈出“是否繼續(xù)(Y/N)?”輸入y沒有反應(yīng)沒有反應(yīng)圖2.5.1開始狀態(tài)圖2.5.2輸入1之后圖2.5.3輸入a之后三.個人總結(jié)杜旭亮的個人小結(jié)兩周的實訓(xùn)結(jié)束了,對于這次C語言實訓(xùn),我非常重視,這次實訓(xùn)我們編輯的程序不再是簡單的模塊,而是具有一定應(yīng)用性的學(xué)籍管理系統(tǒng)。我們分到這個系統(tǒng)時認(rèn)為這個系統(tǒng)程序調(diào)用函數(shù)少,可能是這次實訓(xùn)中最簡單的,但是在實訓(xùn)開始后我們就發(fā)現(xiàn),調(diào)用函數(shù)少,但是做的工作卻是最多的。沒有過多的說明,沒有這方面的經(jīng)驗,我們在剛開始的時候做的非常辛苦,第一,二天基本沒有什么收獲。于是我們就進行嚴(yán)格的分工,將大片的信息處理成一個一個的模塊。在此次編程中,我負(fù)責(zé)的是開始的輸入部分和最后的創(chuàng)新部分,這來那個部分都是比較簡單的,但是如果用之前我的習(xí)慣,這段程序不僅繁雜而且可行性不高,我開始參考其他程序的輸入部分,并找到了實用性較高的一個程序模板,并據(jù)此編寫自己的程序。在編輯運行方面,我發(fā)現(xiàn)好多知識的欠缺,最后我負(fù)責(zé)將程序匯總調(diào)整的時候,有許多程序語言需要翻書才能看明白,在調(diào)試環(huán)節(jié)我發(fā)現(xiàn)好多錯誤,有粗心導(dǎo)致的丟符號,有邏輯小問題,這都導(dǎo)致運行結(jié)果不符合要求,常常一整篇程序,就因為一個小小的錯誤而得不到實現(xiàn),在不斷的找尋錯誤解決錯誤的過程中,鍛煉了我的耐心和毅力,更讓我不懈堅持著。在這里,我還要特別感謝我的指導(dǎo)老師,他總能在我對編程感到迷茫的時候鼓勵我,讓我不要著急,慢慢來,總會變好的。每天他都在為學(xué)生們服務(wù),非常辛苦,謝謝!兩周的實訓(xùn)就要結(jié)束了,這兩周里,我學(xué)到了很多東西,c語言的實訓(xùn)室是束了,但我的學(xué)習(xí)不會結(jié)束,這次試訓(xùn)讓我認(rèn)識到了我們的生活中的很多東西都應(yīng)用了程序,我將繼續(xù)我的學(xué)習(xí),編寫有用的程序。陶曉申的個人小結(jié)在這兩個星期里,我們在老師的帶領(lǐng)下進行了C語言程序?qū)嵺`.在這之前我們已經(jīng)對這門課程學(xué)習(xí)了一個學(xué)期.但是很多東西都只是停留在了解和書面的知識上.雖然老師會給我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025鋼板樁租賃合同
- 2024年物業(yè)消防系統(tǒng)維護勞務(wù)分包合同
- 2025飯店轉(zhuǎn)讓合同參考范例
- 水箱加熱器課程設(shè)計
- 焊接課程設(shè)計任務(wù)
- 2024信息采集與智慧城市運營服務(wù)合同3篇
- 電動車拆解課程設(shè)計
- 2024年版招標(biāo)代理業(yè)務(wù)合作合同
- 2024年度高爾夫球教練與學(xué)員簽約合同范本3篇
- 幼兒園戶外舞蹈課程設(shè)計
- 智能化手術(shù)室介紹strykerisuite課件
- 國開(新)(本)《古代詩歌散文專題》歷屆5年期末考試題及答案
- Morse跌倒危險因素評估量表
- 院外會診邀請單
- 廣東省佛山市南海區(qū)大瀝鎮(zhèn)2023-2024學(xué)年九年級上學(xué)期期中物理試卷
- 07K506 多聯(lián)式空調(diào)機系統(tǒng)設(shè)計與施工安裝
- HSK標(biāo)準(zhǔn)教程5下-課件-L
- 電腦基礎(chǔ)知識
- 工程竣工預(yù)驗收簽到表
- 海爾集團培訓(xùn)管理手冊
- GB/T 16252-2023成年人手部尺寸分型
評論
0/150
提交評論