




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、海奇4種手比課程設(shè)計報告課程名稱C語言程序設(shè)計課題名稱學(xué)生信息管理系統(tǒng)專 業(yè)電氣工程及其自動化班級1086班學(xué) 號 2姓名周餞指導(dǎo)教師彭禎劉錚郭芳2011年 6 月20 日湖南工程學(xué)院課程設(shè)計任務(wù)書課程名稱C課程設(shè)計課 題學(xué)生信息管理系統(tǒng)專業(yè)班級 電氣1086班學(xué)生姓名周鐵學(xué)號指導(dǎo)老師彭禎劉錚郭芳審批任務(wù)書下達日期 2011年6月20日任務(wù)完成日期2011年7月1日3目錄一、題目總體介紹錯誤!二、需求分析錯誤!三、總體設(shè)計錯誤!1、現(xiàn)行系統(tǒng)組織結(jié)構(gòu)圖: 錯誤!2、數(shù)據(jù)結(jié)構(gòu)分析錯誤!3、工作原理等錯誤!三、詳細設(shè)計錯誤!四.系統(tǒng)調(diào)試與結(jié)果分析 錯誤!六、總結(jié)錯誤!七、附件錯誤!未定義書簽 未定義
2、書簽 未定義書簽 未定義書簽, 未定義書簽 未定義書簽 未定義書簽 未定義書簽 未定義書簽 未定義書簽未定義書簽,參考文獻錯誤!4一、題目總體介紹(1) 、課程設(shè)計題目:學(xué)生信息管理(2) 、課程設(shè)計內(nèi)容與主要功能:設(shè)計與開發(fā)一個學(xué)生信息管理系統(tǒng),對學(xué)生的學(xué)號、姓名、性別、年齡等基本信息進行管理、主要功能如下:1) ) 輸入記錄2) 顯示全部記錄3) 查找記錄4) 刪除記錄5) 插入記錄6) 保存文件7) 讀文件8) 按學(xué)號顯示記錄9) 按姓名排序(3) 、目的與要求:1、目的:( 1 )要求學(xué)生達到熟練掌握C 語言的基本知識和技能;(2)基本掌握C語言程序設(shè)計的基本思路和方法;(3)能夠利用
3、所學(xué)的基本知識和技能,解決簡單的C語言程序設(shè)計問題。2、基本要求:1)設(shè)計正確,方案合理。2)界面友好,使用方便。3)程序精煉,結(jié)構(gòu)清晰。3、創(chuàng)新要求:在基本要求達到后,可進行創(chuàng)新設(shè)計,如根據(jù)查找結(jié)果進行修改的功 能。4、寫出設(shè)計說明書、設(shè)計方法和基本原理:1、問題描述(功能要求):(1)能夠從屏幕上讀取一個學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按學(xué)號、姓名、性別、年齡對學(xué)生的信息進行檢索并將檢索 結(jié)果顯示在屏幕上。(4)如果檢索不到相應(yīng)的信息應(yīng)提示用戶。2、問題的解決方案:根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:(1)寫出需求分析(做什么);
4、(2)分析系統(tǒng)中的各個實體之間的關(guān)系及其屬性和行為;(3)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次;(4)完成類層次中各個類的描述(包括屬性和方法);(5)完成類中各個成員函數(shù)的定義;(6)用戶界面的設(shè)計;(7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);(8)代碼編寫,功能調(diào)試;(9)完成系統(tǒng)總結(jié)報告以及系統(tǒng)使用說明書。二、需求分析(1)能夠從屏幕上讀取一個學(xué)生的信息并將信息存入到數(shù)據(jù)文件中。(2)能夠?qū)⒅付ǖ男畔奈募袆h除。(3)能夠按學(xué)號、姓名、性別、年齡對學(xué)生的信息進行檢索并將檢索 結(jié)果顯示在屏幕上。(7)如果檢索不到相應(yīng)的信息應(yīng)提示用戶。三、總體設(shè)計291、現(xiàn)行系統(tǒng)組織結(jié)構(gòu)圖:2、數(shù)據(jù)結(jié)構(gòu)分析使用整型,
5、雙精度,字符型定義變量和函數(shù)。使用結(jié)構(gòu)體,類等概念實現(xiàn)數(shù)據(jù)存儲。同時也是用這些自定義類型定義了變量和函數(shù)。體現(xiàn)面向?qū)ο笤O(shè)計的特點。3、工作原理等系統(tǒng)功能結(jié)構(gòu)圖:四、詳細設(shè)計1 、類設(shè)計類: student數(shù)據(jù)成員學(xué)號,姓名,性別,年齡類: school成員函數(shù)輸入記錄函數(shù)enter ():輸入編號到計算機中;顯示記錄函數(shù)list() :顯示全部輸入的內(nèi)容,如學(xué)號、姓名、性別、年齡等;按姓名查找顯示記錄函數(shù)search ():按學(xué)號或姓名查找學(xué)生的信息;刪除記錄函數(shù)delete。:刪除指定學(xué)號學(xué)生信息;插入記錄函數(shù)add():插入指定學(xué)號學(xué)生信息;記錄保存為文件函數(shù)save():將學(xué)生信息保存為
6、文件函數(shù);從文件中讀記錄函數(shù)10ad():從文件中讀出學(xué)生信息;按序號查找顯示記錄函數(shù)display() :按序號查找學(xué)生信息;按姓名排序函數(shù)s0rt() :按學(xué)生姓名排序;文件復(fù)制函數(shù)copy():將文件復(fù)制;顯示單條記錄函數(shù)print(STUDENTS temp); 顯示單條學(xué)生信息;查找函數(shù)find(STUDENTS t,int n,char *s) :查找學(xué)生信息;輸出函數(shù) menu_se1ect():輸出學(xué)生信息;五系統(tǒng)調(diào)試與結(jié)果分析1 、初始目錄:2、輸入數(shù)據(jù):3、顯示所有記錄:4、查找記錄:5、刪除記錄:6、插入記錄:7、按姓名排序8、復(fù)制信息9、按序號排序2.系統(tǒng)運行的結(jié)果:設(shè)
7、計特點和不足之處:系統(tǒng)整體清晰明了,功能基本齊全,但系統(tǒng)中報錯功能不完整,當(dāng)學(xué)號等信息 輸入數(shù)字等時不出現(xiàn)報錯,可設(shè)置提醒重新輸入。六、總結(jié)1、在做了課程實驗以后,我對 C語言的了解更深了,很多知識得到了鞏周,一些不懂的知識也漸漸明了!但從C語言這門課程開始,已發(fā)現(xiàn)程序設(shè)計的樂趣,在學(xué)習(xí)C語言的過程中也學(xué)到了許多計算機應(yīng)用基礎(chǔ)知 識,對計算機的機體也有了 一個大體的了解2、作了學(xué)生學(xué)生信息管理系統(tǒng)程序后,我對數(shù)據(jù)類型、函數(shù)、指針、結(jié) 構(gòu)體更加熟悉了,作為 C語言所特有得指針、結(jié)構(gòu)體和對象再編寫程 序得過程中運用十分廣泛,我還必須多加練習(xí)才能達到一個更高的水平,結(jié)構(gòu)體和對象、指針都是非常重要的。
8、3、這次實訓(xùn)是彭禎老師給了很大引導(dǎo),經(jīng)過自己的改寫,實現(xiàn)要求。先做簡單的輸出,一步步的再做其它圖案,在實際操作過程中犯 的一些錯誤還會有意外的收獲,感覺實訓(xùn)很有意思。在具體操作中對 這學(xué)期所學(xué)的C語言的理論知識得到鞏固,達到實訓(xùn)的基本目的,也發(fā)現(xiàn)自己的不足之出,在以后的上機中應(yīng)更加注意,同時體會到C語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點。發(fā)現(xiàn)上機實訓(xùn)的 重要作用,特別是對數(shù)組和循環(huán)有了深刻的理解。4、在完完整整的做完一個課程實驗后,我對程序的整體性有了一個明確 的認(rèn)識,做一個程序必須要注意程序前后的聯(lián)系,要具有清晰的思路,程序要具有層次。對整體性的把握至關(guān)重要!5、學(xué)習(xí)計算機語言,最重
9、要的就是上機操作,我深感自己動手能力比較 差,在以后的學(xué)習(xí)中,還必須多多上機調(diào)試程序,從實踐中多積累經(jīng) 驗,為以后學(xué)習(xí)和工作打下堅實的基礎(chǔ)。七、附件/*頭文件(.h ) */#include /*I/O函數(shù)*/#include /*標(biāo)準(zhǔn)庫函數(shù)*/#include /*字符串函數(shù)*/#include /*字符操作函數(shù)*/#define M 50 /*定義常數(shù)表示記錄數(shù)*/typedef struct /*定義數(shù)據(jù)結(jié)構(gòu)*/char no20;/*學(xué)號*/char name20; /*姓名*/顯示記錄*/按姓名查找顯示記錄*/刪除記錄*/插入記錄*/記錄保存為文件*/從文件中讀記錄*/按序號查找顯示
10、記錄*/按姓名排序*/顯示單條記錄*/int menu_select(); /*主菜單函數(shù)*/char sex5;/* 性別 */int age;/* 年齡 */ STUDENTS;/*/int enter(STUDENTS t); /* 輸入記錄*/void list(STUDENTS t,int n); /* void search(STUDENTS t,int n); /* int delete(STUDENTS t,int n); /* int add(STUDENTS t,int n); /* void save(STUDENTS t,int n); /* int load(STUD
11、ENTS t); /* void display(STUDENTS t); /* void sort(STUDENTS t,int n); /* void copy(); /* 文件復(fù)制*/void print(STUDENTS temp); /*int find(STUDENTS t,int n,char *s) ; /*查找函數(shù)*/*/main()STUDENTS stuM; /* 定義結(jié)構(gòu)體數(shù)組*/int length; /* 保存記錄長度*/clrscr(); /* 清屏 */for(;)/* 無限循環(huán)*/switch(menu_select() /*調(diào)用主菜單函數(shù),返回值整數(shù)作開關(guān)語
12、句*/case 0:length=enter(stu);break;/*輸入記錄*/case 1:list(stu,length);break; /*顯示全部記錄*/查找記錄*/刪除記錄*/插入記錄*/保存文件*/讀文件*/按序號顯示記錄*/按姓名排序*/case 2:search(stu,length);break; /*case 3:length=delete(stu,length);break; /*case 4:length=add(stu,length); break; /*case 5:save(stu,length);break; /*case 6:length=load(stu
13、); break; /*case 7:display(stu);break; /*case 8:sort(stu,length);break; /*復(fù)制文件*/如返回值為11則程序結(jié)束*/case 9:copy();break; /*case 10:exit(0); /*/*菜單函數(shù),函數(shù)返回值為整數(shù),代表所選的菜單項*/ menu_select()char s80;int c;gotoxy(1,25);/*將光標(biāo)定為在第 25行,第1列*/printf(press any key enter menun);/*提示壓任意鍵繼續(xù) */getch(); /*讀入任意字符*/clrscr(); /
14、* 清屏 */gotoxy(1,1);printf(I*MENU*nn);printf(0.Enter recordn);printf(1.List the filen);printf(2.Search record onnamen);printf(3.Delete a recordn);printf(4.add record n);printf(5.Save the filen);printf(6.Load the filen);printf( 7. display record on ordern);printf( 8. sort to make new filen);printf(9.
15、copy the file to new filen);printf(10. Quitn);printf(*n);doprintf(n Enteryou choice(010):);/* 提示輸入選項*/scanf(%s,s); /*輸入選擇項*/c=atoi(s); /* 將輸入的字符串轉(zhuǎn)化為整型數(shù)*/while(c10); /* 選擇項不在011 之間重輸*/return c; /* 返回選擇項,主程序根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù)*/* 輸入記錄,形參為結(jié)構(gòu)體數(shù)組,函數(shù)值返回類型為整型表示記錄長度*/int enter(STUDENTS t) int i,n;char *s;clrscr();
16、/* 清屏 */printf(nplease input num n); /*提示信息*/scanf(%d,&n); /* 輸入記錄數(shù)*/printf(please input record n); /*提示輸入記錄*/printf(no name sex agen);printf(n);for (i=0;in;i+)scanf(%s,ti.no);scanf(%s,);scanf(%s,ti.sex);scanf(%d,&ti.age);return n; /*返回記錄條數(shù)*/*顯示記錄,參數(shù)為記錄數(shù)組和記錄條數(shù)*/void list(STUDENTS 肛int n)int i
17、;clrscr();printf(nn*STUDENTS*n);printf(noname sex agen);printf(n);for(i=0;in-1) /* 如果整數(shù)i值大于n-1 ,說明沒找到*/printf(not foundn);elseprint(ti); /*找到,調(diào)用顯示函數(shù)顯示記錄*/* 顯示指定的一條記錄*/ void print(STUDENTS temp) clrscr();printf(nn*n);printf(noname sex agen);n);printf(printf(%-20s%-20s%-10s%-10dn,temp.no,,tem
18、p.sex,temp.age );printf(I*end*n);/* 查找函數(shù),參數(shù)為記錄數(shù)組和記錄條數(shù)以及姓名s */ int find(STUDENTS t,int n,char *s)int i;for(i=0;in;i+)/* 從第一條記錄開始,直到最后一條*/if(strcmp(s,)=0)/*記錄中的姓名和待比較的姓名是否相等 */return i; /*相等,則返回該記錄的下標(biāo)號,程序提前結(jié)結(jié)束*/return i; /* 返回 i 值 */* 刪除函數(shù),參數(shù)為記錄數(shù)組和記錄條數(shù)*/int delete(STUDENTS t,int n)char s20; /*要
19、刪除記錄的姓名 */int ch=0;int i,j;printf(please deleted namen); /*提示信息 */scanf(%s,s);/*輸入姓名 */i=find(t,n,s); /*調(diào)用 find 函數(shù) */for(;i=i;j-) /*strcpy(tj+1.no,tj.no); /*strcpy(tj+1.name,); /*條 */strcpy(tj+1.sex,tj.sex); /*tj+1.age=tj.age; /*當(dāng)前記錄的年齡拷貝到后一條strcpy(ti.no,temp.no); /*strcpy(,);
20、*/* 將新插入記錄的性別拷貝到第i 個位置 */將新插入記錄的年齡拷貝到第i 個位置 */*/*/strcpy(ti.sex,temp.sex);ti.age = temp.age; /*n+; /* 記錄數(shù)加1*/return n; /* 返回記錄數(shù)/* 保存函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù)void save(STUDENTS t,int n)int i;FILE *fp; /* 指向文件的指針*/*打開文件,并判斷打開是沒打開 */輸出提示信息*/將記錄數(shù)寫入文件*/if(fp=fopen(record.txt,wb)=NULL)否正常 */printf(can not open file
21、n);/*exit(1); /*退出 */printf(nSaving filen); /* fprintf(fp,%d,n); /*將換行符號寫入文件*/fprintf(fp,rn); /* for(i=0;in;i+) fprintf(fp,%-20s%-30s%-10s%-10d”,ti.no,,ti.sex,ti.age);/*格式寫入記錄*/fprintf(fp,rn); /*將換行符號寫入文件 */fclose(fp);/*關(guān)閉文件 */printf(*save success*n); /*/*讀入函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組*/int load(STUDENTS t口)i
22、nt i,n;FILE *fp;/*指向文件的指針*/if(fp=fopen(record.txt,rb)=NULL)/* printf(can not open filen); /*exit(1); /*退出 */顯示保存成功*/打開文件*/不能打開*/fscanf(fp,%d,&n); /* 讀入記錄數(shù) */for(i=0;i=0&idn) /*判斷序號是否在記錄范圍內(nèi)*/printf(Enter order number.n); /*移動文件指針到該記錄位fseek(fp,(id-1)*sizeof(STUDENTS),1); /* 置 */print(tid); /*調(diào)用輸出函數(shù)顯示該
23、記錄*/printf(rn);else如果序號不合理顯示信printf(no %d number record!n ,id); /*息 */fclose(fp); /*關(guān)閉文件*/* 排序函數(shù),參數(shù)為結(jié)構(gòu)體數(shù)組和記錄數(shù)*/ void sort(STUDENTS t,int n)int i,j,flag;STUDENTS temp; /* 臨時變量做交換數(shù)據(jù)用*/for(i=0;in;i+)flag=0; /*設(shè)標(biāo)志判斷是否發(fā)生過交換*/for(j=0;j0)/*比較大小 */temp=tj; tj=tj+1;tj+1=temp;flag+;if(flag=0)break; /*如果標(biāo)志為 0,說明沒有發(fā)生過交換循環(huán)結(jié)束*/printf(sort sucess!n); /*顯示排序成功 */*復(fù)制文件*/void copy()char outfile20; /*目標(biāo)文件名 */int i,n;STUDENTS tempM; /* 定義臨時變量 */FILE *sfp,*tfp; /*定義指向文件的指針*/clrscr();/* 清屏 */if(sfp=fopen(record.txt,rb)=NULL) /*打開記錄文件 */printf(can not
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB Q071-2024 酶底物法微生物智能培養(yǎng)計數(shù)一體機
- T-ZJHIA 16-2024 特殊醫(yī)學(xué)用途配方食品臨床營養(yǎng)治療營養(yǎng)篩查數(shù)據(jù)集
- 二零二五年度離婚協(xié)議中夫妻共同財產(chǎn)清算補充協(xié)議
- 二零二五年度直播帶貨主播合作權(quán)益保障合同
- 2025年度智能制造合作伙伴協(xié)議書
- 二零二五年度木制家具生產(chǎn)廠木工用工協(xié)議書
- 二零二五年度車輛掛靠運輸合同車輛運輸合同安全保障協(xié)議
- 二零二五年度個人租賃帶太陽能熱水系統(tǒng)住宅合同
- 二零二五年度餐飲行業(yè)知識產(chǎn)權(quán)保護協(xié)議
- 二零二五年度兼職攝影師聘用合同模板
- 家校共育之道
- DeepSeek入門寶典培訓(xùn)課件
- 西安2025年陜西西安音樂學(xué)院專職輔導(dǎo)員招聘2人筆試歷年參考題庫附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應(yīng)性聯(lián)考英語試題(原卷版)
- 新蘇教版一年級下冊數(shù)學(xué)第1單元第3課時《8、7加幾》作業(yè)
- 2024年山東電力高等專科學(xué)校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 2024年電力交易員(高級工)職業(yè)鑒定理論考試題庫(單選題、多選題、判斷題)
- 《平面廣告賞析》課件
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
評論
0/150
提交評論