C語言學(xué)生宿舍管理系統(tǒng)_第1頁
C語言學(xué)生宿舍管理系統(tǒng)_第2頁
C語言學(xué)生宿舍管理系統(tǒng)_第3頁
C語言學(xué)生宿舍管理系統(tǒng)_第4頁
C語言學(xué)生宿舍管理系統(tǒng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論