


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生信息管理系統(tǒng)學(xué)生姓名:學(xué)號(hào):班級(jí):指導(dǎo)老師:日期:2、課程設(shè)計(jì)正文格式:1題目及要求學(xué)生信息管理系統(tǒng)此題目要求,使用結(jié)構(gòu)體靜態(tài)數(shù)組存儲(chǔ)數(shù)據(jù),并要求使用戶輸入的數(shù)據(jù)或者修改后的數(shù)據(jù)能夠永久保存。1.1問(wèn)題提出詳細(xì)敘述本人所要實(shí)現(xiàn)的題目中的問(wèn)題我編寫(xiě)一個(gè)學(xué)生信息管理系統(tǒng),主要用來(lái)管理學(xué)生基本信息。1.2本系統(tǒng)涉及的知識(shí)點(diǎn)女口:結(jié)構(gòu)體、數(shù)組、循環(huán)、函數(shù)、分支、文件、字符串、指針;1.3功能分析敘述本人所要實(shí)現(xiàn)的題目功能1、添加學(xué)生信息,每個(gè)學(xué)生的信息包括:學(xué)號(hào)、姓名、電話、生日、地址、班級(jí);2、根據(jù)學(xué)號(hào)刪除該學(xué)生信息或刪除全部學(xué)生信息;3、根據(jù)學(xué)號(hào)、姓名查詢學(xué)生信息;4、可以以表格形式輸出所有學(xué)
2、生信息;5、輸入欲修改的那人的名字后,再次進(jìn)行信息修改;6、保存此學(xué)生信息系統(tǒng);2功能設(shè)計(jì)畫(huà)出模塊層次結(jié)構(gòu)圖學(xué)生信息管理系統(tǒng)退出2.1菜單設(shè)計(jì)陸Ine口些口 d一口些 口 utkrrELtut-U - 廠一 一戶二 廠二 卜二 學(xué)8忑忑-I-老-1 1 Z 3 4- E b2.2各功能模塊的算法設(shè)計(jì)增加學(xué)生信息模塊:1.1打開(kāi)文件。1.2用scanf輸入數(shù)據(jù),保存再結(jié)構(gòu)數(shù)組中。1.3用fwrite函數(shù)將結(jié)構(gòu)體數(shù)組讀入學(xué)生信息文 件中,關(guān)閉文件。顯示學(xué)生信息模塊:1.1只讀打開(kāi)文件1.2將文件的信息讀入結(jié)構(gòu)體數(shù)組中;1.3將結(jié)構(gòu)體的內(nèi)容顯示在窗口上。1.4關(guān)閉文件。1.1查詢學(xué)生信息模塊:打開(kāi)文
3、件,讀出信息;1.2輸入要查詢的學(xué)號(hào)或姓名;1.3如有該學(xué)號(hào)或姓名,打印該學(xué)生的信息;1.4關(guān)閉文件。開(kāi)始用fread函數(shù)讀信息到stui中修改學(xué)生信息模塊:打開(kāi)文件,讀出信息;1.1i=0; n1.2輸入要修改的學(xué)生信息的學(xué)號(hào)。1.3若有此學(xué)號(hào),則重新輸入此學(xué)生信息。1.4覆蓋原先的信息,讀入文件;關(guān)閉文件。刪除學(xué)生信息模塊:1.2選擇要單個(gè)刪除一1.3,選擇全部刪除一1.5 ;1.3打開(kāi)文件,輸入要?jiǎng)h除的學(xué)號(hào);1.4若有此學(xué)號(hào),覆蓋此條信息,已少一次數(shù), 讀入文件,關(guān)閉文件;若無(wú),返回1.3 ;1.5打開(kāi)文件。將空字符讀入文件中,覆蓋原先 的信息,關(guān)閉文件。1.1打開(kāi)文件,讀出信息,關(guān)閉文
4、件3程序代碼設(shè)計(jì)(-)增加模塊1)函數(shù)原形:void add(void)2) 功能:利用for循環(huán)語(yǔ)句和seanf、getchar函數(shù)完成對(duì)結(jié)構(gòu)數(shù)組的輸入,再用再用fwrite函數(shù)將結(jié)構(gòu)數(shù)組讀入學(xué)生信息表中。存放n個(gè)學(xué)生的信息(學(xué)號(hào)、姓名、電話、生日、地址、班級(jí))。3)輸入輸出:無(wú) (二)查詢模塊1)函數(shù)原形:void search(void)2)功能:打開(kāi)文件后,根據(jù)stremp函數(shù)進(jìn)行對(duì)比,可以進(jìn)行學(xué)號(hào)與姓名查詢,用fread函數(shù)將文件中信息讀到結(jié)構(gòu)體數(shù)組中,相同就打印到窗口上3)輸入輸出:無(wú)。(三)修改模塊1)函數(shù)原形:void modi(void)2)功能:輸入要修改的姓名,用frea
5、d函數(shù)將文件中信息讀到結(jié)構(gòu)體數(shù)組中,根據(jù)strcmp函數(shù)進(jìn)行對(duì)比,然后根據(jù)fwrite函數(shù)進(jìn)行修改覆蓋,得 到新文件。3)輸入輸出:無(wú)。(四)刪除模塊1)函數(shù)原形:void del (void)2) 功能:用fread函數(shù)將文件中信息讀到結(jié)構(gòu)體數(shù)組中,依次將輸入的學(xué)號(hào)根據(jù)strcmp函數(shù)進(jìn)行對(duì)比,然后再進(jìn)行選擇性刪除。3)輸入輸出:無(wú)。(五)顯示模塊1)函數(shù)原形:void print(void)2)功能:用freed函數(shù)打開(kāi)存儲(chǔ)的文件使其顯示在屏幕上。3)輸入輸出:無(wú)。(六)源程序代碼#i nclude#in clude #i ncludevoid prin t(void); /顯示函數(shù)voi
6、d add(void); /增加函數(shù)void search(void); /查找函數(shù)void modi(void); /修改函數(shù)/定義結(jié)構(gòu)體typedef struct stude ntchar n ame20;char num20;char ban20;char birthday20;char pho ne20;char address200;STU;STU stu2000;FILE *fp;/主函數(shù)int main(v oid)int i;doprin tf(|1n);printf( |學(xué)生信息管理系統(tǒng)|n);prin tf(|1n);printf(| 1-增加學(xué)生信息| n);print
7、f(| 2-刪除學(xué)生信息| n);printf(|3-查詢學(xué)生信息| n);printf(|4-顯示學(xué)生信息| n);printf(|5-修改學(xué)生信息| n);printf(| 6-退出1 n);printf(|1n);prin tf(請(qǐng)選擇你的操作:(16)n);scan f(%d,&i);if(i=1) add();if(i=2) del();if(i=3) search();if(i=4) prin t();if(i=5) modi();if(i=6) prin tf(謝謝您的使用!n);break;while(i0&i 6|i1)printf(你的輸入錯(cuò)誤n);return 0;/*增
8、加函數(shù)*/void add(void)學(xué)生信息表.txt,a+)=NULL) /為讀寫(xiě)打開(kāi)學(xué)生信息表文本文件int m,i;if(fp=fope n(”printf(Cannot open file strike any key exit!);getchar();exit(1);printf(”請(qǐng)輸入要添加學(xué)生的人數(shù):);scan f(%d,&m);for(i=1;i=m;i+)prin tf(請(qǐng)輸入姓名:n);sca nf(%s,stui. name);prin tf(請(qǐng)輸入學(xué)號(hào):n);scan f(%s,stui. nu m);prin tf(請(qǐng)輸入班級(jí):n);scan f(%s,stui
9、.ba n);prin tf(請(qǐng)輸入生日:n);scan f(%s,stui.birthday);prin tf(請(qǐng)輸入電話號(hào)碼:n);scan f(%s,stui.pho ne);prin tf(請(qǐng)輸入地址:n);sca nf(%s,stui.address);fwrite(&stui,sizeof(STU),1,fp); /把結(jié)構(gòu)體的數(shù)據(jù)寫(xiě)入學(xué)生信息表中prin tf(n);fclose(fp); /關(guān)閉學(xué)生信息表文本文件/*顯示函數(shù)*/void prin t(void)int i,n;if(fp=fope n(學(xué)生信息表.txt,廣)=NULL) /為輸入打開(kāi)學(xué)生信息 表文本文件prin
10、 tf(Ca nnot ope n file strike any key exit!);exit(O);讀出學(xué)生信息for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+); /生日地址n=i;printf( 姓名學(xué)號(hào)班級(jí)電話n);printf(n);for(i=0;i n;i+) prin tf(%st %st %st %st %st %sn,stui. namestui. nu m,stui.ba n, stui.ph on e,stui.birthday,stui.address);printf(n)Jfclose(fp); /關(guān)閉學(xué)生信息表文本文件/*
11、查詢函數(shù)*/void search(void)int i,n;char number20, name20;if(fp=fopen(學(xué)生信息表.txt,廣)=NULL) /為輸入打開(kāi)學(xué)生信息表文本文件printf(Cannot open file strike any key exit!);exit(0);/讀取學(xué)生信息表文本文件for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);n=i;int xz;printf(n);printf( 1.學(xué)號(hào)查詢n);printf( 2.姓名查詢n);printf(n);printf(請(qǐng)選擇:n);scan f(%d,&
12、 xz);if (xz=1)prin tf(n請(qǐng)輸入要查找學(xué)生的學(xué)號(hào):);sca nf(%s ,nu mber);for(i=0;i n;i+)if(strcmp( nu mber,stui. num )=0)prin tf(n該學(xué)生已找到n);printf(n);printf(姓名:%sn,);printf(學(xué)號(hào):%sn,stui.num);printf(班級(jí):%sn,stui.ban);printf(電話:%sn,stui.phone);printf(出生日期:%sn,stui.birthday);printf(地址:%sn,stui.address);break;els
13、eprintf(n沒(méi)有你要找的學(xué)生!nn);elseif(xz=2)printf(請(qǐng)輸入要查詢者的姓名:);scan f(%s, name);for(i=0;i n ;i+)if(strcmp( name,stui. name)=0)printf(該學(xué)生已找到n);printf(n);printf(姓名:%sn,stui. name);printf(學(xué)號(hào):%sn,stui. num);printf(班級(jí):%sn,stui.ba n);printf(電話:%sn,stui.pho ne);printf(出生日期:%sn,stui.birthday);printf(地址:%sn,stui.addr
14、ess);break;elseprintf(n沒(méi)有你要找的學(xué)生!nn);fclose(fp); /關(guān)閉學(xué)生信息表文本文件/*修改函數(shù)*/ void modi(void)int i,n;char n ame20;if(fp=fopen( 學(xué)生信息表.txt,r+)=NULL) /為讀寫(xiě)打開(kāi)學(xué)生信息表文本文件printf(Cannot open file strike any key exit!);exit(0);printf(請(qǐng)輸入你要修改的學(xué)生的姓名:);scan f(%s, name);for(i=0;fread(&stui,sizeof(STU),1,fp)!=0;i+);n=i;for(
15、i=0;i n;i+)if(strcmp( name,stui. num )=0)printf(n);printf(”請(qǐng)重新輸入姓名:n); scanf(%s,);printf(請(qǐng)重新輸入學(xué)號(hào):n); scanf(%s,stui.num);printf(請(qǐng)重新輸入班級(jí):n); scanf(%s,stui.ban);printf(請(qǐng)重新輸入電話:n); scanf(%s,stui.phone);printf(請(qǐng)重新輸入生日:n); scanf(%s,stui.birthday);printf(請(qǐng)重新輸入地址:n); scanf(%s,stui.address);fclose(f
16、p);if(fp=fope n(”學(xué)生信息表.txt,w)=NULL) /為輸出打開(kāi)學(xué)生信息表文本文件for(i=0;i n;i+)fwrite(&stui,sizeof(STU),1,fp);覆蓋要修改的學(xué)生信息fclose(fp); /關(guān)閉學(xué)生信息表文本文件/*刪除函數(shù)*/void del(void)char number20,stud300;int flag=0,i,k,ch ,n ,temp;if(fp=fopen( 學(xué)生信息表.txt,r)=NULL) / 為輸入打開(kāi)學(xué)生信息表文本文件exit(1);讀出學(xué)生信息for(i=0;fread(&stui,sizeof(STU),1,fp
17、)!=0;i+);n=i;fclose(fp);printf( l*1單個(gè)刪除*2全部刪除 *n);prin tf(輸入你的選擇:);scan f(%d,&ch);if(ch=1) loop:printf(輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):);sca nf(%s ,nu mber);for(i=0;i n;i+)if(strcmp(stui. num,nu mber)=0)flag=1; k=i;printf(*是否確定刪除?*printf(*1-j是*2否y *n);scan f(%d, &temp);if(temp=2)goto loop;if(flag=O)printf(*列表中無(wú)此記錄*n);go
18、to loop;for(i=k;i n-1;i+)strcpy(stui. name,stui+1. name); strcpy(stui. nu m,stui+1. nu m); strcpy(stui.ba n,stui+1.ba n); strcpy(stui.birthday,stui+1.birthday); strcpy(stui.ph on e,stui+1.ph on e);strcpy(stui.address,stui+1.address);為輸出打開(kāi)學(xué)生信息表文本文件if(fp=fopen( 學(xué)生信息表.txt,w)=NULL) /exit(1);n=n-1;重新輸出已修改的學(xué)生信息表for(i=0;i n;i+)fwrite(&stui,sizeof(STU),1,fp);fclose(fp);printf( 已刪除成功n);if(ch=2)printf( *是否確定刪除?*n);printf( *1-是*2-否*“);sc
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030煤礦行業(yè)競(jìng)爭(zhēng)格局分析及投資前景與戰(zhàn)略規(guī)劃研究報(bào)告
- 2025-2030熱流道系統(tǒng)行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030清酒行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030淋浴噴頭和淋浴面板行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030潤(rùn)膚霜產(chǎn)業(yè)政府戰(zhàn)略管理與區(qū)域發(fā)展戰(zhàn)略研究報(bào)告
- 2025-2030消毒中心行業(yè)市場(chǎng)發(fā)展分析及趨勢(shì)前景與投資戰(zhàn)略研究報(bào)告
- 2025-2030海上電纜行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030流動(dòng)氧化還原池行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030泳鏡產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報(bào)告
- 2025-2030汽柴油清潔劑產(chǎn)業(yè)發(fā)展分析及發(fā)展趨勢(shì)與投資前景預(yù)測(cè)報(bào)告
- 工地洗澡間管理制度
- 闌尾粘液性腫瘤CT診斷課件
- 可用性控制程序
- 綠色小衛(wèi)士 單元作業(yè)設(shè)計(jì)
- 團(tuán)體心理輔導(dǎo)課件-團(tuán)體輔導(dǎo)的目標(biāo)及類型
- 風(fēng)力發(fā)電機(jī)機(jī)組齒輪箱檢修知識(shí)培訓(xùn)課件
- 小學(xué)心理健康教育-幸福賬單教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 【拓展閱讀】螞蟻和蟬
- 鍋爐房日常隱患排查表
- 美克爾憩室課件
- 雨、污水管道施工方案
評(píng)論
0/150
提交評(píng)論