版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include#include#include /定義學(xué)生結(jié)構(gòu)體struct Studentint dorNo; /宿舍號(hào)char stuName20; / intstuNo; / char stuSex10;char dept20;char major20;int tel; /xx *stu;/函數(shù)指針void(*p)(struct Student *,int );/錄入學(xué)生信息void insert(struct Student*,int );/按學(xué)號(hào)查找void noSeek(struct Student*,int );/函數(shù)功能:打印信息void output(struct Stud
2、ent*,int );/*函數(shù)功能:將數(shù)據(jù)寫入文件*/void write(struct Student *,int );/*函數(shù)功能:讀取文件數(shù)據(jù)*/void read(struct Student *,int );/按宿舍查找void dSeek(struct Student *,int );/按姓名查找void naSeek(struct Student*,int );/按系別查找void deSeek(struct Student *,int);/刪除學(xué)生信息void del(struct Student *,int );/修改學(xué)生信息void modify(struct Studen
3、t*,int );/增加學(xué)生信息void add(struct Student *,int);/全局變量來記錄存儲(chǔ)學(xué)生的人數(shù)int num=0;/主函數(shù)int main()/學(xué)生姓名學(xué)生學(xué)號(hào)性別 系別專業(yè)*n);錄入學(xué)生信息);按學(xué)號(hào)查詢n);按宿舍號(hào)查詢);按姓名查詢n);按系別或?qū)I(yè)查詢);添加信息n);修改信息);保存信息n);讀取信息);刪除信息n);退出系統(tǒng)n);t*n);printf(-n);printf( tscanf(%s,&ch);/用函數(shù)指針指向各函數(shù)if(strcmp(ch,1)=0) p=insert;(*p)(stu,num);else if (strcmp(ch,2
4、)=0)p=noSeek;(*p)(stu,num);else if(strcmp(ch,3)=0)p=dSeek;(*p)(stu,num);char ch10;printf( t-歡迎進(jìn)入宿舍管理系統(tǒng)printf(請(qǐng)輸入你想存儲(chǔ)的學(xué)生人數(shù):) ;scanf(%d,&num);system(cls);/申請(qǐng)動(dòng)態(tài)存儲(chǔ)空間stu=(struct Student *)malloc(sizeof(structStudent)*num); while(1)system(cls); printf(n); printf( t printf(歡迎進(jìn)入宿舍管理系統(tǒng)n);n);tt1.t2.t3.t4.t5.t
5、6.t7.t8.t9.t10.t0.printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(printf(請(qǐng)選擇你想實(shí)現(xiàn)的功能:);else if(strcmp(ch,4)=0)p=naSeek;(*p)(stu,num);else if(strcmp(ch,5)=0)p=deSeek;(*p)(stu,num);else if(strcmp(ch,6)=0)p=add;(*p)(stu,num);else if(strcmp(ch,7)=0)p=modify;(*p)(stu,num);else
6、 if(strcmp(ch,8)=0)p=write;(*p)(stu,num);else if(strcmp(ch,9)=0)p=read;(*p)(stu,num);else if(strcmp(ch,10)=0)p=del;(*p)(stu,num);else if(strcmp(ch,0)=0)exit(0);/ write(stu,num);/read(stu,num);return 0;/輸入學(xué)生相關(guān)信息void insert(struct Student *stu,int num)int i=0;char ch;system(cls);do if(inum)printf(輸入第(
7、個(gè)學(xué)生的宿舍號(hào):,i+1);scanf(%d,&stui.dorNo) ;printf(n姓名:);scanf(%s,&stui.stuName);printf(n學(xué)號(hào):); scanf(%d,&stui.stuNo);printf(n性別:);scanf(%s,&stui.stuSex);printf(n系別:);scanf(%s,&stui.dept);printf(n專業(yè):);scanf(%s,&stui.major);printf(nxx:); scanf(%d,&stui.tel); i+;elseprintf( nt人數(shù)已滿無法繼續(xù)輸入);printf(n是退出該功能輸入?(Y/N
8、):);ch=getchar(); ch=getchar();while(ch!=y&ch!=Y);write(stu,num);system(cls);/按學(xué)號(hào)查找void noSeek(struct Student *stu,int num)int i;int m;char ch;char a;system(cls);printf(n確認(rèn)您已錄入學(xué)生信息?:);a=getchar();a=getchar();if(a!=n&a!=N)printf(n請(qǐng)輸入你想要查找的學(xué)生學(xué)號(hào):);scanf(%d,&m);for(i=0;inum;i+)if(m=stui.stuNo)printf(n宿舍
9、號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn系 別: %sn專業(yè) :%snxx號(hào) 碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);elseprintf(ntprintf(ngetchar();getchar();/按宿舍查找void dSeek(struct Student* stu,int num )int i; int dor;沒有你要查找的學(xué)生信息。n) ;請(qǐng)按任意鍵返回 .);char ch,a;system(cls);printf(n確認(rèn)您已錄入學(xué)生信息
10、?:);a=getchar();a=getchar();if(a!=n&a!=N)printf(n請(qǐng)輸入你想要查找的學(xué)生宿舍號(hào):);scanf(%d,&dor);for(i=0;inum;i+)if(dor=stui.dorNo)printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn系別: %sn專 業(yè) :%snxx號(hào) 碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);elseprintf(t printf(ngetchar();getchar();/按姓
11、名查詢void naSeek(struct Student *stu,int num)int i; char name20; char ch,a; system(cls); printf(n確認(rèn)您已錄入學(xué)生信息?:); a=getchar();a=getchar();if(a!=n&a!=N)printf(n請(qǐng)輸入你想要查找的學(xué)生姓名:); scanf(%s,name);for(i=0;inum;i+)沒找到你要的學(xué)生信息。 。nn);請(qǐng)按任意鍵返回 .);if(strcmp(name,stui.stuName)=0)printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn別
12、:%sn專業(yè):%snxx碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);else/按系別或?qū)I(yè)查詢void deSeek(struct Student *stu,int num)int i;char de20;char ch,a;system(cls);printf(n確認(rèn)您已錄入學(xué)生信息?:);a=getchar(); a=getchar(); if(a!=n&a!=N) printf(nt請(qǐng)輸入你想要查找的系別或?qū)I(yè):);scanf(%s,de);for(i=0;inu
13、m;i+)if(strcmp(de,stui.dept)=0)printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn別:%sn專 業(yè):%snxx碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);printf( n nt沒找到你要的學(xué)生信息。nn);printf(ngetchar();getchar();請(qǐng)按任意鍵返回 .);printf(ngetchar();getchar();/*函數(shù)功能:將數(shù)據(jù)寫入文件*/ void write(struct Stud
14、ent *stu,int num)int i;/控制循環(huán)FILE *fp ; /定義文件指針if(stunum-1.stuNo!=0)if(fp = fopen(E:student.txt,wt) = NULL) /有打開,提示錯(cuò)誤并退出 printf(ntgetchar(); /exit(0); / else for(i=0;inum; i+)/將數(shù)據(jù)依次寫入文件fprintf(fp,n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn系 別:%sn專 業(yè) :%snxx號(hào)碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu
15、i.dept,stui.major,stui.tel);getchar();elseprintf( nnt沒找到你要的學(xué)生信息。n);請(qǐng)按任意鍵返回 .);如果文件沒文件沒有打開!程序結(jié)束!);等待用戶觀察 結(jié)束整個(gè)程序printf(ntstudent.txt文件中。n);elseprintf(ntgetchar();fclose(fp);/*函數(shù)功能:讀取文件數(shù)據(jù)*/void read(struct Student *stu,int num)int i;FILE * fp ; if(stunum-1.stuNo!=0)if(fp = fopen(E:student.txt,rt) = NUL
16、L)printf(數(shù)據(jù)讀取失敗!n);exit(0);elsefor(i=0; inum; i+)/從文件中讀出數(shù)據(jù)fscanf(fp,n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn別: %sn專業(yè) :%snxx碼:%dn,&stui.dorNo,&stui.stuName,&stui.stuNo,&stui.stuSex,&stui.dept,&stui.major,&stui.tel);printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn別: %sn專 業(yè) :%snxx碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,st
17、ui.stuSex,stu i.dept,stui.major,stui.tel);else已將學(xué)生 信息 保存在了D盤根目錄下的沒有學(xué)生信息。);printf(nt沒有學(xué)生信息。);getchar();getchar();fclose(fp);/修改信息void modify(struct Student *stu,int num)int m;int i;char ch;system(cls);printf(請(qǐng)輸入你想修改學(xué)生的學(xué)號(hào):);scanf(%d,&m);for(i=0;inum;i+)if(m=stui.stuNo)printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別:
18、 %sn系 別: %sn專 業(yè) :%snxx號(hào) 碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);printf(n您確認(rèn)修改該學(xué)生信息嗎?:);ch=getchar();ch=getchar();if(ch!=N&ch!=n)printf(n輸入該學(xué)生的宿舍號(hào):);scanf(%d,&stui.dorNo) ;printf(n姓名:);scanf(%s,&stui.stuName);printf(n學(xué)號(hào):);scanf(%d,&stui.stuNo);printf(n性別:)
19、;scanf(%s,&stui.stuSex);printf(n系別:);scanf(%s,&stui.dept);printf(n專業(yè):);scanf(%s,&stui.major);printf(nxx:);scanf(%d,&stui.tel);write(stu,num); system(cls);printf( ntoutput(stu,num); else printf(nt /break; else continue; printf(n getchar(); getchar();/刪除相關(guān)學(xué)生信息void del(structStudent *stu,int num)int no
20、;int i;char ch;int j;printf(n請(qǐng)輸入您想刪除的學(xué)生學(xué)號(hào):); scanf(%d,&no);for(i=0;inum;i+)if(no=stui.stuNo)printf(n宿舍號(hào): %dn姓名: %sn學(xué)號(hào): %dn性別: %sn系 別:%sn專業(yè):%snxx號(hào)碼:%dn,stui.dorNo,stui.stuName,stui.stuNo,stui.stuSex,stu i.dept,stui.major,stui.tel);printf(n您確認(rèn)刪除該學(xué)生信息?:);ch=getchar();ch=getchar();if(ch!=n&ch!=N)for(j=i
21、;j=num-1;j+)修改成功! !nn);無法修改信息!n);請(qǐng)按任意鍵返回 .);實(shí)現(xiàn)刪除學(xué)生信息/*(stu+j)=*(stu+j+1);num-;printf(ntwrite(stu,num); output(stu,num);else已成功刪除該學(xué)生信息! !n);printf(nt無法刪除!n);elsecontinue;printf(ngetchar();getchar();請(qǐng)按任意鍵返回.);/添加學(xué)生信息void add(struct Student *stu,int num)int no;int i;printf(n t請(qǐng)輸入你想添加的學(xué)生人數(shù):scanf(%d,&no);if(stunum-1.stuNo)!=0)stu=(struct Student *)realloc(stu,num+no);for(i=num;inum+no;i+)*(stu+num+no)=*(stu+num);printf(n輸入第4個(gè)學(xué)生的宿舍號(hào)scanf(%d,&stui.dorNo) ;printf(n姓名:););:,i+1);scanf(%s,&s
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度無人零售鋪面轉(zhuǎn)租合同12篇
- 2025年度苗木種植與鄉(xiāng)村旅游融合發(fā)展合同4篇
- 2025年度門禁系統(tǒng)與訪客預(yù)約系統(tǒng)對(duì)接合同4篇
- 2025年度個(gè)人教育貸款抵押合同規(guī)范文本2篇
- 二零二五美容院加盟店開業(yè)籌備及營銷策劃合同3篇
- 二零二五年度成品油公路運(yùn)輸合同運(yùn)輸風(fēng)險(xiǎn)預(yù)警與控制協(xié)議4篇
- 二零二五年度KTV突發(fā)事件應(yīng)急處理合同3篇
- 二零二五年度高科技產(chǎn)品研發(fā)與成果轉(zhuǎn)化合同范本2篇
- 2024年度青海省公共營養(yǎng)師之四級(jí)營養(yǎng)師模擬考核試卷含答案
- 2024年度青海省公共營養(yǎng)師之三級(jí)營養(yǎng)師高分通關(guān)題庫A4可打印版
- 2025-2030年中國陶瓷電容器行業(yè)運(yùn)營狀況與發(fā)展前景分析報(bào)告
- 2025年山西國際能源集團(tuán)限公司所屬企業(yè)招聘43人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 二零二五年倉儲(chǔ)配送中心物業(yè)管理與優(yōu)化升級(jí)合同3篇
- 2025屆廈門高三1月質(zhì)檢期末聯(lián)考數(shù)學(xué)答案
- 音樂作品錄制許可
- 江蘇省無錫市2023-2024學(xué)年高三上學(xué)期期終教學(xué)質(zhì)量調(diào)研測(cè)試語文試題(解析版)
- 拉薩市2025屆高三第一次聯(lián)考(一模)英語試卷(含答案解析)
- 開題報(bào)告:AIGC背景下大學(xué)英語教學(xué)設(shè)計(jì)重構(gòu)研究
- 師德標(biāo)兵先進(jìn)事跡材料師德標(biāo)兵個(gè)人主要事跡
- 連鎖商務(wù)酒店述職報(bào)告
- 2024年山東省煙臺(tái)市初中學(xué)業(yè)水平考試地理試卷含答案
評(píng)論
0/150
提交評(píng)論