版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C程序設(shè)計(jì)實(shí)訓(xùn)報(bào)告姓名專業(yè)班級(jí)指導(dǎo)教師2011 年 7月 13日目錄1、設(shè)計(jì)題目 .2、總體設(shè)計(jì) .21 系統(tǒng)功能結(jié)構(gòu)圖 . .22數(shù)據(jù)類型定義 .23全部函數(shù)原型定義 . .3、詳細(xì)設(shè)計(jì) .31模塊功能 .32函數(shù)流程圖 .1Srarch() 流程圖 .2del() 流程圖 .3.modify() 流程圖 .4、程序測(cè)試 .5、心得體會(huì) .6、參考文獻(xiàn) .1、設(shè)計(jì)題目學(xué)生信息管理系統(tǒng)設(shè)計(jì)設(shè)計(jì)要求:學(xué)生信息包括:學(xué)號(hào),姓名,年齡,性別,出生年月,地址,電話, E-mail 等。試設(shè)計(jì)一學(xué)生信息管理系統(tǒng),使之能提供以下功能:系統(tǒng)以菜單方式工作學(xué)生信息錄入功能(學(xué)生信息用文件保存) - 輸入學(xué)生信
2、息瀏覽功能 - 輸出查詢、排序功能 - 算法按學(xué)號(hào)查詢按姓名查詢學(xué)生信息的刪除與修改(可選項(xiàng))2、總體設(shè)計(jì)2 1 系統(tǒng)功能結(jié)構(gòu)圖Main()Write()Srarch()Read()Modify()Del()(NO.)srarch(Name)srarch圖2-1系統(tǒng)功能結(jié)構(gòu)圖2 2 數(shù)據(jù)類型定義struct studentchar no15;char name30;int age;char sex2;char bir30;char add30;char tel13;char e_mail30;.stuN;2 3 全部函數(shù)原型定義( 1) void main()主函數(shù)用語完成各個(gè)函數(shù)返回的指令(
3、2)intwrite(struct student stuN)輸入(或添加)學(xué)生的信息(3) int search(struct student stu)查詢學(xué)生信息(4) int read(struct student stuN)瀏覽學(xué)生信息(5) int modify(struct student stuN)修改學(xué)生信息(6) int del(struct student stuN)刪除學(xué)生信息3、詳細(xì)設(shè)計(jì)3 1 模塊功能主要有以下幾個(gè)模塊函數(shù)構(gòu)成:write()/錄入或者添加學(xué)生的信息search()/用于查詢系統(tǒng)中存儲(chǔ)的學(xué)生信息read()/用于瀏覽系統(tǒng)中存儲(chǔ)的學(xué)生信息modify()
4、/ 用于修改指定系統(tǒng)中存儲(chǔ)的學(xué)生信息del()/用于刪除指定系統(tǒng)中存儲(chǔ)的學(xué)生信息3 2函數(shù)流程圖在程序編寫過程中使用函數(shù)的調(diào)用,獨(dú)立完成各個(gè)模塊的功能。.1Srarch()流程圖查詢函數(shù)的流程圖(如3 1)。開始打開存儲(chǔ)文件讀入已存學(xué)生信息ture學(xué)號(hào)查詢輸入 1falseture姓名查詢輸入 2falseDefault: 語句輸出查詢結(jié)果關(guān)閉文件并保存圖 3結(jié)1束查詢函數(shù)的流程圖2del()流程圖刪除函數(shù)流程圖如圖32開始打開存儲(chǔ)文件讀入已存的學(xué)生信息選擇輸入刪除學(xué)生的學(xué)號(hào)否查找該學(xué)生信息?是刪除操作breakbreak.退出修改選項(xiàng)關(guān)閉文件并保存文件結(jié)束圖 32 刪除函數(shù)流程圖3.modi
5、fy() 流程圖修改學(xué)生信息函數(shù)流程圖(如圖33)。開始打開學(xué)生信息存儲(chǔ)文件讀入已存的學(xué)生信息選擇要修改的學(xué)號(hào)否查找該學(xué)生信?是選擇需要修改項(xiàng)修改修改退出修改選項(xiàng)并保存關(guān)閉文件并保存所有內(nèi)容結(jié)束.圖 33 修改函數(shù)流程圖4、程序測(cè)試測(cè)試運(yùn)行如下:程序運(yùn)行后進(jìn)入系統(tǒng)界面(圖4 1)??傮w顯示該系統(tǒng)的功能菜單列表。4-1 系統(tǒng)功能菜單選擇 1 進(jìn)入錄入系統(tǒng), 需要輸入的信息包括學(xué)號(hào)姓名等學(xué)生信息, 系統(tǒng)運(yùn)行界面如(圖 4 2)。4 2 系統(tǒng)錄入菜單選擇 2 進(jìn)入學(xué)生查詢系統(tǒng)(如圖 43),在查詢系統(tǒng)中有兩種查詢方式 ( 選擇 1 按照學(xué)號(hào)查詢 ; 選擇 2 按照姓名查詢 ) 。4 3 查詢選項(xiàng)按照
6、查詢方式運(yùn)行后顯示結(jié)果并返回系統(tǒng)功能菜單以供后面操作選項(xiàng)(如圖44)。.4 4 查詢結(jié)果選擇 3 進(jìn)入修改學(xué)生信息系統(tǒng)界面如圖 (4 5), 并可以按照提示選擇需要修改的選項(xiàng)并可進(jìn)行操作。4 6 修改選項(xiàng)菜單選擇 4進(jìn)入學(xué)生信息瀏覽界面 ( 如圖 4 6), 并顯示出所有學(xué)生的信息。4 6 瀏覽信息選擇 5進(jìn)入刪除學(xué)生信息菜單系統(tǒng)(如圖47), 并提示按照學(xué)號(hào)進(jìn)行刪除,.輸入要?jiǎng)h除學(xué)生的學(xué)號(hào)。4 7 刪除菜單5、心得體會(huì)在這兩周的 C 語言實(shí)訓(xùn),雖然時(shí)間略顯倉促, 但卻讓我學(xué)到了很多實(shí)際運(yùn)用的技能!真知總是出于實(shí)踐的,自己動(dòng)手編寫程序經(jīng)過運(yùn)行調(diào)試最終完成實(shí)訓(xùn),從中獲得了很多實(shí)用知識(shí)。 軟件的開
7、發(fā)技能必須是從小程序慢慢的練習(xí), 自己動(dòng)手寫與運(yùn)行調(diào)試中獲得的。在實(shí)訓(xùn)中的第一步是編寫功能較為單一的小程序, 雖然是小程序, 但所用的知識(shí)卻都是我們所學(xué)習(xí)的重點(diǎn)知識(shí)。 在做題的過程中讓我們把這些知識(shí)復(fù)習(xí)了一遍,強(qiáng)化了知識(shí)!平時(shí)我們學(xué) C 語言視乎都是為了考試或者做一些比較常規(guī)的題目, 而這次實(shí)訓(xùn)卻給我們的將所學(xué)知識(shí)運(yùn)用于解決實(shí)際問題的機(jī)會(huì), 讓人更有激情, 這就是編寫軟件的在雛形,也讓我們感受到了編寫軟件程序的樂趣。但是不僅僅是如此,更為重要的是在運(yùn)用所學(xué)知識(shí)的過程中,記住這些知識(shí),并能夠廣泛的運(yùn)用!在這次的實(shí)訓(xùn)中讓我更充實(shí)的學(xué)到程序編寫的技能, 更激發(fā)學(xué)習(xí)程序編寫與軟件開發(fā)的樂趣。6、參考文
8、獻(xiàn)1韋良芬 , C語言程序設(shè)計(jì)經(jīng)典案例教程M北京:北京大學(xué)出版社 , 2010.62 潭浩強(qiáng), C 語言程序設(shè)計(jì) M ,北京,清華大學(xué)出版社, 19983 王立柱, CC+與數(shù)據(jù)結(jié)構(gòu), 北京:清華大學(xué)出版社, 20024 李大友, C 語言程序設(shè)計(jì) .清華大學(xué)出版社, 1999附錄一程序源代碼:#include/* 頭文件 */.#include/* 頭文件 */#include/* 頭文件 */#include/* 頭文件 */#include/頭文件#define PF printf#define N 500struct studentchar no15;/* 學(xué)號(hào) */char name
9、30;/* 姓名 */int age;/* 年齡 */char sex2;/* 性別 */char bir30;/* 出生年月 */char add30;/* 地址 */char tel13;/* 電話 */char e_mail30;/* 電子郵件 */stuN;int n;void main()int num,i;int write(struct student stuN);int search(struct student stuN);int modify(struct student stuN);int read(struct student stuN);int del(struct
10、student stuN);for(i=0;i+)PF(n);PF(*學(xué)生信息管理系統(tǒng)*n);PF(系統(tǒng)功能菜單n);PF(n);PF(=n);PF(1.錄入學(xué)生信息 .n);PF(2.查詢學(xué)生信息 .n); /里面包括按學(xué)/查詢,按姓名查詢PF(3.修改學(xué)生信息 .n);PF(4.瀏覽學(xué)生信息 .n);PF(5.刪除學(xué)生信息 .n);PF(6.退出學(xué)生信息系統(tǒng) .n);PF(=n);PF(請(qǐng)輸入 1-6 的數(shù)字 .n);scanf(%d,&num);.switch(num)case 1:write(stu);system(cls);break;case 2:system(cls);searc
11、h(stu);break;case 3:modify(stu);system(cls);break;case 4:system(cls);read(stu);break;case 5:del(stu);system(cls);break;case 6:system(cls);return;default:PF(errorn);/錄入學(xué)生信息/intwrite(struct student stuN)FILE *fp1,*fp2;int i,n;if(fp2=fopen(stu_list,rb)=NULL)/* 只讀方式打開,同時(shí)可以判斷文件是否存在 */if(fp1=fopen(stu_lis
12、t,wb)=NULL)/用只寫方式打開,就可新建文printf( 建立文件出錯(cuò) n);else/如果文件存在,用ab+(為讀寫打開一個(gè)二進(jìn)制文件)的方式打開if(fp1=fopen(stu_list,ab+)=NULL)printf( 打開文件出錯(cuò) n);.PF(請(qǐng)輸入你要輸入的學(xué)生的人數(shù)n);scanf(%d,&n);for(i=0;in;i+)PF(請(qǐng)輸?shù)?%d 個(gè)學(xué)生的學(xué)號(hào) n,i+1);scanf(%s,stui.no);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的姓名 .n,i+1);scanf(%s,&);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的年齡 .n,i+1);scanf(%d,&
13、stui.age);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的性別 .n,i+1);scanf(%s,&stui.sex);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的出生年月 .n,i+1);scanf(%s,&stui.bir);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的地址 .n,i+1);scanf(%s,&stui.add);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的電話 .n,i+1);scanf(%s,&stui.tel);PF(請(qǐng)輸入第 %d 個(gè)學(xué)生的電子郵件 .n,i+1);scanf(%s,&stui.e_mail);printf( 錄入信息完畢 n);getchar();fwrite(&stui,sizeof(struc
14、t student),1,fp1); system(cls);/ 把內(nèi)存中的結(jié)/構(gòu)體存到硬盤上去fclose(fp1);return 1;/查詢學(xué)生信息/int search(struct student stu).int a,i;char no15,name30;FILE *fp;if(fp=fopen(stu_list,rb)=NULL)printf( 文檔未建立 !);return 0;for(i=0;i+)if(fread(&stui,sizeof(struct student),1,fp)!=1)break;PF(按照學(xué)號(hào)查找,請(qǐng)輸入1n);PF(按照姓名查找,請(qǐng)輸入2n);scan
15、f(%d,&a);switch(a)case 1:PF(請(qǐng)輸入要查找的同學(xué)的學(xué)號(hào).n);/* 按照姓名來查找學(xué)生信息*/scanf(%s,no);PF(學(xué)號(hào) t 姓名 t 年齡 t 性別 t 生日地址電話 te_mailn);for(i=0;iN;i+)if(strcmp(no,stui.no)=0)PF(%st%st%dt%st%st%st%st%sn,stui.no,,stui.age,stui.sex,stui.bir,stui.add,stui.tel,stui.e_mail);break;break;case 2:PF(請(qǐng)輸入要查找的同學(xué)的姓名.n);/* 按照學(xué)號(hào)
16、來查找學(xué)生信息*/scanf(%s,name);PF(學(xué)號(hào) t 姓名 t 年齡 t 性別 t 生日地址電話 te_mailn);for(i=0;iN;i+).if(strcmp(name,)=0)PF(%st%st%dt%st%st%st%st%sn,stui.no,,stui.age, stui.sex,stui.bir,stui.add,stui.tel,stui.e_mail);break;break;default: PF(errorn);return 1;/瀏覽學(xué)生信息/int read(struct student stuN)int i;FILE
17、 *fp;if(fp=fopen(stu_list,rb)=NULL)printf( 沒有發(fā)現(xiàn)學(xué)生檔案 !);return 0;PF(學(xué)號(hào) t 姓名 t 年齡 t 性別 t 生日 t 地址 t 電話 te_mailn);for(i=0;i+)if(fread(&stui,sizeof(struct student),1,fp)!=1)break;PF(%st%st%dt%st%st%st%st%sn,stui.no,,stui.age,stui.sex,stui.bir,stui.add,stui.tel,stui.e_mail);return 1;/修改學(xué)生信息/int m
18、odify(struct student stuN).FILE *fp;int i,x,y=1,num,count=0;char no15;if(fp=fopen(stu_list,rb)=NULL)printf( 沒有發(fā)現(xiàn)學(xué)生檔案 !);return 0;for(i=0;i+)if(fread(&stui,sizeof(struct student),1,fp)!=1)break;count+;fclose(fp);PF(請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào)n);scanf(%s,no);for(i=0;icount;i+)if(strcmp(no,stui.no)=0)num=i;PF(t1.姓名
19、n);PF(t2.年齡 n);PF(t3.性別 n);PF(t4.出生年月 n);PF(t5.地址 n);PF(t6.電話 n);PF(t7.電子郵件 n);PF(t8.退出并保存修改 n);for(i=0;y;i+).PF(請(qǐng)輸入你要修改的學(xué)生信息的選項(xiàng)n);scanf(%d,&x);switch(x)case 1:PF(請(qǐng)輸入新的姓名 :n);/* 修改學(xué)生姓名 */scanf(%s,);break;case 2: PF(請(qǐng)輸入新的年齡 :n);/* 修改學(xué)生年齡 */scanf(%d,&stunum.age);break;case 3:printf( 請(qǐng)輸入新的性別
20、 :n);/* 修改學(xué)生性別 */scanf(%s,stunum.sex);break;case 4:printf( 請(qǐng)輸入新的出生年月 :n);/* 修改學(xué)生出生年月 */scanf(%s,stunum.bir);break;case 5:printf( 請(qǐng)輸入新的地址 :n);/* 修改學(xué)生地址 */scanf(%s,stunum.add);break;case 6:printf( 請(qǐng)輸入新的電話號(hào)碼 :n);/* 修改學(xué)生的電話 */scanf(%s,stunum.tel);break;case 7:printf( 請(qǐng)輸入新的 e_mail 地址 :n);/* 修改學(xué)生的 e_mail*/scanf(%s,stunum.e_mail);break;case 8:y=0;break;default:printf( 請(qǐng)?jiān)谶x擇操作選項(xiàng) n);.if(fp=fopen(stu_list,wb)=NULL)printf(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋買賣合同格式模板
- 2024舞蹈教室租賃合同樣本
- 2024年家庭居室裝修工程協(xié)議
- 年西安市設(shè)備技術(shù)轉(zhuǎn)讓合同樣本-合同范本
- 2024工程建設(shè)招標(biāo)投標(biāo)協(xié)議合同范本
- 簡(jiǎn)約技術(shù)專利權(quán)轉(zhuǎn)讓合同
- 2024公司股份轉(zhuǎn)讓合同股份轉(zhuǎn)讓后可以毀約
- 2024年車輛礦石運(yùn)輸合同范本
- 廢料回收權(quán)轉(zhuǎn)讓協(xié)議
- 公司流動(dòng)資金借款合同
- 公司銷售部職能說明書表格
- 《大學(xué)生心理健康教育》(教案) 第十課 戀愛與性切勿草率-大學(xué)生戀愛和性心理健康
- 處方點(diǎn)評(píng)工作表
- 基地園區(qū)網(wǎng)絡(luò)方案建議書
- 三年級(jí)語文上冊(cè)第五單元【教材解讀】
- 幼兒園中班語言《兩只蚊子吹牛皮》課件
- 2020新版高中地理課程標(biāo)準(zhǔn)
- 天氣學(xué)原理試題庫(含答案)
- 部編版二年級(jí)上冊(cè)道德與法治教案(完整版)
- 消化道出血課件
- 塑膠產(chǎn)品QC工程圖
評(píng)論
0/150
提交評(píng)論