版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p> 課程設(shè)計(jì)名稱: C語(yǔ)言程序設(shè)計(jì) </p><p> 專 業(yè) 班 級(jí) : xxxxxxxxxxxxxxxxx </p><p> 學(xué) 生 姓 名 : xxxxxx __</p><p> 學(xué)
2、 號(hào) : xxxxxxx _ </p><p> 指 導(dǎo) 教 師 : _</p><p> 課程設(shè)計(jì)時(shí)間: 2011年12月 _</p><p> 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)課程設(shè)計(jì)任務(wù)書</p><p> C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告</p><p>
3、;<b> 一、需求分析</b></p><p> 隨著計(jì)算機(jī)的飛速發(fā)展,它的應(yīng)用已經(jīng)十分廣泛,它在人們的生產(chǎn)、生活、工作和學(xué)習(xí)中發(fā)揮著重要的作用。例如一個(gè)高等教育的學(xué)校,擁有數(shù)千名乃至數(shù)萬(wàn)名的學(xué)生,那么如何管理這么龐大的學(xué)生成績(jī)檔案呢?這時(shí),開(kāi)發(fā)一個(gè)功能完善的學(xué)生成績(jī)管理系統(tǒng)就必不可少了。從學(xué)生的成績(jī)的查詢到管理實(shí)現(xiàn)了自動(dòng)化的模式,從而提高了老師的工作效率和減少工作中的出錯(cuò)率,對(duì)學(xué)校的
4、學(xué)生管理更加方便。</p><p> 本系統(tǒng)根據(jù)學(xué)生成績(jī)管理的需要,而建立一個(gè)“學(xué)生成績(jī)管理系統(tǒng)”,一方便對(duì)成績(jī)各項(xiàng)管理操作。本系統(tǒng)能對(duì)成績(jī)進(jìn)行輸入和輸出:能按姓名對(duì)學(xué)生進(jìn)行排序,并顯示學(xué)生的資料、成績(jī)等,不過(guò)得以系統(tǒng)輸入學(xué)生資料、成績(jī)?yōu)榍疤?;能添加學(xué)生成績(jī)資料;能根據(jù)學(xué)生的姓名來(lái)查詢?cè)搶W(xué)生的成績(jī)資料,并修改或是刪除該學(xué)生信息;能夠從文件中讀取學(xué)生信息,并且添加到系統(tǒng)中;能把對(duì)系統(tǒng)鎖進(jìn)行的操作進(jìn)行保存,及時(shí)更新
5、系統(tǒng)中的數(shù)據(jù)。</p><p><b> 二、人員分工</b></p><p><b> 三、運(yùn)行環(huán)境</b></p><p> 硬件環(huán)境: CPU(pentium4 2.4Hz)、內(nèi)存(256MB)、硬盤(80G)</p><p> 軟件環(huán)境:Windows7、 VC6.0</p&
6、gt;<p><b> 四、系統(tǒng)模版功能</b></p><p><b> 1、系統(tǒng)總體框圖</b></p><p><b> 2、模塊設(shè)計(jì)</b></p><p> 在我們?cè)O(shè)計(jì)的程序中:</p><p> 包括了個(gè)人成績(jī)錄入,修改學(xué)生成績(jī),查詢個(gè)人成績(jī)
7、,刪除個(gè)人成績(jī),四大模塊組成。本系統(tǒng)定義了結(jié)構(gòu)體 allstudentinfo,用于存放學(xué)生的基本信息和成績(jī)管理信息。進(jìn)入該程序后會(huì)看到總的頁(yè)面菜單,包括</p><p> 1、錄入學(xué)生個(gè)人成績(jī) ;</p><p> 2、修改學(xué)生個(gè)人成績(jī);</p><p> 3、查詢學(xué)生個(gè)人成績(jī);</p><p> 4、刪除學(xué)生個(gè)人成績(jī);</p
8、><p> 5、退出成績(jī)管理系統(tǒng);</p><p> 再按個(gè)人需求分別進(jìn)入需要的界面。我們用到了switch 函數(shù)語(yǔ)句和if語(yǔ)句和for循環(huán)語(yǔ)句等本學(xué)期學(xué)到的相關(guān)知識(shí)。</p><p><b> 個(gè)人成績(jī)錄入:</b></p><p> 首先,打開(kāi)文件“個(gè)人成績(jī)錄入.dat”如果成功,將輸入學(xué)生姓名,學(xué)號(hào)及語(yǔ)、數(shù)、外
9、,三科成績(jī)錄入到文件當(dāng)中(在錄入學(xué)生信息時(shí),系統(tǒng)調(diào)用函數(shù)”inputsorc()”,將新的學(xué)生信息錄入到文件中。),然后判斷輸入是否結(jié)束,如果沒(méi)有錯(cuò)誤,請(qǐng)繼續(xù)輸入,否則推出錄入模塊。如有錯(cuò)誤,要按照當(dāng)前操作進(jìn)行修正。再依次錄入要輸入的學(xué)生信息,按照之前的操作進(jìn)行。</p><p><b> 修改學(xué)生成績(jī):</b></p><p> 當(dāng)用戶在“學(xué)生個(gè)人信息管理”界面
10、中按“2”進(jìn)入“修改學(xué)生個(gè)人成績(jī)”??梢詫?duì)當(dāng)前已錄入的學(xué)生成績(jī)進(jìn)行修改,在此界面中課選擇“1~3”之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作,并將修改后的信息保存在“學(xué)生個(gè)人成績(jī).dat”中。如果成功,選擇要修改的內(nèi)容和要修改的姓名。(在修改學(xué)生信息時(shí),調(diào)用‘mofsorc()’函數(shù)實(shí)現(xiàn)對(duì)學(xué)生3科成績(jī)的修改)如果學(xué)生存在,則輸入新的信息,并保存在文件中;如果不存在,輸入錯(cuò)誤信息,并選擇要重新修改的內(nèi)容。如果打開(kāi)文件有錯(cuò)誤,輸出錯(cuò)誤信息并推出學(xué)生管
11、理系統(tǒng)。</p><p> 主要功能是用來(lái)修改學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找學(xué)生資料,可以輸入學(xué)生姓名,系統(tǒng)就會(huì)顯示學(xué)生資料和各科成績(jī)等信息,這樣就可以修改學(xué)生的資料,成績(jī)等信息。</p><p><b> 查詢個(gè)人成績(jī):</b></p><p> 用戶在“學(xué)生個(gè)人信息界面”中,按“3”,回車,便可進(jìn)入“查詢個(gè)人成績(jī)”
12、中。在查詢學(xué)生個(gè)人成績(jī)時(shí),可調(diào)用“seasorc()”函數(shù)實(shí)現(xiàn),并按照</p><p><b> 學(xué)生姓名;</b></p><p><b> 學(xué)號(hào);</b></p><p><b> 進(jìn)行查詢。</b></p><p> 如果成功,則選擇學(xué)生的姓名或?qū)W號(hào),則顯示該學(xué)生
13、信息;如果不存在,重新輸入要查詢的內(nèi)容。然后判斷是否繼續(xù)查詢,否則退出模塊。如果打開(kāi)文件有錯(cuò)誤,輸出模塊信息有錯(cuò)誤并退出信息管理器。</p><p> 主要功能是用來(lái)查詢學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找學(xué)生資料,可以輸入學(xué)生姓名,系統(tǒng)就會(huì)顯示學(xué)生資料和各科成績(jī)等信息。</p><p><b> 刪除學(xué)生個(gè)人成績(jī):</b></p>&
14、lt;p> 當(dāng)用戶在“學(xué)生個(gè)人信息管理”界面中按“4”,回車,即可進(jìn)入“刪除個(gè)人信息“。</p><p><b> 即出現(xiàn):</b></p><p> printf("請(qǐng)選擇你的操作選項(xiàng):1.按姓名查找刪除 2.按學(xué)號(hào)查找刪除");</p><p> 在刪除學(xué)生個(gè)人信息時(shí),可調(diào)用“delsorc()”函數(shù),按學(xué)
15、生的姓名字段或?qū)W號(hào)查找要?jiǎng)h除的學(xué)生個(gè)人信息,并將刪除后的信息保存在文件“學(xué)生個(gè)人成績(jī).dat”中。</p><p> 主要功能是用來(lái)刪除學(xué)生資料。在系統(tǒng)保存學(xué)生資料的前提下,想刪除某學(xué)生的資料,可以輸入學(xué)生的姓名,系統(tǒng)查找學(xué)生資料后,就可以刪除了。由于學(xué)生輟學(xué),畢業(yè)等原因,即使對(duì)系統(tǒng)進(jìn)行更新,刪除一些沒(méi)有用的信息,可以使系統(tǒng)更加優(yōu)化。</p><p><b> 退出學(xué)生個(gè)人成
16、績(jī):</b></p><p> 按照當(dāng)前程序輸入的步驟退出該程序。</p><p> 主要功能是在對(duì)系統(tǒng)進(jìn)行一系列操作,比如添加、刪除、修改學(xué)生資料后,對(duì)系統(tǒng)的最新操作進(jìn)行保存,即使更新系統(tǒng),方便下一次的操作。</p><p><b> 五、源程序代碼</b></p><p> /*源程序:學(xué)生成績(jī)管
17、理系統(tǒng)*/</p><p> /**********************************************************************/</p><p> // 學(xué)生學(xué)籍管理系統(tǒng).</p><p> /**************************************************
18、********************/</p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include <string.h></p><p> #include <conio.h></p>
19、;<p> #include <time.h></p><p> #define NAME 20</p><p> #define SEX 10</p><p> #define SORC 3</p><p> #define STUDENTMAX 10000000</p><p>
20、 Struct studentsorc //學(xué)生成績(jī)結(jié)構(gòu)</p><p><b> ?。?lt;/b></p><p> char name[NAME]; //學(xué)生姓名</p><p> int ID; //學(xué)生學(xué)號(hào)</p><p>
21、; float sorc[6]; //記錄學(xué)生成績(jī)</p><p> float aver; //平均分</p><p> float sum; //總分</p><p><b> };</b></p><p>
22、 /**************************學(xué)生個(gè)人成績(jī)管理*******************/</p><p> void sorcmeun (struct allstudentinfo *p_student)</p><p><b> {</b></p><p><b> int in;</b>
23、</p><p><b> char ch;</b></p><p><b> do</b></p><p><b> {</b></p><p> printf("\n\n");</p><p> printf("
24、;\t ---------------------------------------------------------------------\n");</p><p> printf("\t | 學(xué)生個(gè)人成績(jī)管理 |\n");</p><p> printf("\t | ---------
25、------------------------------------------------------------|\n");</p><p> printf("\t | 1、錄入學(xué)生個(gè)人成績(jī) |\n");</p><p> printf("\t | 2、修改學(xué)生個(gè)人成績(jī)
26、 |\n");</p><p> printf("\t | 3、查詢學(xué)生個(gè)人成績(jī) |\n");</p><p> printf("\t | 4、刪除學(xué)生個(gè)人成績(jī) |\n");</p><p> printf
27、("\t | 5、瀏覽所有學(xué)生成績(jī) |\n");</p><p> printf("\t | 6、退出成績(jī)管理系統(tǒng) |\n");</p><p> printf("\t |---------------------------------------
28、------------------------------|\n");</p><p> printf("\t 請(qǐng)您正確的選擇:");</p><p> if (!scanf("%d",&in)==1))</p><p><b> {</b></p><p&
29、gt; while ((ch=getchar())!='\n')</p><p> putchar(ch);</p><p> printf("沒(méi)有此選項(xiàng),請(qǐng)正確選擇!");</p><p><b> getch();</b></p><p><b> contin
30、ue;</b></p><p><b> }</b></p><p> fflush (stdin);</p><p> switch (in)</p><p><b> {</b></p><p> case 1: inputsorc (p_stude
31、nt);</p><p><b> break;</b></p><p> case 2: mofsorc (p_student); </p><p><b> break;</b></p><p> case 3: seasorc (p_student);</p><p
32、><b> break;</b></p><p> case 4: delsorc (p_student);</p><p><b> break;</b></p><p> case 5: return ;</p><p> default: printf("沒(méi)有此選項(xiàng),
33、請(qǐng)正確選擇!");</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> while(l);</b></p><p>
34、<b> }</b></p><p> /*************************個(gè)人成績(jī)錄入************************/</p><p> void inputsorc(struct allstudentinfo *p_student)</p><p><b> {</b><
35、/p><p> int i.count,countinfo;</p><p> char *tempname,ch;</p><p> system("cls");</p><p> if((sorcfile=fopen(filenamel,"a+b"))==NULL)</p><
36、;p><b> {</b></p><p> printf("不能打開(kāi)文件,請(qǐng)確認(rèn)磁盤已滿或文件是否存在");</p><p><b> getch();</b></p><p><b> exit(l);</b></p><p><b&
37、gt; }</b></p><p> rewind(sorcfile);</p><p> for(count=0;ferad(&p_student[count].student1,sizeof(struct studentsorc),1,sorcfile)==1;count++)</p><p><b> {</b>
38、;</p><p><b> countine;</b></p><p><b> }</b></p><p> tempname=(char *)malloc(20*sizeof(char));</p><p> printf("請(qǐng)輸入第%d學(xué)生的姓名:",count+
39、1);</p><p> while (count<STUDENTMAX&&gets(tempname)!=NULL&&tempname[0]!='\0')</p><p><b> {</b></p><p> strcpy(p_student[count].student1.nam
40、e,tempname);</p><p> printf("請(qǐng)輸入該學(xué)生的學(xué)號(hào):");</p><p> scanf("%d",&p_student[count].student1.ID);</p><p> fflush(stdin);</p><p> printf("請(qǐng)輸
41、入該個(gè)學(xué)生的3科成績(jī)\n");</p><p> printf("----------------------------------\n");</p><p> printf("\n語(yǔ)文:");</p><p> scanf("%f",&p_student[count].stude
42、nt1.sorc[0]);</p><p> fflush(stdin);</p><p> printf("\n數(shù)學(xué):");</p><p> scanf("%f",&p_student[count].student1.sorc[0]);</p><p> fflush(stdin);
43、</p><p> printf("\n英語(yǔ):");</p><p> scanf("%f",&p_student[count].student1.sorc[0]);</p><p> fflush(stdin);</p><p> printf("--------------
44、---------------------------\n");</p><p> fwrite(&p_student[count++].student,sizeof(struct studentsorc),1,sorcfile);</p><p> printf("確定要繼續(xù)輸入下一個(gè)學(xué)生的成績(jī)嗎?(y/n)");</p><
45、p> ch=getchar();</p><p> if(ch=='y'||ch=='Y')</p><p><b> {</b></p><p> system ("cls");</p><p> free (tempname);</p>
46、<p> tempname=(char *)malloc(20*sizeof(char));</p><p> printf("請(qǐng)輸入第%d個(gè)學(xué)生的姓名:",count+1);</p><p> countinue;</p><p><b> }</b></p><p><b
47、> else</b></p><p><b> {</b></p><p> system("cls");</p><p> free(tempname);</p><p> fclose(sorcfile);</p><p><b>
48、return;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("輸入有誤請(qǐng)返回重新選擇操作.....!");</p><p> free(tempname);</p><
49、p> fclose(sorcfile);</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p&
50、gt;<p> /*************************修改學(xué)生成績(jī)*********************/</p><p> void mofsorc (struct allstudengtinfo *p_student)</p><p><b> {</b></p><p> int i, j, k
51、, count;</p><p> float sorc;</p><p><b> char ch;</b></p><p> char *tempname;</p><p> count=sorcdatfile(p_student);</p><p> if(!count)</
52、p><p><b> {</b></p><p> printf(“讀取數(shù)據(jù)失敗,請(qǐng)確認(rèn)已成功錄入或文件是否損壞”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return
53、;</b></p><p><b> }</b></p><p> tempname=(char *)malloc(20*sizeof(char));</p><p> printf(“請(qǐng)輸入要修改成績(jī)的學(xué)生姓名:”);</p><p> while(gets(tempname)!=NULL&
54、&tempname[0]!=’\o’)</p><p><b> {</b></p><p> if(strcmp(tempname,p_student[i].student1.name))</p><p><b> {</b></p><p><b> continue;
55、</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf(“請(qǐng)選擇要修改的科目成績(jī):1. 語(yǔ)文 2. 英語(yǔ) 3.數(shù)學(xué)\n”);</p>&l
56、t;p> scanf(“%d”&j);</p><p> fflush(stdin);</p><p><b> if(j==1)</b></p><p><b> {</b></p><p> printf(“請(qǐng)重新輸入%s的語(yǔ)文成績(jī):”,tempname);</p&
57、gt;<p> scanf(“%f”&sorc);</p><p> p_student[i].student1.sorc[0]=sorc;</p><p> fflush(stdin);</p><p> sorcfile=fopen(filenamel,”w+b”); //把修改后的重新寫入文件夾</p>
58、<p> for(k=0;k<count;k++)</p><p><b> {</b></p><p> if(fwrite(&p_student[k].student1,sizeof(struct studentsorc),1,sorcfile)!=1)</p><p><b> {</b&g
59、t;</p><p> free(tempname);</p><p> fclose(sorcfile); //寫入失敗關(guān)閉文件</p><p> printf(“修改失敗,…….!”);</p><p><b> getch();</b></p><
60、;p> system(“cls”);</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> free(tempname);</p><p> fc
61、lose(sorcfile);</p><p> printf(“修改成功,返回…….!”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p>&l
62、t;b> }</b></p><p> else if (j==2)</p><p><b> {</b></p><p> printf(“請(qǐng)重新輸入%s的英語(yǔ)成績(jī):”,tempname);</p><p> scanf(“%f”&sorc);</p><p>
63、; p_student[i].student1.sorc[2]=sorc;</p><p> fflush(stdin);</p><p> sorcfile=fopen(filenamel,”w+b”); //把修改后的重新寫入文件夾</p><p> for(k=0;k<count;k++)</p><p>&l
64、t;b> {</b></p><p> if(fwrite(&p_student[k].student1,sizeof(struct studentsorc),1,sorcfile)!=1)</p><p><b> {</b></p><p> free(tempname);</p><p
65、> fclose(sorcfile); //寫入失敗關(guān)閉文件</p><p> printf(“修改失敗,…….!”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> ret
66、urn;</b></p><p><b> }</b></p><p><b> }</b></p><p> free(tempname);</p><p> fclose(sorcfile);</p><p> printf(“修改成功,返回…….!
67、”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p><b> }</b></p><p> else if (j==3)
68、</p><p><b> {</b></p><p> printf(“請(qǐng)重新輸入%s的數(shù)學(xué)成績(jī):”,tempname);</p><p> scanf(“%f”&sorc);</p><p> p_student[i].student1.sorc[2]=sorc;</p><p&g
69、t; fflush(stdin);</p><p> sorcfile=fopen(filenamel,”w+b”); //把修改后的重新寫入文件夾</p><p> for(k=0;k<count;k++)</p><p><b> {</b></p><p> if(fwrite(&
70、;p_student[k].student1,sizeof(struct studentsorc),1,sorcfile)!=1)</p><p><b> {</b></p><p> free(tempname);</p><p> fclose(sorcfile); //寫入失敗關(guān)閉文件&l
71、t;/p><p> printf(“修改失敗,…….!”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return;</b></p><p><b> }</b>
72、</p><p><b> }</b></p><p> free(tempname);</p><p> fclose(sorcfile);</p><p> printf(“修改成功,返回…….!”);</p><p><b> getch();</b><
73、/p><p> system(“cls”);</p><p><b> return ;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></
74、p><p> printf(“沒(méi)有此科目,返回…….!”);</p><p> free(tempname);</p><p><b> getch()</b></p><p> system(“cls”);</p><p><b> return ;</b></
75、p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf(“沒(méi)有找到%s的學(xué)習(xí)成績(jī),返回…….!”,tempname);</p><p> free(tempnam
76、e);</p><p><b> getch()</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p><b> }</b></p><p> printf(“輸入有誤,返回
77、…….!”,tempname);</p><p> free(tempname);</p><p><b> getch()</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p><b>
78、 }</b></p><p> /*******************查詢個(gè)人成績(jī)*********************/</p><p> void seasorc(struct allstudentinfo *p_student)</p><p><b> {</b></p><p> c
79、har *tempname;</p><p> int tempID,stuID;</p><p> int i,j,cont;</p><p> float sum=0.0,aver;</p><p> count=sorcdatfile(p_student);</p><p> if (!count)&l
80、t;/p><p><b> {</b></p><p> printf("讀取數(shù)據(jù)失敗,請(qǐng)確認(rèn)數(shù)據(jù)是否存在或文件是否損壞");</p><p><b> getch();</b></p><p> system("cls");</p><
81、;p><b> return ;</b></p><p><b> }</b></p><p> printf("請(qǐng)選擇要操作的類型:\n");</p><p> printf("1.按姓名查找 2.按學(xué)號(hào)查找\n");</p><p> sc
82、anf("%d",&tempID);</p><p> fflush(stdin);</p><p> if (tempID==1)</p><p><b> {</b></p><p> tempname=(char *)malloc(20*sizeof(char));</p&
83、gt;<p> printf("請(qǐng)輸入該學(xué)生的姓名:");</p><p> while (gets(tempname)!=NULL&&tempname[0]!='\0')</p><p><b> {</b></p><p> for (i=0;i<count;i
84、++)</p><p><b> {</b></p><p> if (strcmp(tempname,p_student[i].student1.name))</p><p><b> {</b></p><p><b> continue;</b></p>
85、;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> for (j=0;j<3;j++)</p><p><b> {</b></p>
86、<p> sum+=p_student[i].student1.sorc[j]; //計(jì)算總分</p><p><b> }</b></p><p> aver=sum/3.0; //計(jì)算平均分</p><p> printf("%s的學(xué)生成績(jī)表\n&
87、quot;,tempname);</p><p> printf("----------------------------\n");</p><p> printf("\n學(xué)號(hào):%d\n",p_student[i].student1.ID);</p><p> printf("\n姓名:%d\n",
88、p_student[i].student1.name);</p><p> printf("\n語(yǔ)文:%.2f\n",p_student[i].student1.sorc[0]);</p><p> printf("\n數(shù)學(xué):%.2f\n",p_student[i].student1.sorc[1]);</p><p>
89、 printf("\n英語(yǔ):%.2f\n",p_student[i].student1.sorc[2]);</p><p> printf("\n總分:%.2f\n",sum);</p><p> printf("\n平均分:%.2f\n",aver);</p><p> printf("-
90、-------------------------\n");</p><p> printf("查詢完畢,按任意鍵返回!");</p><p> free(tempname);</p><p><b> getch();</b></p><p> system("cls&q
91、uot;);</p><p><b> return ;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("找不到該學(xué)生的成績(jī),返回.......!");</p>&l
92、t;p> free(tempname);</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return ;</b></p><p><b> }</b></p
93、><p> else if (tempID==2)</p><p><b> {</b></p><p> printf("請(qǐng)輸入該學(xué)生的ID學(xué)號(hào):");</p><p> scanf("%d",&stuID);</p><p> fflush
94、(stdin);</p><p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(stuID!=p_student[i].student1.ID)</p><p><b> {</b></p><p>&
95、lt;b> continue;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> for(j=0;j<3;j++)</p><p
96、><b> {</b></p><p> sum+=p_student[i].student1.sorc[j]; //計(jì)算總分</p><p><b> }</b></p><p> aver=sum/3.0; //計(jì)算平均分</p><
97、;p> printf("學(xué)號(hào)為%d的學(xué)生成績(jī)表\n",stuID);</p><p> printf("----------------------------\n");</p><p> printf("\n學(xué)號(hào):%d\n",p_student[i].student1.ID);</p><p>
98、; printf("\n姓名:%d\n",p_student[i].student1.name);</p><p> printf("\n語(yǔ)文:%.2f\n",p_student[i].student1.sorc[0]);</p><p> printf("\n數(shù)學(xué):%.2f\n",p_student[i].student1
99、.sorc[1]);</p><p> printf("\n英語(yǔ):%.2f\n",p_student[i].student1.sorc[2]);</p><p> printf("\n總分:%.2f\n",sum);</p><p> printf("\n平均分:%.2f\n",aver);</
100、p><p> printf("--------------------------\n");</p><p> printf("查詢完畢,按任意鍵返回!");</p><p><b> getch();</b></p><p> system("cls");
101、</p><p><b> return ;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("沒(méi)有找到該學(xué)生的成績(jī),返回.......!");</p><p&g
102、t;<b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p> printf("沒(méi)有此選擇,返回......
103、.!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p>
104、 /*************************刪除學(xué)生成績(jī)************************</p><p> voiddelsorc(struct allstudentinfo *p_student)</p><p><b> {</b></p><p> int in,stuID;</p><
105、;p> int i,count;</p><p><b> char ch;</b></p><p> char *empname;</p><p> count=sorcdatfile(p_student);</p><p> if(!count)</p><p><b&g
106、t; {</b></p><p> printf(“讀取數(shù)據(jù)失?。≌?qǐng)確認(rèn)已成功錄入或文件是否損壞!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> reyurn;</b&
107、gt;</p><p><b> }</b></p><p> printf("請(qǐng)選擇你的操作選項(xiàng):1.按姓名查找刪除 2.按學(xué)號(hào)查找刪除");</p><p> scanf("%d",&in);</p><p> fflush(stdin);</p>
108、<p><b> if(in==1)</b></p><p><b> {</b></p><p> tempname=(char *)malloc(20*sizeof(char));</p><p> printf(*請(qǐng)輸入你要?jiǎng)h除的學(xué)生姓名:");</p><p>
109、 gets(tempname);</p><p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(strcmp(tempname,p_student[i].student1.name))</p><p><b> continue;<
110、;/b></p><p><b> else</b></p><p><b> {</b></p><p> for(;i<count;i++)</p><p><b> {</b></p><p> p_student[i].st
111、udent1=p_student[i+1].student1;</p><p><b> }</b></p><p> --count;//成績(jī)減1</p><p> sorcfile=fopen(filenamel,"w+b");</p><p> for(i=0;i<count;i+
112、+) </p><p><b> {</b></p><p> if(fwrite(&p_student[i].student1,sizeof(structstudentsorc),1,sorcfile)==1)</p><p><b> continue;</b></p><p>&
113、lt;b> else</b></p><p><b> {</b></p><p> printf("刪除失敗...!");</p><p> free(tempname);</p><p> fclose(sorcfile);</p><p>&l
114、t;b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p>
115、<p> printf("刪除成功...!");</p><p> free(tempname);</p><p> fclose(sorcfile);</p><p><b> getch();</b></p><p> system("cls");<
116、/p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("找不到該學(xué)生,返回...!');</p><p> free(tempn
117、ame);</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> } </b></p><p>
118、; else if(in==2)</p><p><b> {</b></p><p> printf(*請(qǐng)輸入你要?jiǎng)h除的學(xué)生學(xué)號(hào) :");</p><p> scanf("%d",&stuID);</p><p> fflush(stdin);</p>&l
119、t;p> for(i=0;i<count;i++)</p><p><b> {</b></p><p> if(stuID!=p_student[i].student1.ID)</p><p><b> continue;</b></p><p><b> else
120、</b></p><p><b> {</b></p><p> for(;i<count;i++)</p><p><b> {</b></p><p> p_student[i].student1=p_student[i+1].student1;</p>
121、<p><b> }</b></p><p><b> --count;</b></p><p> sorcfile=fopen(filenamel,"w+b");</p><p> for(i=0;i<count;i++)</p><p><b&g
122、t; {</b></p><p> if(fwrite(&p_student[i].student1,sizeof(structstudentsorc),l,sorcfile)==1)</p><p><b> continue;</b></p><p><b> else</b></p&
123、gt;<p><b> {</b></p><p> printf(*刪除失敗...!");</p><p> fclose(sorcfile);</p><p><b> getch();</b></p><p> system("cls");
124、</p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf('刪除成功...!");</p><p> fclose(sorc
125、file);</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p><
126、b> }</b></p><p> printf("找不到該學(xué)生,返回...!");</p><p><b> getch(0;</b></p><p> system("cls");</p><p><b> return;</b>
127、;</p><p><b> }</b></p><p> printf("輸入有誤,返回...!");</p><p><b> getch();</b></p><p> system("cls");</p><p><
128、;b> return;</b></p><p><b> }</b></p><p> else if(in==2)</p><p><b> {</b></p><p> printf(“請(qǐng)輸入你要?jiǎng)h除的學(xué)生學(xué)號(hào):”);</p><p> sc
129、anf(“%d”,&stuID);</p><p> fflssh(stdin);</p><p> for(i=0;i<count;i++)</p><p><b> { </b></p><p> if(stuID!=p_student[i].student1.ID)</p>&l
130、t;p> countinue;</p><p><b> else</b></p><p><b> {</b></p><p> for(;i<count;i++)</p><p><b> {</b></p><p> P_s
131、tudent[i].studen1=p_student[i+1].student1;</p><p><b> }</b></p><p><b> --count;</b></p><p> Sorcfile=fopen(filename,”w+b”);</p><p> for(i=0;
132、i<count;i++)</p><p><b> {</b></p><p> if(fwrite(&p_student[i].student1,sizeof(struct studentsorc),1,sorcfile)==1)</p><p> countinue;</p><p><b
133、> else</b></p><p><b> {</b></p><p> printf(“刪除失敗….”);</p><p> fclose(sorcfile);</p><p><b> getch();</b></p><p> syst
134、em(“cls”);</p><p><b> return ;</b></p><p><b> }</b></p><p><b> }</b></p><p> printf(“刪除成功……”);</p><p> fclose(sorc
135、file);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p><b> }</b></p><p><b> }&
136、lt;/b></p><p> printf(“找不到該學(xué)生,返回…..!”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p><b&
137、gt; }</b></p><p> printf(“輸入有誤,返回…….!”);</p><p><b> getch();</b></p><p> system(“cls”);</p><p><b> return ;</b></p><p>&
138、lt;b> }</b></p><p> /*******************顯示模塊****************/</p><p> void fun()</p><p><b> {</b></p><p> printf("\t\t*******************
139、***********************\n");</p><p> printf("\t\t* *\n");</p><p> printf("\t\t* 謝 謝 使 用 ! *\n");</p>
140、<p> printf("\t\t* *\n");</p><p> printf("\t\t* 制作人:xxxxxxx *\n");</p><p> printf("\t\t*
141、 *\n");</p><p> printf("\t\t* *\n");</p><p> printf("\t\t******************************************\n&qu
142、ot;);</p><p><b> }</b></p><p><b> 六、運(yùn)行結(jié)果</b></p><p><b> 八、參考文獻(xiàn)</b></p><p><b> 1、參考書籍</b></p><p> 總策劃 北
143、京科海。C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與項(xiàng)目實(shí)訓(xùn)。中國(guó)人民大學(xué)出版社。</p><p> 主編 沈大林。 C語(yǔ)言程序設(shè)計(jì)案例教程。中國(guó)鐵道出版社。</p><p> 那俊著 C語(yǔ)言程序設(shè)計(jì)案例實(shí)踐 清華大學(xué)出版社。</p><p><b> 2、網(wǎng)上查詢</b></p><p> http://zhidao.
144、baidu.com/question/57830198.html?an=3&si=5</p><p> http://zhidao.baidu.com/question/164766285.html?an=1&si=4</p><p> http://zhidao.baidu.com/question/102065121.html?an=1&si=5</p
145、><p><b> 結(jié)束語(yǔ)</b></p><p> 接到C語(yǔ)言課程設(shè)計(jì)的作業(yè)我十分高興,終于學(xué)到的東西可以運(yùn)用了。在老師的指導(dǎo)和大家的共同努力下,我們終于完成了程序的大體編制。程序中包括主函數(shù)、輸入模塊、查詢模塊、修改模塊、刪除模塊、統(tǒng)計(jì)模塊、輸出模塊、追加模塊。其中在輸入模塊中指針文件運(yùn)用的比較好,因?yàn)橹羔樖荂的一個(gè)特色,它能有效的表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),動(dòng)態(tài)的分配內(nèi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)----學(xué)生成績(jī)管理系統(tǒng)
- 學(xué)生成績(jī)管理系統(tǒng)c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)——學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--- 學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- c++課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與管理
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
- c&c++課程設(shè)計(jì)-學(xué)生成績(jī)管理系統(tǒng)
- c++程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績(jī)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論