版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p> 課程設(shè)計名稱: C語言程序設(shè)計 </p><p> 專 業(yè) 班 級 : xxxxxxxxxxxxxxxxx </p><p> 學(xué) 生 姓 名 : xxxxxx __</p><p> 學(xué)
2、 號 : xxxxxxx _ </p><p> 指 導(dǎo) 教 師 : _</p><p> 課程設(shè)計時間: 2011年12月 _</p><p> 計算機(jī)科學(xué)與技術(shù) 專業(yè)課程設(shè)計任務(wù)書</p><p> C語言程序設(shè)計實驗報告</p><p>
3、;<b> 一、需求分析</b></p><p> 隨著計算機(jī)的飛速發(fā)展,它的應(yīng)用已經(jīng)十分廣泛,它在人們的生產(chǎn)、生活、工作和學(xué)習(xí)中發(fā)揮著重要的作用。例如一個高等教育的學(xué)校,擁有數(shù)千名乃至數(shù)萬名的學(xué)生,那么如何管理這么龐大的學(xué)生成績檔案呢?這時,開發(fā)一個功能完善的學(xué)生成績管理系統(tǒng)就必不可少了。從學(xué)生的成績的查詢到管理實現(xiàn)了自動化的模式,從而提高了老師的工作效率和減少工作中的出錯率,對學(xué)校的
4、學(xué)生管理更加方便。</p><p> 本系統(tǒng)根據(jù)學(xué)生成績管理的需要,而建立一個“學(xué)生成績管理系統(tǒng)”,一方便對成績各項管理操作。本系統(tǒng)能對成績進(jìn)行輸入和輸出:能按姓名對學(xué)生進(jìn)行排序,并顯示學(xué)生的資料、成績等,不過得以系統(tǒng)輸入學(xué)生資料、成績?yōu)榍疤?;能添加學(xué)生成績資料;能根據(jù)學(xué)生的姓名來查詢該學(xué)生的成績資料,并修改或是刪除該學(xué)生信息;能夠從文件中讀取學(xué)生信息,并且添加到系統(tǒng)中;能把對系統(tǒng)鎖進(jìn)行的操作進(jìn)行保存,及時更新
5、系統(tǒng)中的數(shù)據(jù)。</p><p><b> 二、人員分工</b></p><p><b> 三、運行環(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è)計</b></p><p> 在我們設(shè)計的程序中:</p><p> 包括了個人成績錄入,修改學(xué)生成績,查詢個人成績
7、,刪除個人成績,四大模塊組成。本系統(tǒng)定義了結(jié)構(gòu)體 allstudentinfo,用于存放學(xué)生的基本信息和成績管理信息。進(jìn)入該程序后會看到總的頁面菜單,包括</p><p> 1、錄入學(xué)生個人成績 ;</p><p> 2、修改學(xué)生個人成績;</p><p> 3、查詢學(xué)生個人成績;</p><p> 4、刪除學(xué)生個人成績;</p
8、><p> 5、退出成績管理系統(tǒng);</p><p> 再按個人需求分別進(jìn)入需要的界面。我們用到了switch 函數(shù)語句和if語句和for循環(huán)語句等本學(xué)期學(xué)到的相關(guān)知識。</p><p><b> 個人成績錄入:</b></p><p> 首先,打開文件“個人成績錄入.dat”如果成功,將輸入學(xué)生姓名,學(xué)號及語、數(shù)、外
9、,三科成績錄入到文件當(dāng)中(在錄入學(xué)生信息時,系統(tǒng)調(diào)用函數(shù)”inputsorc()”,將新的學(xué)生信息錄入到文件中。),然后判斷輸入是否結(jié)束,如果沒有錯誤,請繼續(xù)輸入,否則推出錄入模塊。如有錯誤,要按照當(dāng)前操作進(jìn)行修正。再依次錄入要輸入的學(xué)生信息,按照之前的操作進(jìn)行。</p><p><b> 修改學(xué)生成績:</b></p><p> 當(dāng)用戶在“學(xué)生個人信息管理”界面
10、中按“2”進(jìn)入“修改學(xué)生個人成績”??梢詫Ξ?dāng)前已錄入的學(xué)生成績進(jìn)行修改,在此界面中課選擇“1~3”之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作,并將修改后的信息保存在“學(xué)生個人成績.dat”中。如果成功,選擇要修改的內(nèi)容和要修改的姓名。(在修改學(xué)生信息時,調(diào)用‘mofsorc()’函數(shù)實現(xiàn)對學(xué)生3科成績的修改)如果學(xué)生存在,則輸入新的信息,并保存在文件中;如果不存在,輸入錯誤信息,并選擇要重新修改的內(nèi)容。如果打開文件有錯誤,輸出錯誤信息并推出學(xué)生管
11、理系統(tǒng)。</p><p> 主要功能是用來修改學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找學(xué)生資料,可以輸入學(xué)生姓名,系統(tǒng)就會顯示學(xué)生資料和各科成績等信息,這樣就可以修改學(xué)生的資料,成績等信息。</p><p><b> 查詢個人成績:</b></p><p> 用戶在“學(xué)生個人信息界面”中,按“3”,回車,便可進(jìn)入“查詢個人成績”
12、中。在查詢學(xué)生個人成績時,可調(diào)用“seasorc()”函數(shù)實現(xiàn),并按照</p><p><b> 學(xué)生姓名;</b></p><p><b> 學(xué)號;</b></p><p><b> 進(jìn)行查詢。</b></p><p> 如果成功,則選擇學(xué)生的姓名或?qū)W號,則顯示該學(xué)生
13、信息;如果不存在,重新輸入要查詢的內(nèi)容。然后判斷是否繼續(xù)查詢,否則退出模塊。如果打開文件有錯誤,輸出模塊信息有錯誤并退出信息管理器。</p><p> 主要功能是用來查詢學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找學(xué)生資料,可以輸入學(xué)生姓名,系統(tǒng)就會顯示學(xué)生資料和各科成績等信息。</p><p><b> 刪除學(xué)生個人成績:</b></p>&
14、lt;p> 當(dāng)用戶在“學(xué)生個人信息管理”界面中按“4”,回車,即可進(jìn)入“刪除個人信息“。</p><p><b> 即出現(xiàn):</b></p><p> printf("請選擇你的操作選項:1.按姓名查找刪除 2.按學(xué)號查找刪除");</p><p> 在刪除學(xué)生個人信息時,可調(diào)用“delsorc()”函數(shù),按學(xué)
15、生的姓名字段或?qū)W號查找要刪除的學(xué)生個人信息,并將刪除后的信息保存在文件“學(xué)生個人成績.dat”中。</p><p> 主要功能是用來刪除學(xué)生資料。在系統(tǒng)保存學(xué)生資料的前提下,想刪除某學(xué)生的資料,可以輸入學(xué)生的姓名,系統(tǒng)查找學(xué)生資料后,就可以刪除了。由于學(xué)生輟學(xué),畢業(yè)等原因,即使對系統(tǒng)進(jìn)行更新,刪除一些沒有用的信息,可以使系統(tǒng)更加優(yōu)化。</p><p><b> 退出學(xué)生個人成
16、績:</b></p><p> 按照當(dāng)前程序輸入的步驟退出該程序。</p><p> 主要功能是在對系統(tǒng)進(jìn)行一系列操作,比如添加、刪除、修改學(xué)生資料后,對系統(tǒng)的最新操作進(jìn)行保存,即使更新系統(tǒng),方便下一次的操作。</p><p><b> 五、源程序代碼</b></p><p> /*源程序:學(xué)生成績管
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é)生成績結(jié)構(gòu)</p><p><b> {</b></p><p> char name[NAME]; //學(xué)生姓名</p><p> int ID; //學(xué)生學(xué)號</p><p>
21、; float sorc[6]; //記錄學(xué)生成績</p><p> float aver; //平均分</p><p> float sum; //總分</p><p><b> };</b></p><p>
22、 /**************************學(xué)生個人成績管理*******************/</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é)生個人成績管理 |\n");</p><p> printf("\t | ---------
25、------------------------------------------------------------|\n");</p><p> printf("\t | 1、錄入學(xué)生個人成績 |\n");</p><p> printf("\t | 2、修改學(xué)生個人成績
26、 |\n");</p><p> printf("\t | 3、查詢學(xué)生個人成績 |\n");</p><p> printf("\t | 4、刪除學(xué)生個人成績 |\n");</p><p> printf
27、("\t | 5、瀏覽所有學(xué)生成績 |\n");</p><p> printf("\t | 6、退出成績管理系統(tǒng) |\n");</p><p> printf("\t |---------------------------------------
28、------------------------------|\n");</p><p> printf("\t 請您正確的選擇:");</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("沒有此選項,請正確選擇!");</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("沒有此選項,
33、請正確選擇!");</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> /*************************個人成績錄入************************/</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("不能打開文件,請確認(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("請輸入第%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("請輸入該學(xué)生的學(xué)號:");</p><p> scanf("%d",&p_student[count].student1.ID);</p><p> fflush(stdin);</p><p> printf("請輸
41、入該個學(xué)生的3科成績\n");</p><p> printf("----------------------------------\n");</p><p> printf("\n語文:");</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英語:");</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ù)輸入下一個學(xué)生的成績嗎?(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("請輸入第%d個學(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("輸入有誤請返回重新選擇操作.....!");</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é)生成績*********************/</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ù)失敗,請確認(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(“請輸入要修改成績的學(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(“請選擇要修改的科目成績:1. 語文 2. 英語 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(“請重新輸入%s的語文成績:”,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(“請重新輸入%s的英語成績:”,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(“請重新輸入%s的數(shù)學(xué)成績:”,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(“沒有此科目,返回…….!”);</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(“沒有找到%s的學(xué)習(xí)成績,返回…….!”,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> /*******************查詢個人成績*********************/</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ù)失敗,請確認(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("請選擇要操作的類型:\n");</p><p> printf("1.按姓名查找 2.按學(xué)號查找\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("請輸入該學(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]; //計算總分</p><p><b> }</b></p><p> aver=sum/3.0; //計算平均分</p><p> printf("%s的學(xué)生成績表\n&
87、quot;,tempname);</p><p> printf("----------------------------\n");</p><p> printf("\n學(xué)號:%d\n",p_student[i].student1.ID);</p><p> printf("\n姓名:%d\n",
88、p_student[i].student1.name);</p><p> printf("\n語文:%.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英語:%.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é)生的成績,返回.......!");</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("請輸入該學(xué)生的ID學(xué)號:");</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]; //計算總分</p><p><b> }</b></p><p> aver=sum/3.0; //計算平均分</p><
97、;p> printf("學(xué)號為%d的學(xué)生成績表\n",stuID);</p><p> printf("----------------------------\n");</p><p> printf("\n學(xué)號:%d\n",p_student[i].student1.ID);</p><p>
98、; printf("\n姓名:%d\n",p_student[i].student1.name);</p><p> printf("\n語文:%.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英語:%.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("沒有找到該學(xué)生的成績,返回.......!");</p><p&g
102、t;<b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p> printf("沒有此選擇,返回......
103、.!");</p><p><b> getch();</b></p><p> system("cls");</p><p><b> return;</b></p><p><b> }</b></p><p>
104、 /*************************刪除學(xué)生成績************************</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ù)失敗!請確認(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("請選擇你的操作選項:1.按姓名查找刪除 2.按學(xué)號查找刪除");</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(*請輸入你要刪除的學(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;//成績減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(*請輸入你要刪除的學(xué)生學(xué)號 :");</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(“請輸入你要刪除的學(xué)生學(xué)號:”);</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> ?。?lt;/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> 六、運行結(jié)果</b></p><p><b> 八、參考文獻(xiàn)</b></p><p><b> 1、參考書籍</b></p><p> 總策劃 北
143、京科海。C語言程序設(shè)計基礎(chǔ)與項目實訓(xùn)。中國人民大學(xué)出版社。</p><p> 主編 沈大林。 C語言程序設(shè)計案例教程。中國鐵道出版社。</p><p> 那俊著 C語言程序設(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é)束語</b></p><p> 接到C語言課程設(shè)計的作業(yè)我十分高興,終于學(xué)到的東西可以運用了。在老師的指導(dǎo)和大家的共同努力下,我們終于完成了程序的大體編制。程序中包括主函數(shù)、輸入模塊、查詢模塊、修改模塊、刪除模塊、統(tǒng)計模塊、輸出模塊、追加模塊。其中在輸入模塊中指針文件運用的比較好,因為指針是C的一個特色,它能有效的表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),動態(tài)的分配內(nèi)
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計----學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)c++課程設(shè)計
- c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計——學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--- 學(xué)生成績管理系統(tǒng)設(shè)計
- c++課程設(shè)計--學(xué)生成績管理
- c++課程設(shè)計--學(xué)生成績管理
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++學(xué)生成績管理系統(tǒng)課程設(shè)計報告
- c++課程設(shè)計報告--學(xué)生成績管理系統(tǒng)
- c++課程設(shè)計--學(xué)生成績管理系統(tǒng)設(shè)計與管理
- c++程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
- c&c++課程設(shè)計-學(xué)生成績管理系統(tǒng)
- c++程序設(shè)計課程設(shè)計---學(xué)生成績管理系統(tǒng)
評論
0/150
提交評論