




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、.一、設(shè)計目的通過對高級語言程序設(shè)計課程設(shè)計的學(xué)習(xí),來驗證自身的學(xué)習(xí)效果,同時希望利用所學(xué)的基本知識和技能,進行簡單的C語言程序設(shè)計。希望通過項目實踐,熟悉鞏固所學(xué)知識,以使自己熟練掌握高級語言程序設(shè)計,為日后學(xué)習(xí)計算機科學(xué)技術(shù)的專業(yè)知識能有進一步深入了解,奠定基礎(chǔ)。二、設(shè)計內(nèi)容1、 問題描述:設(shè)計一個學(xué)生信息管理系統(tǒng)設(shè)計。學(xué)生信息包括:學(xué)號,姓名,年齡,性別,出生年月,地址,電話,E-mail等。2、 功能要求:1、系統(tǒng)以菜單方式工作2、學(xué)生信息錄入功能(學(xué)生信息用文件保存)輸入3、學(xué)生信息瀏覽功能輸出4、學(xué)生信息查詢功能算法按學(xué)號查詢按姓名查詢5、學(xué)生信息的刪除與修改(可選項)三、詳細(xì)設(shè)計
2、 1、菜單:void menu()2、建立信息:void readfile()3、 查找:void seek()4、 修改信息:void modify()5、 插入函數(shù):void insert()6、 刪除信息:void del()7、 瀏覽信息:void display()8、 保存:void save() 4、 調(diào)試與測試1、 系統(tǒng)功能菜單2、 選擇菜單“0”,進入系統(tǒng)幫助及說明功能3、 選擇菜單“4”,添加學(xué)生信息 (1)輸入增加人數(shù) (2)依次輸入學(xué)生學(xué)號,姓名,年齡,性別,出生年月,地址,電話,E-mail (3)錄入完畢,彈出菜單4、 選擇菜單“3”,修改學(xué)生信息:輸入被修改者學(xué)號
3、 (1)選擇子菜單“1,修改姓名 (2)選擇子菜單“2”,修改年齡 (3)選擇子菜單“3”,修改性別 (4)選擇子菜單“4”,修改出生年月 (5)選擇子菜單“5”,修改地址 (6)選擇子菜單“6”,修改電話 (7)選擇子菜單“7”,修改E-mail5、 選擇菜單“2”,查詢學(xué)生信息 (1)選擇子菜單“1”,按學(xué)號查詢 (2)選擇子菜單“2”,按姓名查詢 (3)選擇子菜單“3”,退出子菜單,彈出主菜單6、選擇菜單“6”,顯示當(dāng)前信息7、選擇菜單“5”,按學(xué)號刪除信息 (1)輸入要刪除的學(xué)生學(xué)號 (2)再次輸入“6”,確認(rèn)是否刪除該學(xué)生信息五、源程序清單源程序代碼如下#include #inclu
4、de#include#define BUFLEN 100#define LEN 15 #define N 100 struct record char codeLEN+1; char nameLEN+1; int age; char sex3; char timeLEN+1; char add30; char telLEN+1; char mail30; stuN;int k=1,n,m; void readfile();void seek();void modify();void insert();void del();void display();void save();void menu
5、(); int main() while(k)menu();system(pause);return 0; void help() printf(n0.歡迎使用系統(tǒng)幫助!n);printf(n1.進入系統(tǒng)后,先刷新學(xué)生信息,再查詢;n);printf(n2.按照菜單提示鍵入數(shù)字代號;n);printf(n3.增加學(xué)生信息后,切記保存按;n);printf(n4.謝謝您的使用!n); void readfile()char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(student.txt,r)=NULL) printf(Open error! St
6、rike any key to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.code,,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;i=i;fclose(fp);n=i;printf(錄入完畢!n); void seek() int i,item,flag;char s121; printf(-n);printf(-1.按學(xué)號查詢-n);printf(-2.按姓名查詢-n);printf(-3
7、.退出本菜單-n);printf(-n);while(1)printf(請選擇子菜單編號:);scanf(%d,&item);flag=0;switch(item)case 1:printf(請輸入要查詢的學(xué)生的學(xué)號:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;printf(學(xué)生學(xué)號 學(xué)生姓名 年齡 性別 出生年月 地址 電話 E-mailn);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,,stui.age,stu
8、i.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(該學(xué)號不存在!n); break;case 2:printf(請輸入要查詢的學(xué)生的姓名:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(,s1)=0)flag=1;printf(學(xué)生學(xué)號 學(xué)生姓名 年齡 性別 出生年月 地址 電話 E-mailn);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,,stui.age,stui.s
9、ex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(該姓名不存在!n); break;case 3:return;default:printf(請在-3之間選擇n); void modify() int i,item,num;char sex13,s1LEN+1,s2LEN+1; printf(請輸入要要修改的學(xué)生的學(xué)號:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0) num=i;printf(-n);printf(1.修改姓名n);printf(2.修改年齡n)
10、;printf(3.修改性別n);printf(4.修改出生年月n);printf(5.修改地址n);printf(6.修改電話號碼n);printf(7.修改E-mail地址n);printf(8.退出本菜單n);printf(-n);while(1)printf(請選擇子菜單編號:);scanf(%d,&item);switch(item)case 1:printf(請輸入新的姓名:n);scanf(%s,s2);strcpy(,s2); break;case 2:printf(請輸入新的年齡:n);scanf(%d,&stunum.age);break;case 3
11、:printf(請輸入新的性別:n);scanf(%s,sex1);strcpy(stunum.sex,sex1); break;case 4:printf(請輸入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2); break;case 5:printf(請輸入新的地址:n);scanf(%s,s2);strcpy(stunum.add,s2); break;case 6:printf(請輸入新的電話號碼:n);scanf(%s,s2);strcpy(stunum.tel,s2); break;case 7:printf(請輸入新的E-mail地址:n
12、);scanf(%s,s2);strcpy(stunum.mail,s2); break;case 8:return;default:printf(請在-8之間選擇n); void sort()int i,j,*p,*q,s; char temp10;for(i=0;ii;j-)if(strcmp(stuj-1.code,stuj.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,);strcpy(,stuj
13、.name);strcpy(,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,st
14、uj.tel);strcpy(stuj.tel,temp);strcpy(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp); p=&stuj-1.age; q=&stuj.age; s=*q; *q=*p; *p=s; void insert() int i=n,j,flag;printf(請輸入待增加的學(xué)生數(shù):n);scanf(%d,&m);do flag=1;while(flag)flag=0;printf(請輸入第%d 個學(xué)生的學(xué)號:n,i+1);scanf(%s,stui.code);for(j
15、=0;ji;j+)if(strcmp(stui.code,stuj.code)=0)printf(已有該學(xué)號,請檢查后重新錄入!n);flag=1;break; printf(請輸入第%d 個學(xué)生的姓名:n,i+1);scanf(%s,);printf(請輸入第%d 個學(xué)生的年齡:n,i+1);scanf(%d,&stui.age);printf(請輸入第%d 個學(xué)生的性別:n,i+1);scanf(%s,stui.sex);printf(請輸入第%d 個學(xué)生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(請輸入第%d 個學(xué)生的
16、地址:n,i+1);scanf(%s,stui.add);printf(請輸入第%d 個學(xué)生的電話:n,i+1);scanf(%s,stui.tel);printf(請輸入第%d 個學(xué)生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0) i=i;i+;while(in+m);n+=m;printf(錄入完畢!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(請輸入要刪除學(xué)生的學(xué)號:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)
17、 flag=1;for(j=i;jn-1;j+)stuj=stuj+1;if(flag=0)printf(該學(xué)號不存在!n);if(flag=1)printf(刪除成功,顯示結(jié)果請選擇菜單n);n-; void display() int i;printf(所有學(xué)生的信息為:n);printf(學(xué)生學(xué)號 學(xué)生姓名 年齡 性別 出生年月 地址 電話 E-mailn);printf(-n);for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,,stui.age,stui.sex,stui.time,
18、stui.add,stui.tel,stui.mail); void save()int i;FILE *fp;fp=fopen(student.txt,w); for(i=0;in;i+)fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp); void menu()int num;printf( nn 學(xué)生信息管理系統(tǒng) nn);printf(*系統(tǒng)功能菜單* n);printf(友情提示:查詢前請先刷新系統(tǒng)!n);printf( - - n);printf( * n);printf( * 0.系統(tǒng)幫助及說明 * * 1.刷新學(xué)生信息 * n);printf( * n); printf( * 2.查詢學(xué)生信息 * * 3.修改學(xué)生信息 * n);printf( * n);printf( * 4.增加學(xué)生信息 * * 5.按學(xué)號刪除信息 * n);printf( * n);printf( * 6.顯示當(dāng)前信息 * * 7.保存當(dāng)前學(xué)生信息* n);printf( * * n);printf( * 8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 無人機操控與航拍技術(shù)考核試卷
- 圖書館數(shù)字資源長期保存策略考核試卷
- 家電產(chǎn)品品質(zhì)監(jiān)控與質(zhì)量改進考核試卷
- 整年運輸合同范本
- 大板委托加工合同范本
- 修剪綠化直營合同范本
- 工地個人水電合同范本
- 小學(xué)生美術(shù)課件制作教學(xué)
- 名片合同范本
- 財務(wù)支出季度計劃工作的分解與執(zhí)行要點
- GB/T 18601-2009天然花崗石建筑板材
- 畢業(yè)設(shè)計論文-貝類脫殼機設(shè)計
- 八項規(guī)定學(xué)習(xí)課件
- 《工程電磁場》配套教學(xué)課件
- 《過零丁洋》公開課件
- 從生產(chǎn)工藝角度詳解磷酸鐵鋰
- 全套橋梁施工技術(shù)交底記錄
- 《教師職業(yè)道德》全書word版
- 城市定制型商業(yè)醫(yī)療保險(惠民保)知識圖譜
- GB∕T 3836.31-2021 爆炸性環(huán)境 第31部分:由防粉塵點燃外殼“t”保護的設(shè)備
- AMDAR資料的分析和應(yīng)用
評論
0/150
提交評論