版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 計(jì)算機(jī)程序設(shè)計(jì)(C語言)</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題目:學(xué)生信息管理系統(tǒng)</p><p><b> 學(xué)院:基礎(chǔ)科學(xué)學(xué)院</b></p><p><b> 專業(yè):統(tǒng)計(jì)學(xué)</b></p><
2、p><b> 班級(jí): </b></p><p><b> 姓名: </b></p><p><b> 指導(dǎo)教師: </b></p><p> 設(shè)計(jì)日期:2013.7.11</p><p> 題目:學(xué)生信息管理系統(tǒng) </p><p><
3、;b> 一、選題背景:</b></p><p> 學(xué)生信息檔案的管理對(duì)于學(xué)校的管理者來說至關(guān)重要,學(xué)生信息是高等學(xué)校非常重要的一項(xiàng)數(shù)據(jù)資源,是一個(gè)教育單位不可缺少一部分。特別是近幾年來,國(guó)家政策的調(diào)整,我國(guó)高等院校大規(guī)模的擴(kuò)招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時(shí)更新,故較為復(fù)雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工
4、管理方式既不易于規(guī)范化,管理效率也不高,目前我國(guó)各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,尤其是中、小學(xué)對(duì)學(xué)生檔案的管理更是落后,這樣的管理機(jī)制已經(jīng)不能適應(yīng)時(shí)代發(fā)展的要求,其管理方法將浪費(fèi)許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)與技術(shù)日漸成熟,計(jì)算機(jī)應(yīng)用的普及已進(jìn)入人類社會(huì)生活的各個(gè)領(lǐng)域,并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被以計(jì)算機(jī)為物質(zhì)基礎(chǔ)的信息管理方法所取代。</p>
5、<p><b> 二、設(shè)計(jì)思想:</b></p><p> 設(shè)計(jì)總體功能應(yīng)有6大模塊:</p><p> 信息錄入模塊 : 用來錄入學(xué)生信息</p><p> 信息修改模塊 : 用來修改學(xué)生信息</p><p> 信息查找模塊 : 用來查找學(xué)生信息</p><
6、;p> 信息刪除模塊 : 用來刪除學(xué)生信息</p><p> 信息清空模塊 : 用來清空學(xué)生信息</p><p> 信息顯示模塊 : 用來顯示學(xué)生信息</p><p> 三、主要解決問題的方法及技術(shù)關(guān)鍵</p><p><b> 主要問題及解決方法</b></p>&
7、lt;p> 1.通過switch語句直接處理多分支選擇結(jié)構(gòu)(開關(guān)選擇結(jié)構(gòu))</p><p> switch (表達(dá)式)</p><p><b> {</b></p><p> case 常量表達(dá)式1: 語句組1</p><p> case常量表達(dá)式 2:語句組2</p><p>
8、; ...................</p><p> case常量表達(dá)式n: 語句組n</p><p> default: 語句組n+1</p><p><b> }</b></p><p><b> 2.結(jié)構(gòu)體類型</b></p&g
9、t;<p><b> 其成員均為字符數(shù)組</b></p><p><b> 3.字符數(shù)組</b></p><p> 4.在c語言中,對(duì)普通文件的操作,都是通過文件指針來進(jìn)行的</p><p> 5.feof(fp)是判斷文件尾的函數(shù)</p><p> 本程序中從文件中讀取數(shù)據(jù)
10、,使用的是while(!feof(fp))語句,其含義是讀取文件中的內(nèi)容指導(dǎo)文件尾</p><p> 6..fwrite()函數(shù)</p><p> 本程序是按數(shù)據(jù)塊讀寫文件,也是一次讀寫一組數(shù)據(jù)</p><p> 返回值:如果操作成功,返回實(shí)際的所寫的數(shù)據(jù);如果文件結(jié)束或操作中有錯(cuò),則返回0</p><p> 7.函數(shù)名: fflus
11、h</p><p> 功 能: 清除文件緩沖區(qū),文件以寫方式打開時(shí)將緩沖區(qū)內(nèi)容寫入文件</p><p> 頭文件:<stdio.h></p><p> 原型:int fflush(FILE *stream)</p><p> fflush(stdin)刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄[非標(biāo)準(zhǔn)]</p>
12、;<p> 8.對(duì)學(xué)生信息的刪除時(shí)用到了字符串比較函數(shù)</p><p><b> 技術(shù)關(guān)鍵</b></p><p> 1.打開文件,對(duì)數(shù)據(jù)的保存,清空數(shù)據(jù)</p><p><b> 2.對(duì)文件的讀寫</b></p><p><b> 四、程序流程圖</b>
13、;</p><p> 各模塊程序流程圖設(shè)計(jì)</p><p> 顯示全部信息修改學(xué)生信息</p><p><b> 刪除信息</b></p><p> 查詢學(xué)生信息 五、程序清單:</p><p> #include <stdio.h></p><p>
14、 #include <conio.h></p><p> #include <string.h></p><p> #include <stdlib.h></p><p> void exchange();</p><p> void type(); /*輸入函數(shù)*/</p><
15、;p> void save(); /*保存函數(shù)*/</p><p> void clear();</p><p> void find_by_name();/*通過姓名查找*/</p><p> void find_by_numble();/*通過學(xué)號(hào)*/</p><p> void dele();/*刪除函數(shù)*/</p
16、><p> int openfile();/*打開文件*/</p><p> void open_and_see();/*打開并查看文件*/</p><p> struct student</p><p><b> {</b></p><p> char num[20];/*學(xué)號(hào)*/<
17、/p><p> char name[20];/*姓名*/</p><p> char sex[10];/*性別*/</p><p> char age[5];/*年齡*/</p><p> char birthday[15];/**/</p><p> char QQ[12];/*QQ*/</p>
18、<p> char telephone[15];/*電話*/</p><p> char address[100];/*地址*/</p><p> }stu[100];</p><p> int n=0;//全局變量</p><p> void main()</p><p><b>
19、{</b></p><p> int b,flag=0;</p><p> system("color 1f");/*修改控制臺(tái)的顏色信息,改為白字藍(lán)底的模式*/</p><p> while(1)/*菜單*/</p><p><b> {</b></p><p
20、> printf("\n\t\t\t歡迎進(jìn)入學(xué)生信息管理系統(tǒng)!\n");</p><p> printf("\n--------------------------------------------------------------------------------");</p><p> printf("--------
21、------------------------------------------------------------------------");</p><p> printf("\n\t\t\t 1.錄入學(xué)生信息。");</p><p> printf("\n\t\t\t 2.修改學(xué)生的信息。");</p>
22、<p> printf("\n\t\t\t 3.按姓名查看學(xué)生信息");</p><p> printf("\n\t\t\t 4.按學(xué)號(hào)查看學(xué)生信息");</p><p> printf("\n\t\t\t 5.刪除學(xué)生信息");</p><p> printf("
23、\n\t\t\t 6.打開這個(gè)文件");</p><p> printf("\n\t\t\t 7.清空所有信息");</p><p> printf("\n\t\t\t 8.退出");</p><p> printf("\n\n-------------------------------
24、-------------------------------------------------");</p><p> printf("--------------------------------------------------------------------------------\n");</p><p> printf("\
25、n\n\t\t\t 請(qǐng)選擇你要做的操作:");</p><p> scanf ("%d",&b);</p><p> printf("\n\n");</p><p><b> switch(b)</b></p><p><b> {</
26、b></p><p> case 1: type();break;/*錄入學(xué)生信息函數(shù)。*/</p><p> case 2: exchange();break;</p><p> case 3: find_by_name();break;</p><p> case 4: find_by_numble();break;<
27、/p><p> case 5: dele();break;</p><p> case 6: open_and_see();break;</p><p> case 7: clear();break;</p><p> case 8: flag=1;break;</p><p> default: printf(
28、"\n\n\t\t\t輸入錯(cuò)誤,請(qǐng)重新輸入!\n");</p><p><b> }</b></p><p> if(flag) break;</p><p><b> }</b></p><p><b> }</b></p><
29、p> /*學(xué)生信息錄入模塊*/</p><p> void type()</p><p><b> {</b></p><p><b> int i;</b></p><p> printf("\t\t\t 請(qǐng)輸入學(xué)生人數(shù):");</p>&l
30、t;p> scanf("%d",&n);</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> printf("\t\t\t-------------------------------------\n");</p&g
31、t;<p> printf("\t\t\t請(qǐng)輸入姓名:");</p><p> scanf("%s",&stu[i].name);</p><p> printf("\t\t\t請(qǐng)輸入學(xué)號(hào):");</p><p> scanf("%s",&stu[i
32、].num);</p><p> printf("\t\t\t請(qǐng)輸入性別:");</p><p> scanf("%s",&stu[i].sex);</p><p> printf("\t\t\t請(qǐng)輸入年齡:");</p><p> scanf("%s&qu
33、ot;,&stu[i].age);</p><p> printf("\t\t\t請(qǐng)輸入生日:");</p><p> scanf("%s",&stu[i].birthday);</p><p> printf("\t\t\t請(qǐng)輸入QQ號(hào):");</p><p>
34、; scanf("%s",&stu[i].QQ);</p><p> printf("\t\t\t請(qǐng)輸入電話:");</p><p> scanf("%s",&stu[i].telephone);</p><p> printf("\t\t\t請(qǐng)輸入地址:");&
35、lt;/p><p> scanf("%s",&stu[i].address);</p><p><b> }</b></p><p> printf("\n\t\t\t按任意鍵返回:");</p><p> getch();/*控制臺(tái)(鍵盤),獲取一個(gè)字符,有些編譯環(huán)境
36、會(huì)在程序運(yùn)行結(jié)束自動(dòng)退出,出現(xiàn)運(yùn)行程序的時(shí)候屏幕一閃就消失的現(xiàn)象,程序結(jié)尾加上getch( )讓程序運(yùn)行窗口停留顯示輸入字符后退出</p><p><b> */</b></p><p><b> save();</b></p><p><b> }</b></p><p&g
37、t; /*把信息保存為文件到磁盤模塊*/</p><p> void save()</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p><b> int i,j;</b></p><p>
38、 char chose;</p><p> for(j=1;j<20;j++)</p><p><b> {</b></p><p> printf("\n\t\t\t確實(shí)要進(jìn)行以上操作?yes or no\n");</p><p> printf("\n\n\t\t\t\t
39、Y\tN\n\n\t\t\t\t ");</p><p> scanf("%s",&chose);</p><p> if(chose=='y'||chose=='Y')</p><p><b> {</b></p><p><b>
40、; j=30;</b></p><p> if((fp=fopen("d:\\studentinfo.txt","a+"))==NULL)</p><p><b> {</b></p><p> printf("\n\n\t\t\t\t文件打開錯(cuò)誤!\n\n\t\t\t\t按
41、任意鍵返回菜單");</p><p><b> getch();</b></p><p><b> return;</b></p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p>
42、; if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p><p> printf("\n\n\t\t\t\t文件寫入錯(cuò)誤!\n");</p><p> fclose(fp);</p><p> printf("\n\n\n\t\t\t\t操作成功!");&
43、lt;/p><p> printf("\n\n\t\t\t 按任意鍵返回菜單\n\n\t\t\t\t ");</p><p><b> getch();</b></p><p><b> }</b></p><p> if(chose=='n'||c
44、hose=='N')</p><p><b> {</b></p><p><b> j=30;</b></p><p> printf("\n\n\t\t\t\t操作已取消\n");</p><p> printf("\n\n\t\t\t
45、 按任意鍵返回菜單\n\n");</p><p><b> getch();</b></p><p><b> }</b></p><p> if(chose!='n'&&chose!='N'&&chose!='y'&&
46、amp;chose!='Y')</p><p><b> {</b></p><p> printf("\n\n\t\t\t\t輸入錯(cuò)誤!\n");</p><p> printf("\n\t\t\t\t請(qǐng)重新選擇:\n");</p><p><b>
47、; }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*打開文件函數(shù)模塊*/</p><p> int openfile() </p><p><b> {</b><
48、;/p><p><b> int i=0;</b></p><p><b> FILE *fp;</b></p><p> if((fp=fopen("d:\\studentinfo.txt","r+"))==NULL)</p><p><b>
49、 {</b></p><p> printf("\n\t\t\t\t不能打開文件!\n\n\t\t\t 按任意鍵返回菜單");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p> re
50、turn -1;</p><p><b> }</b></p><p> for(i=0;!feof(fp);i++)</p><p> fread(&stu[i],sizeof(struct student),1,fp);</p><p> fclose(fp);</p><p>
51、; return(i-1);</p><p><b> }</b></p><p> /*查看學(xué)生信息模塊*/ /*查看文件中所有的學(xué)生信息模塊*/</p><p> void open_and_see()</p><p><b> {</b&g
52、t;</p><p><b> int i=0;</b></p><p><b> FILE *fp;</b></p><p> if((fp=fopen("d:\\studentinfo.txt","r"))==NULL)</p><p><b&
53、gt; {</b></p><p> printf("\n\t\t\t\t不能打開文件!\n\n\t\t\t 按任意鍵返回菜單");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p>
54、<b> return;</b></p><p> } printf("\n 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p><p> printf("---------------------------------------
55、-----------------------------------------\n");</p><p> for(i=0;!feof(fp);i++)</p><p><b> {</b></p><p> stu[i]=stu[150];//先將內(nèi)存中存在的數(shù)據(jù)清空。在讀。</p><p> f
56、seek(fp,i*sizeof(struct student),SEEK_SET);</p><p> fread(&stu[i],sizeof(struct student),1,fp);</p><p> printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[
57、i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b> }</b></p><p> fclose(fp);</p><p> printf("\n\n\n\t\t\t 按任意鍵返回菜單:"
58、);</p><p><b> getch();</b></p><p> printf("\n\n");</p><p><b> }</b></p><p> /*刪除學(xué)生信息模塊*/</p><p> void dele() </p&
59、gt;<p><b> {</b></p><p><b> FILE *fp;</b></p><p> char chose;</p><p><b> int i,j;</b></p><p><b> char a;</b>
60、</p><p> char name[20];</p><p> system("color 1f");</p><p> n=openfile();</p><p> printf("\n\t\t\t 輸入要?jiǎng)h除學(xué)生名字:");</p><p> scanf(&q
61、uot;%s",name);</p><p> printf("\n 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p><p> printf("------------------------------------------------------
62、--------------------------\n");</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(stu[i].name,name)==0)</p><p> break; //注意如果沒有break最后i的值將是10</p><p> printf("
63、 %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b> if(i==n)</b></p><p>&
64、lt;b> {</b></p><p> printf("\n\n\t\t\t\t沒有此人\n\n\t\t\t 按任意鍵返回菜單");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p&g
65、t;<b> return;</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("\n\n\t\t\t 這是第%d個(gè)學(xué)生",i+1);</p><p> printf(&
66、quot;\n\n\t\t\t是否確定刪除?是就輸入Y\n\n\t\t\t\t ");</p><p> fflush(stdin);</p><p> scanf("%c",&a);</p><p> if(a=='y'||a=='Y')</p><p> f
67、or(;i<n;i++)</p><p> stu[i]=stu[i+1];//后面的值一個(gè)一個(gè)覆蓋前面的值</p><p> printf("\n\n\t\t\t\t刪除成功!\n");</p><p><b> n=n-1;</b></p><p> fflush(stdin);&l
68、t;/p><p> for(j=1;j<20;j++)</p><p><b> {</b></p><p> printf("\n\t\t\t確實(shí)要進(jìn)行以上操作?yes or no\n");</p><p> printf("\n\n\t\t\t\tY\tN\n\n\t\t\t\
69、t ");</p><p> scanf("%c",&chose);</p><p> if(chose=='y'||chose=='Y')</p><p><b> {</b></p><p><b> j=30;</b&
70、gt;</p><p> fp=fopen("d:\\studentinfo.txt","w");//一定要先打開文件。</p><p> for(i=0;i<n;i++)</p><p> if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p&g
71、t;<p> printf("\n\n\t\t\t\t文件寫入錯(cuò)誤!\n");</p><p> fclose(fp);</p><p> printf("\n\n\n\t\t\t\t操作成功!");</p><p> printf("\n\n\t\t\t 按任意鍵返回菜單:")
72、;</p><p> printf("\n\n");</p><p><b> getch();</b></p><p><b> }</b></p><p> if(chose=='n'||chose=='N')</p>&
73、lt;p><b> {</b></p><p><b> j=30;</b></p><p> printf("\n\n\t\t\t\t操作已取消\n");</p><p> printf("\n\n\t\t\t 按任意鍵返回菜單:");</p>&
74、lt;p><b> getch();</b></p><p> printf("\n\n");</p><p><b> }</b></p><p> if(chose!='n'&&chose!='N'&&chose!=
75、9;y'&&chose!='Y')</p><p><b> {</b></p><p> printf("\n\n\t\t\t\t輸入錯(cuò)誤!\n");</p><p> printf("\n\t\t\t\t請(qǐng)重新選擇:\n");</p><
76、;p><b> }</b></p><p><b> }}</b></p><p> /*按姓名查找模塊*/</p><p> void find_by_name()</p><p><b> {</b></p><p> int
77、i,m=0;</p><p> char name[20];</p><p> n=openfile();</p><p> printf("\n\t\t\t 輸入要查找學(xué)生名字:");</p><p> scanf("%s",name);</p><p> prin
78、tf("\n--------------------------------------------------------------------------------\n\n");</p><p> printf(" 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p&g
79、t;<p> printf("--------------------------------------------------------------------------------\n");</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(stu[i].name,name)==0)</p
80、><p><b> {</b></p><p><b> m++;</b></p><p> printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birth
81、day,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b> } </b></p><p><b> if(m==0)</b></p><p> printf("\n\t\t\t\t沒有這人!");</p><p
82、> printf("\n\n\t\t\t 按任意鍵退出:");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p><b> }</b></p><p> /*按學(xué)號(hào)查查模
83、塊*/</p><p> void find_by_numble()</p><p><b> {</b></p><p> int i,m=0;</p><p> char num[20];</p><p> n=openfile();</p><p> pr
84、intf("\n\t\t\t 輸入要查找學(xué)生學(xué)號(hào):");</p><p> scanf("%s",&num);</p><p> printf("\n--------------------------------------------------------------------------------\n\n"
85、;);</p><p> printf(" 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p><p> printf("------------------------------------------------------------------------
86、-------\n");</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(stu[i].num,num)==0)</p><p><b> {</b></p><p><b> m++;</b></p><p>
87、; printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b> } </b></p&
88、gt;<p><b> if(m==0)</b></p><p> printf("\n\t\t\t\t沒有這人!");</p><p> printf("\n\n\t\t\t 按任意鍵退出:");</p><p><b> getch();</b><
89、;/p><p> printf("\n\n");}</p><p> /*按學(xué)號(hào)排序查看模塊*/</p><p> void find_by_paixu ()</p><p><b> {</b></p><p><b> int i,j;</b>&
90、lt;/p><p> n=openfile();</p><p> for(i=0;i<n;i++)</p><p> for(j=i;j<n;j++)</p><p> if(strcmp(stu[i].num,stu[j].num)>0)</p><p><b> {</b&
91、gt;</p><p> stu[99]=stu[i];</p><p> stu[i]=stu[j];</p><p> stu[j]=stu[99];</p><p><b> }</b></p><p> printf("\n-----------------------
92、---------------------------------------------------------\n\n");</p><p> printf(" 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p><p> printf("------
93、--------------------------------------------------------------------------\n");</p><p> for(i=0;i<n;i++)</p><p> printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu
94、[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b> if(n==0)</b></p><p> printf("\n\t\t\t\t沒有這人!");</p><p>
95、 printf("\n\n\t\t\t 按任意鍵退出:");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p><b> }</b></p><p> /*清空所有信息模塊*
96、/</p><p> void clear()</p><p><b> {</b></p><p><b> char a;</b></p><p><b> FILE *fp;</b></p><p> printf("\n\t\
97、t\t 確定刪除?刪除后無法恢復(fù)!\n\n\t\t\t 按enter鍵確認(rèn)刪除\n\n\t\t\t\t ");</p><p> fflush(stdin);</p><p> scanf("%c",&a);</p><p> if(a=='\n')</p><p>
98、 if((fp=fopen("d:\\studentinfo.txt","w+"))==NULL)</p><p><b> {</b></p><p> printf("\n\n\t\t\t打開文件失敗,不能刪除");</p><p><b> return;<
99、/b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("\n\t\t\t\t 成功刪除!\n\n\t\t\t\t按任意鍵返回");<
100、/p><p> fflush(stdin);</p><p><b> getch();</b></p><p> printf("\n\n");</p><p><b> }</b></p><p><b> else</b>
101、</p><p><b> {</b></p><p> printf("\n\n\t\t 你沒有進(jìn)行清空操作!按任意鍵返回菜單");</p><p> fflush(stdin);</p><p><b> getch();</b></p><
102、p> printf("\n\n");</p><p><b> return;</b></p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p&g
103、t; /*學(xué)生信息修改模塊*/</p><p> void exchange()</p><p><b> {</b></p><p> int i,m=0,j,a;</p><p> char name[20],chose;</p><p><b> FILE *fp;&l
104、t;/b></p><p> n=openfile();</p><p><b> if(n==-1)</b></p><p> return;//打開失敗則返回菜單 </p><p><b> else</b></p><p><b> {<
105、/b></p><p> printf("\n\t\t\t 輸入要修改學(xué)生名字:");</p><p> scanf("%s",name);</p><p> printf("\n--------------------------------------------------------------
106、------------------\n\n");</p><p> printf(" 學(xué)號(hào) 姓名 性別 年齡 生日 QQ號(hào) 電話 地址\n\n");</p><p> printf("---------------------------------------------
107、-----------------------------------\n");</p><p> for(i=0;i<n;i++)</p><p> if(strcmp(stu[i].name,name)==0)</p><p><b> {</b></p><p> j=i;//如果找到這個(gè)人
108、就記住這個(gè)人的位置</p><p><b> m++;</b></p><p> printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telepho
109、ne,stu[i].address);</p><p><b> }</b></p><p><b> if(m==0)</b></p><p><b> {</b></p><p> printf("\n\t\t\t\t沒有這人!");</p
110、><p> printf("\n\n\t\t\t 按任意鍵退出:");</p><p><b> getch();</b></p><p> printf("\n\n");</p><p><b> return;</b></p>&l
111、t;p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("\n\t\t\t 選擇要修改學(xué)生什么信息:");</p><p> printf("
112、;\n\n\t\t\t----------------------------\n");</p><p> printf("\n\t\t\t\t1. ----學(xué)號(hào)");</p><p> printf("\n\t\t\t\t2. ----姓名");</p><p> printf("\n\t\t\t\
113、t3. ----年齡");</p><p> printf("\n\t\t\t\t4. ----性別");</p><p> printf("\n\t\t\t\t5. ----生日");</p><p> printf("\n\t\t\t\t6. ----QQ號(hào)");</p>
114、<p> printf("\n\t\t\t\t7. ----電話");</p><p> printf("\n\t\t\t\t8. ----地址");</p><p> printf("\n\n\t\t\t----------------------------\n\n\t\t\t\t ");</p&g
115、t;<p> fflush(stdin);</p><p> scanf("%d",&a);</p><p><b> switch(a)</b></p><p><b> {</b></p><p> case 1 : printf("
116、\n\t\t\t 新學(xué)號(hào):"); fflush(stdin); scanf("%s",stu[j].num);break;</p><p> case 2 : printf("\n\t\t\t 新姓名:"); fflush(stdin); scanf("%s",stu[j].name);break;</p><
117、p> case 3 : printf("\n\t\t\t 新年齡:"); fflush(stdin); scanf("%s",stu[j].age);break;</p><p> case 4 : printf("\n\t\t\t 新性別:"); fflush(stdin); scanf("%s",stu[j]
118、.sex);break;</p><p> case 5 : printf("\n\t\t\t 新生日:"); fflush(stdin); scanf("%s",stu[j].birthday);break;</p><p> case 6 : printf("\n\t\t\t 新QQ號(hào):"); fflush(s
119、tdin); scanf("%s",stu[j].QQ);break;</p><p> case 7 : printf("\n\t\t\t 新電話:"); fflush(stdin); scanf("%s",stu[j].telephone);break;</p><p> case 8 : printf("
120、\n\t\t\t 新地址:"); fflush(stdin); scanf("%s",stu[j].address);break;</p><p><b> }</b></p><p> fflush(stdin);</p><p> for(j=1;j<20;j++)</p>&l
121、t;p><b> {</b></p><p> printf("\n\t\t\t確實(shí)要進(jìn)行以上操作?yes or no\n");</p><p> printf("\n\n\t\t\t\tY\tN\n\n\t\t\t\t ");</p><p> scanf("%c"
122、,&chose);</p><p> if(chose=='y'||chose=='Y')</p><p><b> {</b></p><p><b> j=30;</b></p><p> fp=fopen("d:\\studentinf
123、o.txt","w");//一定要先打開文件。</p><p> for(i=0;i<n;i++)</p><p> if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p><p> printf("\n\n\t\t\t\t文件寫入錯(cuò)誤!\n"
124、);</p><p> fclose(fp);</p><p> printf("\n\n\n\t\t\t\t操作成功!");</p><p> printf("\n\n\t\t\t 按任意鍵返回菜單:");</p><p><b> getch();</b><
125、/p><p> printf("\n\n");</p><p><b> return;</b></p><p><b> }</b></p><p> if(chose=='n'||chose=='N')</p><p&g
126、t;<b> {</b></p><p><b> j=30;</b></p><p> printf("\n\n\t\t\t\t操作已取消\n");</p><p> printf("\n\n\t\t\t 按任意鍵返回菜單:");</p><p&g
127、t;<b> getch();</b></p><p> printf("\n\n");</p><p><b> return;</b></p><p><b> }</b></p><p> if(chose!='n'&
128、&chose!='N'&&chose!='y'&&chose!='Y')</p><p><b> {</b></p><p> printf("\n\n\t\t\t\t輸入錯(cuò)誤!\n");</p><p> printf(&quo
129、t;\n\t\t\t\t請(qǐng)重新選擇:\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }}}</b></p><p> 六、總結(jié)、設(shè)計(jì)結(jié)果說明</p><p> 設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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é)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--- 學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)-c語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)----學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)c語言課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng) (2)
- c語言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng) (2)
- c語言課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論