![小學(xué)數(shù)學(xué)測試系統(tǒng)C課程設(shè)計(jì)報(bào)告及源程序代碼_第1頁](http://file4.renrendoc.com/view12/M07/2C/2D/wKhkGWc0zqCAE_JRAAC-P-ioCxU659.jpg)
![小學(xué)數(shù)學(xué)測試系統(tǒng)C課程設(shè)計(jì)報(bào)告及源程序代碼_第2頁](http://file4.renrendoc.com/view12/M07/2C/2D/wKhkGWc0zqCAE_JRAAC-P-ioCxU6592.jpg)
![小學(xué)數(shù)學(xué)測試系統(tǒng)C課程設(shè)計(jì)報(bào)告及源程序代碼_第3頁](http://file4.renrendoc.com/view12/M07/2C/2D/wKhkGWc0zqCAE_JRAAC-P-ioCxU6593.jpg)
![小學(xué)數(shù)學(xué)測試系統(tǒng)C課程設(shè)計(jì)報(bào)告及源程序代碼_第4頁](http://file4.renrendoc.com/view12/M07/2C/2D/wKhkGWc0zqCAE_JRAAC-P-ioCxU6594.jpg)
![小學(xué)數(shù)學(xué)測試系統(tǒng)C課程設(shè)計(jì)報(bào)告及源程序代碼_第5頁](http://file4.renrendoc.com/view12/M07/2C/2D/wKhkGWc0zqCAE_JRAAC-P-ioCxU6595.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計(jì)報(bào)告課程名稱C語言課程設(shè)計(jì)課題名稱小學(xué)數(shù)學(xué)測試系統(tǒng)專業(yè)班級學(xué)號姓名指導(dǎo)教師2021年01月06日
湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書課程名稱C語言課程設(shè)計(jì)課題小學(xué)數(shù)學(xué)測試系統(tǒng)專業(yè)班級學(xué)生姓名學(xué)號指導(dǎo)教師審批任務(wù)書下達(dá)日期2021年12月26日任務(wù)完成日期2021年01月06日一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)課題九:小學(xué)數(shù)學(xué)測試系統(tǒng)。具體內(nèi)容見附錄。2.設(shè)計(jì)要求:1〕設(shè)計(jì)正確,方案合理。2〕界面友好,使用方便。3〕程序精煉,構(gòu)造清晰。4〕上機(jī)演示。3.設(shè)計(jì)報(bào)告要求:課程設(shè)計(jì)報(bào)告格式如下:1〕正文格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體,行距為22。2〕正文內(nèi)容:課題主要功能、課題功能模塊劃分、主要功能實(shí)現(xiàn)、程序調(diào)試、總結(jié)、附件〔所有程序源代碼,要求對程序?qū)懗霰匾⑨尅?,課程設(shè)計(jì)報(bào)告需5000字左右〔不含附件〕。3〕課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評分、程序清單附件。二、進(jìn)度安排星期日〔17周〕星期一〔18周〕星期四〔18周〕星期五〔18周〕星期日〔18周〕14:00-17:0018:00-21:0018:00-21:0018:00-21:00交報(bào)告上課時(shí)間另外安排。附錄:設(shè)計(jì)課題九:小學(xué)數(shù)學(xué)測試系統(tǒng)一、問題描述:本系統(tǒng)可以用來進(jìn)展簡單數(shù)學(xué)測試,并累計(jì)成績,包括用戶注冊、用戶登錄、用戶刪除、題目測試、信息保存等功能。二、功能描述:1、本系統(tǒng)采用構(gòu)造體數(shù)組,每個(gè)數(shù)據(jù)構(gòu)造應(yīng)當(dāng)包括:用戶名、用戶密碼、共測試題目數(shù)、答對題目數(shù)。2、系統(tǒng)功能:用戶注冊:即添加新用戶名、用戶密碼。用戶登錄:在進(jìn)展數(shù)學(xué)測試之前,需進(jìn)展登錄,假設(shè)沒有該用戶,需進(jìn)展注冊。題目測試:系統(tǒng)自動生成題目(注意題目合理性,題目結(jié)果不能是負(fù)數(shù),除數(shù)不能是0等),用戶給出答案,系統(tǒng)可以自動測試其正確性,同時(shí)統(tǒng)計(jì)成績。信息保存:當(dāng)注冊成功、題目測試完畢后將用戶信息及成績保存到文件。e.退出系統(tǒng)。3、系統(tǒng)使用說明:執(zhí)行一個(gè)具體功能之后,程序?qū)⒅匦嘛@示功能菜單。系統(tǒng)功能并不限于上述,可以對其進(jìn)展擴(kuò)大完善,如題目自動生成,可以只是簡單加減乘除運(yùn)算,也可以生成復(fù)雜四那么混合運(yùn)算。同時(shí),用戶界面友好也很重要,當(dāng)輸入錯(cuò)誤答案,需給出提示信息。三、測試數(shù)據(jù):用戶>=3,題目數(shù)>=5目錄TOC\o"1-1"\u1系統(tǒng)需求分析 62概要設(shè)計(jì) 63詳細(xì)設(shè)計(jì) 104系統(tǒng)測試 155 課程設(shè)計(jì)總結(jié) 181系統(tǒng)需求分析小學(xué)生數(shù)學(xué)測試系統(tǒng)具有隨機(jī)出題,自動評分,查看答案,錯(cuò)題重做等功能系統(tǒng);其屬性有:1.主界面設(shè)計(jì),選擇各種功能。2.系統(tǒng)隨機(jī)出題,顯示算式,含加,減,乘,除四那么運(yùn)算。3.練習(xí)時(shí),系統(tǒng)隨機(jī)出題,鍵入答案,可顯示對錯(cuò)。4.測試時(shí),系統(tǒng)自動出題,每題得分,再統(tǒng)計(jì)得分。5.題對錯(cuò)信息,錯(cuò)誤給出答案。2概要設(shè)計(jì)系統(tǒng)功能模塊圖:小學(xué)小學(xué)數(shù)學(xué)測試系統(tǒng)學(xué)生成績管理模塊測試模塊注冊登錄模塊查看結(jié)果模塊錯(cuò)題重做模塊2.1注冊登錄模塊 提示用戶輸入姓名和學(xué)號,如果已經(jīng)有記錄那么將本次登錄用戶信息追加儲存在文件中,如果沒有記錄,那么創(chuàng)立一個(gè)新文件儲存:其模塊圖如下列圖所示:注冊登錄模塊提示輸入姓名學(xué)號創(chuàng)立文件記錄學(xué)生信息判斷是否有記錄2.注冊登錄模塊提示輸入姓名學(xué)號創(chuàng)立文件記錄學(xué)生信息判斷是否有記錄進(jìn)入開場測試菜單后,開場計(jì)時(shí),選擇加減乘除四種運(yùn)算類型,總體來說測試模塊可以分為:加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算、除法運(yùn)算四局部四局部功能相似選擇類型后,在選擇題數(shù)目為〔5,10,20,50,100〕,然后再選擇難度,這時(shí)開場做題〔題目利用隨機(jī)函數(shù)隨機(jī)出題〕,然后判斷正誤并給出正確率,錯(cuò)誤結(jié)果存入一個(gè)文件中以備錯(cuò)題重做,將所有做題結(jié)果存入另個(gè)文件中以便查看結(jié)果;測試模塊測試模塊加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算2.3學(xué)生成績管理模塊 本模塊首先將每次測試同學(xué)姓名,學(xué)號,成績存入一個(gè)文件中,每次測試同學(xué)信息不覆蓋之前同學(xué)信息,然后將文件中信息讀取到構(gòu)造體中進(jìn)展排序,最后利用構(gòu)造體將排好序成績顯示到屏幕上,其模塊如下所示圖:學(xué)生成績管理模塊學(xué)生成績管理模塊存入測試學(xué)生成績信息查看排名榜創(chuàng)立學(xué)生成績信息文件排列順序2.4查看結(jié)果模塊 利用測試模塊存儲結(jié)果信息文件進(jìn)展直接讀取,期間用到fgetc函數(shù)將文件信息讀取出來,其圖如下列圖所示:查看結(jié)果模塊查看結(jié)果模塊翻開存儲結(jié)果的文件讀取文件2.5錯(cuò)題重做模塊測試模塊過程已將錯(cuò)題和錯(cuò)題答案分別出入到文件中,直接進(jìn)展翻開存儲錯(cuò)題文件逐個(gè)讀取錯(cuò)題,這時(shí)利用scanf函數(shù)輸入答題者答案,最后再翻開儲存錯(cuò)題答案文件進(jìn)展核對正確答案,其模塊如下列圖所示:錯(cuò)題重做模塊讀取錯(cuò)題錯(cuò)題重做模塊讀取錯(cuò)題進(jìn)展重做核對答案翻開錯(cuò)題存儲文件系統(tǒng)流程圖:開場開場輸入姓名輸入學(xué)號主菜單開始測試查看排名錯(cuò)題重做查看結(jié)果完畢測試加法減法乘法除法選擇題數(shù)選擇難度測試退出返回保存3詳細(xì)設(shè)計(jì)3.1登錄功能得具體實(shí)現(xiàn):用到兩個(gè)函數(shù)Savemessage()和Judge()兩個(gè)函數(shù),其中Savemessage()函數(shù)用來,保存學(xué)生輸入信息,將輸入學(xué)生信息保存到studentmessage.txt"和TestResult.txt文件中,保存過程中,先輸入到構(gòu)造體中,再利用fwrite(&s[0],sizeof(structStudent),1,fp);語句向文件studentmessage.txt中寫入一條記錄,即剛剛輸入學(xué)生姓名和學(xué)號;利用fprintf(fp1,"登錄完后進(jìn)入測試界面此時(shí)開場計(jì)時(shí)有語句{printf("請計(jì)時(shí)輸入開場時(shí)間(點(diǎn),分):");scanf("%d,%d",&hourA,&minA);}進(jìn)展輸入計(jì)時(shí)。然后進(jìn)入測試界面菜單: 3.2測試功能得實(shí)現(xiàn)①選測試類型:測試功能菜單分為5個(gè),其中1~4為選擇類型,5返回主菜單;具體實(shí)現(xiàn)選擇功能有while(choose<1||choose>5){printf("超出功能范圍,請重新選擇(15):");scanf("%d",&choose);}輸入1~5之間一個(gè)數(shù),再用switch(choose){}進(jìn)展選擇對應(yīng)功能 如上圖選擇1后進(jìn)入②選題數(shù)目:進(jìn)展選擇題目數(shù)目,輸入要測試題目數(shù)被限制(5/10/20/50/100)五個(gè)數(shù)用句while(thnum<5||thnum>5&&thnum<10||thnum>10&&thnum<||thnum>20&&thnum<50||thnum>50&&thnum<100||thnum>100){printf("超出功能范圍,請重新選擇(5/10/20/50/100):");scanf("%d",&thnum);}由此語句實(shí)現(xiàn)對題目數(shù)限制,但超出范圍后那么提示重新輸入。在begain()中調(diào)用Addition(intnumber)控制循環(huán)語句for(inti=0;i<number;i++) {if(m==1){num1=rand()%n;num2=rand()%n;}//產(chǎn)生一位隨機(jī)數(shù),num1,num2if(m==2){num1=10+rand()%(n-10);//產(chǎn)生兩位隨機(jī)數(shù)num1,num2 num2=10+rand()%(n-10);}if(m==3){num1=100+rand()%(n-100);//產(chǎn)生三位隨機(jī)數(shù)num1,num2 num2=100+rand()%(n-100);}printf(" %d+%d=",num1,num2);scanf("%d",&num4);通過控制循環(huán)次數(shù)來控制產(chǎn)生題數(shù)目.③選難度實(shí)現(xiàn): 利用隨機(jī)函數(shù)rand()%n;中n不同值產(chǎn)生不同位數(shù)隨機(jī)書實(shí)現(xiàn)難度控制,n=10時(shí)用語句num1=rand()%n產(chǎn)生一位數(shù);n=100時(shí)用語句num1=10+rand()%(n-10)產(chǎn)生二位數(shù);n=1000時(shí)用num1=100+rand()%(n-100)產(chǎn)生三位數(shù);具體有語句printf("請選擇難度:");scanf("%d",&m);system("cls");//清屏{ if(m==1)n=10; if(m==2)n=100;elseif(m==3)n=1000;}for(inti=0;i<number;i++) {if(m==1){num1=rand()%n;num2=rand()%n;}if(m==2){num1=10+rand()%(n-10); num2=10+rand()%(n-10);}if(m==3){num1=100+rand()%(n-100); num2=100+rand()%(n-100);}}實(shí)現(xiàn)控制難度,并有rand()%n產(chǎn)生隨機(jī)數(shù)實(shí)現(xiàn)隨機(jī)出題功能。④自動評分實(shí)現(xiàn)和數(shù)據(jù)儲存系統(tǒng)會將輸入答案與正確答案進(jìn)展逐一比擬,如果正確那么將結(jié)果只記錄到TestResult.txt中,以便查看結(jié)果;如果錯(cuò)誤,那么將錯(cuò)誤題正確結(jié)果記錄到failedResult.txt中,以便錯(cuò)題重做,將錯(cuò)誤題正確結(jié)果記錄到rightResult.txt中,TestResult.txt中,以便核對錯(cuò)題答案,在此過程中系統(tǒng)會自動統(tǒng)計(jì)正確結(jié)果個(gè)數(shù)和錯(cuò)誤個(gè)數(shù),從而利用average=float(count1)/float(number);自動得到分?jǐn)?shù)。具體程序如下:if(num3==num4) {fprintf(fp," %d+%d= %d %d \n",num1,num2,num4,num3); count1++;}else{fprintf(fp," %d+%d= %d %d ×\n",num1,num2,num4,num3); fprintf(fp2," %d+%d=\n",num1,num2,num4,num3);fprintf(fp3," %d+%d=%d\n",num1,num2,num3);}}}average=float(count1)/float(number);fprintf(fp," 正確%d道,錯(cuò)誤%d道,正確率為:%f\n\n",count1,count2,average);A=A+average*100;//總分nu++;//記錄做不同類型題次數(shù)以便算平均分⑤減乘除過程和原理和加法一樣其工作界面分別為減法;乘法;除法;除法其它功能得實(shí)現(xiàn)與加法一樣只有分母不為零,用num2=n/10+rand()%(n-n/10)語句進(jìn)展實(shí)現(xiàn),其中rand()%(n-n/10)產(chǎn)生0到n-n/10-1數(shù);n/10+rand()%(n-n/10)產(chǎn)生n/10到n-1數(shù);例如n=100時(shí)產(chǎn)生10到99兩位數(shù);從而實(shí)現(xiàn)了分母不為零,同時(shí)也實(shí)現(xiàn)了難度控制。3.3查看結(jié)果實(shí)現(xiàn): 測試過程中已經(jīng)將結(jié)果記錄存到TestResult.txt中,只需翻開文件讀取出記錄即可voidShowResult()//顯示測試結(jié)果函數(shù){FILE*fp;if((fp=fopen("TestResult.txt","r"))==NULL);exit(0);}charch;ch=fgetc(fp);//文件開頭字符while(ch!=EOF)//當(dāng)文件沒有到尾時(shí),一直循環(huán){putchar(ch);//輸出字符ch=fgetc(fp);}fclose(fp);}有此函數(shù)就可直接讀取查看結(jié)果。3.4排名實(shí)現(xiàn)此過程中將將每次做題情況及學(xué)生信息記錄到文件中,然后再將中一條條記錄讀取到構(gòu)造體中,用冒泡法進(jìn)展排序,最后直接從構(gòu)造體中讀取排好序成績;其具體程序:voidsort()//實(shí)現(xiàn)排序{FILE*fp5;inti,j,m;s[0].avscore=A/nu;fp5=fopen("nrecord.txt","a+");fclose(fp5);fp5=fopen("nrecord.txt","rb");for(i=0;!feof(fp5);i++){fscanf(fp5,"%s %s%f\n",s[i].name,s[i].num,&s[i].avscore);}fclose(fp5);m=i;structStudenttemp;for(i=0;i<m;i++){for(j=0;j<m-1;j++) if(s[j].avscore<s[j+1].avscore) {strcpy(,s[j].name);strcpy(temp.num,s[j].num);temp.avscore=s[j].avscore;strcpy(s[j].name,s[j+1].name);strcpy(s[j].num,s[j+1].num); s[j].avscore=s[j+1].avscore;strcpy(s[j+1].name,);strcpy(s[j+1].num,temp.num); s[j+1].avscore=temp.avscore;}}//輸出排名結(jié)果 printf******************************************************\n"); printf("查看你排名〔排序結(jié)果由高到低):\n"); printf("姓名 學(xué)號 分?jǐn)?shù)\n");for(i=0;i<m;i++) {printf(" %s %s%4.2f\n",s[i].name,s[i].num,s[i].avscore);}}錯(cuò)題重做測試過程中已將錯(cuò)題和錯(cuò)題答案分別存入到failedResult.txt和文件中,直接進(jìn)展翻開存儲錯(cuò)題文件逐個(gè)讀取錯(cuò)題,這時(shí)利用scanf函數(shù)輸入答題者答案,最后再翻開儲存錯(cuò)題答案文件進(jìn)展核對正確答案具體程序?yàn)椋簐oidrework()//錯(cuò)題重做{inta;charch;FILE*fp2,*fp3; if((fp2=fopen("failedResult.txt","a+"))==NULL) {printf("翻開文件失敗\n");exit(0);} if((fp3=fopen("rightResult.txt","a+"))==NULL) {printf("翻開文件失敗\n");exit(0);}printf("********************錯(cuò)題重做***************************************\n");while(!feof(fp2))if(ch=='=') scanf("%d",&a);}//輸入答案 fp2=fopen("failedResult.txt","w");//清空之前數(shù)據(jù) fclose(fp2); printf("========小朋友請查看正確答案============================\n");while(!feof(fp3)) fclose(fp3);fp3=fopen("rightResult.txt","w");//清空 fclose(fp3);}完畢測試中選擇主菜單完畢功能時(shí),系統(tǒng)那么提示輸入完畢時(shí)間,輸入后,系統(tǒng)將自動生成所用時(shí)間,然后系統(tǒng)將把學(xué)生所有信息記錄到以學(xué)生,學(xué)號命名文件中.具體實(shí)現(xiàn)過程如下;void()//文件復(fù)制函數(shù),用來保存測試結(jié)果,當(dāng)然文件名不能重復(fù),{FILE*in,*out;strcat(s[0].num,".txt");//將字符串".txt"連接到字符串student[0].num后,即以學(xué)號為文件名,后綴為.txt文件中,保存在工程目錄下if((in=fopen("TestResult.txt","r"))==NULL) {in=fopen("TestResult.txt","w+");printf("無文件記錄,已新建.\n");}if((out=fopen(s[0].num,"w"))==NULL)//翻開文件學(xué)號.txt文件〔如030.txt〕,"w"方式為只寫方式 {printf("翻開文件失敗\n");exit(0);}fputc(fgetc(in),out);//逐個(gè)字符寫入fclose(in);fclose(out);}voidTestOver()//程序測試完畢函數(shù){printf("\n\n測試完畢你測試結(jié)果保存在%s中\(zhòng)n\n",s[0].num);//輸出測試結(jié)果記錄提示}4系統(tǒng)測試登錄模塊測試模塊①選測試類型②選題數(shù)目③選難度實(shí)現(xiàn)4.3查看學(xué)生成績模塊錯(cuò)題重做模塊4.5測試時(shí)出現(xiàn)錯(cuò)誤與分析總結(jié)程序設(shè)計(jì)為構(gòu)造化和模塊化,用函數(shù)間相互調(diào)用來實(shí)現(xiàn)系統(tǒng)功能,為調(diào)試帶來了一定方便。在調(diào)試過程中,出現(xiàn)了很多問題,其中文件和構(gòu)造體之間轉(zhuǎn)換最為困難,在一段時(shí)間內(nèi),影響到了錯(cuò)題重做,排名等功能實(shí)現(xiàn);問題一:程序中屢次用到了文件讀寫,用文件記錄信息,屢次出現(xiàn)讀不出來,記錄不到文件中,還出現(xiàn)亂碼。解決方法:認(rèn)真學(xué)習(xí)和反復(fù)研究了,文件讀寫函數(shù)fprintf,fscanf,fread,fwrite,fgetc,在反復(fù)調(diào)試中終于解決了此問題。問題二:由于學(xué)生信息均記錄在文件中,而文件不能直接排序需轉(zhuǎn)換到構(gòu)造體中進(jìn)展排序,給整個(gè)排序過程帶來了相當(dāng)大困難,出現(xiàn)了轉(zhuǎn)換不到構(gòu)造體中,和亂碼現(xiàn)象。 解決方法:首先檢查了為文件是否將信息記錄了下來,確認(rèn)有數(shù)據(jù)后,用fscanf,fread,進(jìn)展了反復(fù)更換,此過程中反復(fù)運(yùn)行查看構(gòu)造體是否有輸出。最終實(shí)現(xiàn)了文件與構(gòu)造體之間數(shù)據(jù)傳遞,實(shí)現(xiàn)了排序功能. 問題三:錯(cuò)題重做有一定困難,怎樣將錯(cuò)題一個(gè)個(gè)及記錄下來,并且能讀出來重新做,產(chǎn)生了一定困難。解決方法:采用了文件記錄錯(cuò)題和錯(cuò)題答案,用fgetc函數(shù)實(shí)現(xiàn)了讀出記錄錯(cuò)題,從而實(shí)現(xiàn)了錯(cuò)題重做功能。此外在調(diào)試過程中也遇到了相當(dāng)多其他問題,從整體構(gòu)造設(shè)計(jì),到各個(gè)功能實(shí)現(xiàn).課程設(shè)計(jì)總結(jié)這次課程設(shè)計(jì)實(shí)驗(yàn)是對我們進(jìn)入大學(xué)以來學(xué)習(xí)C語言結(jié)果是一次大考驗(yàn)。自己動手,發(fā)現(xiàn)問題和解決問題。并發(fā)現(xiàn)了許多自己缺乏,平時(shí)沒掌握知識在實(shí)踐中暴漏,經(jīng)過不斷思考,查閱書籍和上網(wǎng)查資料及上機(jī)運(yùn)行,解決了大局部問題,還稍微有些小問題。但是,我相信在今學(xué)習(xí)中,一定能把它解決好。當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)大學(xué)來說掌握程序開發(fā)技術(shù)是十分重要,而C語言又是最常見,功能最強(qiáng)大一種高級語言,因此做好C語言課程設(shè)計(jì)是十分必要。我不僅穩(wěn)固?C語言程序設(shè)計(jì)?課程學(xué)習(xí)內(nèi)容,掌握設(shè)計(jì)根本方法,強(qiáng)化上機(jī)動手能力。。本次課程設(shè)計(jì)編寫小學(xué)數(shù)學(xué)測試系統(tǒng),它具有隨機(jī)出題、自動評分、自動排名,查看正確答案、錯(cuò)題重做等功能,本系統(tǒng)功能強(qiáng)大,程序大,編寫難度相當(dāng)大,在編程中,很多知識,幾乎是一片空白。不過后來通過書本和網(wǎng)絡(luò)慢慢知道了一點(diǎn)。通過這次課程設(shè)計(jì),使我更加深刻地體會到c語言程序編寫過程嚴(yán)謹(jǐn)與細(xì)致,還有無論做任何事都要有耐心。也懂得了理論與實(shí)際相結(jié)合是很重要,只有理論知識是遠(yuǎn)遠(yuǎn)不夠,只有把所學(xué)理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己實(shí)際動手能力和獨(dú)立思考能力在課程設(shè)計(jì)過程中,收獲知識,提高能力同時(shí),我也學(xué)到了很多人生哲理,懂得怎么樣去制定方案,怎么樣去實(shí)現(xiàn)這個(gè)方案,并掌握了在執(zhí)行過程中怎么樣去克制心理上不良情緒。因此在以后生活和學(xué)習(xí)過程中,我一定會把課程設(shè)計(jì)精神帶到生活中,是生活也更加好。謝謝田教師這幾天時(shí)間對我們指導(dǎo)計(jì)算機(jī)科學(xué)與技術(shù)系課程設(shè)計(jì)評分表課程名稱:C語言程序設(shè)計(jì)項(xiàng)目評價(jià)設(shè)計(jì)方案合理性與創(chuàng)造性設(shè)計(jì)與調(diào)試結(jié)果設(shè)計(jì)說明書質(zhì)量辯論陳述與答復(fù)下列問題情況課程設(shè)計(jì)周表現(xiàn)情況綜合成績教師簽名:日期:2021.01.10附錄:源程序#include<stdio.h>//C語言標(biāo)準(zhǔn)輸入輸出頭文件#include<string.h>//字符串操作需要用到頭文件#include<stdlib.h>//文件操作需要用到頭文件#include<time.h>//產(chǎn)生隨機(jī)數(shù)需要用到頭文件floatA=0;intnu=0;inthourA,hourB,minA,minB;structStudent{charname[21];//姓名charnum[10];//學(xué)號floatavscore;}s[50];//構(gòu)造體數(shù)組,存儲學(xué)生信息,在此初定為50,可改/**/voidSavemessage()//保存學(xué)生輸入信息函數(shù){FILE*fp,*fp1;//定義文件指針,//以下判斷文件翻開與否,"a"方式翻開那么可向文件尾寫數(shù)據(jù) {printf("翻開文件失敗\n");exit(0);} {printf("翻開文件失敗\n");exit(0);} printf(" 輸入姓名:");//以下為要學(xué)生輸入個(gè)人信息 scanf("%s",s[0].name); printf(" 輸入學(xué)號:"); scanf("%s",&s[0].num);fwrite(&s[0],sizeof(structStudent),1,fp);//向文件studentmessage.txt中寫入一條記錄,即剛剛輸入學(xué)生信息 fprintf(fp1," 學(xué)號:%s\n",s[0].num);fclose(fp1);system("cls");//清屏}voidJudge()//判斷函數(shù){inti=0;FILE*fp; //文件指針//以下判斷文件翻開與否,"r"為只讀翻開方式printf("\n\n\n");printf("*************************小學(xué)數(shù)學(xué)測試系統(tǒng)********************\n");printf("**\n");printf("**\n");printf("*************************************************************\n");printf("*注冊*\n");printf("**\n");printf("*輸入姓名*\n");printf("**\n");printf("*輸入學(xué)號*\n");printf("**\n\n\n"); {fp=fopen("studentmessage.txt","w+"); //如果沒有studentmessage.txt文件,那么新建此文件,"w+"翻開方式為新建一個(gè)文件 printf("無文件記錄,已新建.\n");}while(!feof(fp))//判斷是否到了文件尾 {fread(&s[i],sizeof(structStudent),1,fp);//一行一行從文件中讀出學(xué)生信息,保存在構(gòu)造體數(shù)組student[]中 fscanf(fp,"\n");//讀取換行符i++;//i變量保存學(xué)生記錄個(gè)數(shù)if(i==50)//當(dāng)人數(shù)滿時(shí)即50個(gè)人滿時(shí),因?yàn)閿?shù)組下標(biāo)從0開場,所以當(dāng)i為29時(shí) {printf("人數(shù)已滿,你已無法測試.\n"); fclose(fp); exit(0);}}}/**/voidAddition(intnumber)//加法運(yùn)算函數(shù),number為題目數(shù)形參{ F
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度淘寶店鋪人工智能客服合作協(xié)議
- 2025-2030年增肌塑形添加劑行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 劇場舞臺燈光自動化控制技術(shù)考核試卷
- 2025-2030年手繪地圖制作行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年手繪風(fēng)景明信片套裝行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 搪瓷制品在電力電氣中的應(yīng)用考核試卷
- 農(nóng)藥產(chǎn)品的市場風(fēng)險(xiǎn)防范考核試卷
- 二零二五年度北京醫(yī)療設(shè)備行業(yè)勞動合同法律顧問服務(wù)合同
- 美食廣場室內(nèi)設(shè)計(jì)合同樣本
- 旅游景區(qū)民宿租賃合同模板
- 分析化學(xué)(高職)PPT完整版全套教學(xué)課件
- 晚熟的人(莫言諾獎后首部作品)
- m拱頂儲罐設(shè)計(jì)計(jì)算書
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- 新人教鄂教版(2017)五年級下冊科學(xué)全冊教學(xué)課件
- GB/T 29361-2012電子物證文件一致性檢驗(yàn)規(guī)程
- GB/T 16475-1996變形鋁及鋁合金狀態(tài)代號
- 上海鐵路局勞動安全“八防”考試題庫(含答案)
- 效率提升和品質(zhì)改善方案
- 義務(wù)教育學(xué)科作業(yè)設(shè)計(jì)與管理指南
- 物業(yè)客服培訓(xùn)PPT幻燈片課件(PPT 61頁)
評論
0/150
提交評論