




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、宿舍信息管理系統(tǒng)代碼如下:include"stdio.h"#include"stdlib。h”include”string。h"#include "conio.h”struct recordchar numb20; /學號char name20; /姓名char room10; /宿舍號student500;int num=0;FILE fp;int menu(); /菜單主界面/int adduser(); /*輸入記錄/int list(); /*顯示記錄*/int searchbyname(); /按姓名查找*/int searchbyr
2、oom(); /按宿舍號查找/int searchbynumb(); /*按學號查找/int add(); /*添加記錄/int change(); /*刪除學生信息*/int dele(); /刪除記錄*/int save(); /*保存記錄*/int exit(); /*結束*/menu() /主界面/ int i; printf("_ press any key enter menu! _* n"); getch(); system(”cls”); /*清屏*/ printf("tt*MENU*nn"); printf(”tt 0. 輸入記錄n”)
3、; printf(”tt 1. 顯示記錄 n”); printf(”tt 2. 按姓名查找n”); printf("tt 3。 按姓名查找n"); printf("tt 4. 按學號查找n”); printf("tt 5. 添加記錄 n”); printf("tt 6. 修改學生信息n”); printf(”tt 7。 刪除記錄n”); printf(”tt 8. 記錄保存文件n"); printf("tt 9. Quitn"); printf(”tt* n”); printf(”n Enter you choic
4、e(09):”); scanf(”d",i); return i; void main() for(;;) switch(menu()) case 0:adduser();break; /*調用輸入函數*/ case 1:list();break; /*調用顯示記錄函數/ case 2:searchbyname();break; /調用按姓名查找函數*/ case 3:searchbyname();break; /*調用按宿舍號查找函數*/ case 4:searchbynumb();break; /*調用按學號查找函數/ case 5:add();break; /*調用添加函數/
5、case 6:change();break; /調用修改學生信息函數/ case 7:dele();break; /*調用刪除函數*/ case 8:save();break; /*調用保存函數/ case 9:exit(0); adduser() /*輸入記錄*/ printf("ntt* 請輸入用戶信息 *n”); printf(”ntt輸入學號:"); scanf("s",studentnum。numb); printf("ntt輸入姓名:"); scanf("%s”,); printf(
6、”ntt輸入宿舍號:”); scanf(”%s”,studentnum.room); num+; printf(”ntt是否繼續(xù)添加?(Y/N):”);if (getch()=y) adduser();return(0);list() /*顯示記錄/ int i; if(num!=0) printf("ntt* 以下為宿舍信息管理系統(tǒng)所有信息*"); for (i=0;inum;i+) printf(”ntt學號: %s”,studenti.numb); printf("ntt姓名: s",); printf(”ntt宿舍號:
7、%s",studenti.room); printf(”tt”); if (i+1<num) printf(”ntt_"); printf("ntt*”); else printf("ntt宿舍信息管理系統(tǒng)中無任何紀錄"); printf("ntt按任意鍵返回主菜單:”); getch(); return(0);searchbyname() /按姓名查找*/ int mark=0; int i; int a=0; printf(”ntt* 按姓名查找 *”); char name20; printf(”ntt請輸入姓名:”);
8、scanf(”%s”,name); for(i=a;i<num;i+) if (strcmp(,name)=0) printf("ntt* 以下是您查找的用戶信息 *"); printf("ntt學號: s”,studenti。numb); printf(”ntt姓名: s",); printf(”ntt宿舍號: %s”,studenti。room ); printf(”ntt*"); mark+; getch(); return(0); if (mark=0) printf("
9、;ntt沒有該學生的信息"); printf("ntt按任意鍵返回主菜單"); getch(); return(0);return(0);searchbyroom() /*按學號查找/int mark=0;int i;int a=0;printf(”ntt* 按宿舍號查找 *”);char numb10;printf("ntt請輸入宿舍號:");scanf("s",room);for(i=0;inum;i+) if (strcmp(studenti。room,room)=0) printf(”ntt* 以下是您查找的用戶信息
10、 *"); printf("ntt學號: %s",studenti。numb); printf("ntt姓名: s",); printf("ntt宿舍號: %s",studenti.room); printf(”ntt*"); printf("ntt按任意鍵返回主菜單:”); mark+; if (i+1)num) printf("ntt是否繼續(xù)查找相同宿舍號的用戶信息:(y/n)”); if (getch()=y') a=i; continue; else r
11、eturn(0); else printf("ntt按任意鍵返回主菜單”); getch(); return(0); if(mark!=0) printf("ntt沒有相同宿舍號的用戶紀錄"); printf(”ntt按任意鍵返回主菜單”); getch(); return(0); return(0);searchbynumb() /*按學號查找*/int mark=0;int i;int a=0;printf("ntt* 按學號查找 *");char numb10;printf("ntt請輸入學號:”);scanf("s&
12、quot;,numb);for(i=0;inum;i+) if (strcmp(studenti.numb,numb)=0) printf("ntt* 以下是您查找的學生信息 *”); printf("ntt學號: s”,studenti.numb); printf("ntt姓名: %s”,); printf("ntt宿舍號: s”,studenti。room); printf(”ntt*"); printf(”ntt按任意鍵返回主菜單:”); mark+; getch(); return(0); if (mark=0
13、) printf("ntt沒有該學生的信息"); printf(”ntt按任意鍵返回主菜單”); getch(); return(0);return(0);add() /*添加記錄*/ int i; if ((fp=fopen("student.bin","wb”)=NULL) /*判斷文件是否打開/ printf("ntt文件打開失敗”); for (i=0;i<num;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1)/fwrite()(數據塊的輸出 )將
14、以數組studenti為首地址的一個sizeof(struct record)的大小的數據塊寫入fp指向的文件中/ printf(”ntt寫入文件錯誤!n"); printf(”ntt* 請輸入用戶信息 *n”); printf("ntt輸入學號:"); scanf(”%s”,studentnum.numb); printf(”ntt輸入姓名:”); scanf("%s”,); printf(”ntt輸入性別:"); scanf("%s”,studentnum.sex); num+; printf(&qu
15、ot;ntt是否繼續(xù)添加?(Y/N):"); if (getch()='y) adduser(); return(0); fclose(fp); /*關閉fp所指向的文件*/ printf("ntt宿舍信息管理系統(tǒng)文件已保存”); printf("ntt按任意鍵退出程序ntt”); exit(0); return(0);change() /按學號修改*/int i,j; char numb;scanf("s",numb);for(i=0;i<num;i+)if(strcmp(studenti。numb,numb)=0)printf
16、(”ntt* 以下是您查找的用戶信息 *”); printf("ntt學號: %s”,studenti。numb); printf("ntt姓名: %s",); printf(”ntt宿舍號: s”,studenti.room); printf(”ntt*”); printf("ntt是否要修改?(Y/N)n");if(getchar()=Y|getchar()='y')printf(”ntt*請輸入第%d位的學生信息*”,i); printf(”ntt輸入學號:"); scanf("
17、;%s",studentnum。numb); printf("ntt輸入姓名:"); scanf("s”,); printf("ntt輸入宿舍號:"); scanf("%s",studentnum.room); printf(”ntt*”);studenti=studenti;printf("ntt修改成功”);printf(”ntt是否繼續(xù)修改?(y/n)");if (getch()='y' getch()=Y)plus();return;else
18、printf("ntt對不起,文件中無任何紀錄”);printf(”ntt按任意鍵返回主菜單");getchar();return;void deletebynumb() /*按學號刪除*/int i,j; int deletemark=0; /*將刪除聯(lián)系人的數目初始化為0*/char numb20; printf(”ntt請輸入要刪除學生學號:"); scanf(”s",numb); if(num=0) /num為0說明宿舍信息管理系統(tǒng)中還沒有輸入聯(lián)系人*/ printf(”ntt對不起,文件中無任何紀錄"); printf("n
19、tt按任意鍵返回主菜單"); getch(); return; for (i=0;i<num;i+) if (strcmp(studenti.numb,numb)=0) printf("ntt以下是您要刪除的學生紀錄:”); printf("ntt學號: %s",studenti。numb); printf("ntt姓名: s",); printf(”ntt性別: s”,studenti。room); printf("tt"); printf("ntt是否刪除?(y/n)”
20、); if (getch()='y') for (j=i;j<num1;j+) studentj=studentj+1; /*將要刪除的學生的后一位賦值給要刪除的學生*/ num-; /宿舍信息管理系統(tǒng)中的學生數目減少1/ deletemark+; /*刪除的聯(lián)系人增加1*/ printf("ntt刪除成功"); printf(”ntt是否繼續(xù)刪除?(y/n)"); if (getch()='y) /*輸入y值,繼續(xù)調用按學號函數刪除/ deletebynumb(); return; else /*否則,返回值/ return; co
21、ntinue; /*跳出for循環(huán),立即轉向計算表達式3,對循環(huán)控制變量增量或減量*/ if (deletemark=0) /*若刪除的學生數目為0,則說明沒有刪除學生信息管理系統(tǒng)里的學生/ printf(”ntt沒有該學生的紀錄”); printf(”ntt是否繼續(xù)刪除?(y/n)"); if (getch()='y) /輸入y值,繼續(xù)調用按學號函數刪除*/ deletebynumb(); return; void deletebyname() /按姓名刪除/int a=0;int findmark=0;int i,j;int deletemark=0;char name2
22、0; printf(”ntt請輸入要刪除學生姓名:”); scanf("%s",name);for (i=a;i<num;i+) if (strcmp(,name)=0) printf("ntt以下是您要刪除的學生紀錄:”); findmark+; printf("ntt_”); printf(”ntt學號: s",studenti.numb); printf(”ntt姓名: %s”,); printf("ntt性別: %s”,studenti。sex); printf(”nt
23、t出生日期: %s”,studenti。birth); printf(”ntt學位:%s”,studenti.degr); printf("ntt職務:%s",studenti.duty); printf("ntt電話號碼:s”,studenti.tel); printf(”ntt_"); printf(”ntt是否刪除?(y/n)"); if (getchar()='y) for (j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; printf(”ntt刪除成功”); printf("ntt是否繼續(xù)刪除?(y/n)”); i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西農村喝酒活動方案
- 廣交會志愿服務活動方案
- 幼小銜接拼音活動方案
- 廣告公司創(chuàng)意活動方案
- 幼兒基地活動方案
- 幼兒園兒童閱讀活動方案
- 底盤裝甲活動方案
- 幼兒種植課堂活動方案
- 年輕用戶活動策劃方案
- 幼兒玩沙子活動方案
- BEC商務英語中級考試閱讀真題
- 單元體吊裝方案優(yōu)質資料
- 安霸A12-凌度A12行車記錄儀使用說明書
- 個人競聘報告ppt范文
- MT/T 198-1996煤礦用液壓鑿巖機通用技術條件
- LY/T 1787-2016非結構用集成材
- GB/T 39560.702-2021電子電氣產品中某些物質的測定第7-2部分:六價鉻比色法測定聚合物和電子件中的六價鉻Cr(Ⅵ)
- GB/T 3880.3-2012一般工業(yè)用鋁及鋁合金板、帶材第3部分:尺寸偏差
- GB/T 28267.1-2012鋼絲繩芯輸送帶第1部分:普通用途輸送帶的設計、尺寸和機械要求
- GB/T 12729.1-2008香辛料和調味品名稱
- GB/T 12334-2001金屬和其他非有機覆蓋層關于厚度測量的定義和一般規(guī)則
評論
0/150
提交評論