




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗報告一、問題述及其需求分析(一) 問題述學生信息管理系統(tǒng)是對學生信息的基本管理,其中包括以下及模塊:(1) 增加一個學生的信息(需輸入要增加學生的所有信息);(2)統(tǒng)計本班學生總人數(shù)及男女生人數(shù)。(3)分別按照學號查找學生的信息;若找到則輸出該學生全部信息,否則輸出查找不到的提示信息。(4)按學號對所有學生信息排序,并輸出結果;(5)刪除一個學生的信息(需指定要刪除學生的學號);同時顯示刪除后的結果(二)功能需求分析學生信息管理系統(tǒng)設計學生信息包括:學號,性別,出生年月,使之提供以下功能:1、系統(tǒng)以菜單方式工作2、建立鏈表并顯示3、插入新的學生信息4、刪除某學號的學生信息5、查找某學號的學
2、生信息6對學生信息排序void del(struct stucode *r);7、統(tǒng)計學生人數(shù)8、輸出學生信息二總體設計(一)模塊依據(jù)程序的數(shù)據(jù)結構,描述該程序的層次結構,如下圖:1、建立鏈表并顯示void createlist(struct stucode *r);2、插入新的學生信息void in sert(struct stucode *r);3、刪除某學號的學生信息8學生void del(struct stucode *r);4、查找某學號的學生信息void search1(struct stucode *r);5、對學生信息排序void sort(struct stucode *r)
3、;6統(tǒng)計學生人數(shù)void search2(struct stucode *r);7、輸出學生信息void out(struct stucode *r);(二)程序總體框架模塊層次結構,只確定了模塊之間的關系和函數(shù)原型,不是程序的執(zhí)行步驟。程序總體框架是該程序的總體流程圖。改程序不是順序連續(xù)地執(zhí)行全部功能,而是在某一時刻有選擇地執(zhí)行一種或多種功能。因此選用菜單方式是較佳的方案,程序總體框架如下圖:mai n()菜單1輸入2輸出3排序4添加5刪除6、統(tǒng)計7查詢8退出struct stud菜單代碼1建立鏈表并顯示學生信息學生信息找學牛(三)運行環(huán)境(軟,硬件環(huán)境)硬件:CPU,存,主板,硬盤,顯卡,
4、鍵盤,顯示器等等。軟件:Windows XP trubo c應用軟件。(四)開發(fā)工具和編程語言開發(fā)工具:trubo c編程語言:C語言三、詳細設計(一)數(shù)據(jù)結構依據(jù)給定學生信息和數(shù)據(jù)格式,數(shù)組用結構體實現(xiàn),結構體層次結構:typedef struct stucode學號 整型long int num;字符串n ame20;性別 字符串sex2;出生日期字符串birthday12;聯(lián)系方式字符串tel12;;頭文件#i nclude#i nclude#i ncludevstri ng.h/*定義數(shù)據(jù)結構和鏈表*/struct studlong num;char n ame20;char sex2
5、;char birthday12;char tel12;struct stud stude nt ;struct stucode *n ext;L;(二八算法說明1、主函數(shù)的算法設計:清屏、顯示子菜單及運用選擇操作(運用swith語句),調用各個子函數(shù),最后退出程序,主要代碼:while(flag)system(cls);menu();choose=getchar();switch(choose)2、各個子函數(shù)的算法設計1、一些顯示操作,輸入相應的容即可代碼:2、創(chuàng)建鏈表并顯示學生信息申請空間p=(L *)malloc(sizeof(L);學生信息的輸入及顯示:p-stude nt. num=
6、n;strcpy(p-stude nt. name,a);p-n ext=NULL;3、學生信息的刪除首先查詢要刪除的學生信息的學號,如果存在刪除該學生,如果不存在給予 相應的提示。t=p-n ext;p-n ext=p-n ext- n ext;free(t);/釋放空間4、學生信息的排序新建,然后按要求對學生信息進行排序while(z-n ext&z-n ext-stude nt.num =p-stude nt. num)z=z-n ext;p-n ext=z-n ext;z-n ext=p;5、學生人數(shù)的統(tǒng)計:6、學生信息的顯示:直接發(fā)調用函數(shù)即可。四、運行結果五、總結1、調試分
7、析(1)剛編譯完后有好多錯誤和警告,運行失敗,然后經(jīng)過修改錯誤警告慢慢減 少,最終可以運行。(2)該程序中可能還存在一些小問題,比如有的時候它會主動清屏,有的時 候不會。并且我在編譯的過程中發(fā)現(xiàn)自己存在好多毛病, 有粗心了等,不注意細節(jié),其實自己也知道細節(jié)決定成敗,以后我會注意。2、設計總結經(jīng)過一周的課程設計,我學到了很多東西:1鞏固和加深了對數(shù)據(jù)結構的理解,提高綜合運用本課程所學知識的能力。2培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究, 分析問題、解決問題的能力。3過實際編譯系統(tǒng)的分析設計、編程調試,掌握應用軟件的分析方法和工程設計 方法。4夠按要求編寫課程設計報告
8、書,能正確闡述設計和實驗結果,正確繪制系統(tǒng)和 程序框圖。5通過課程設計,培養(yǎng)了我嚴肅認真的工作作風,逐步建立正確的生產(chǎn)觀念、經(jīng) 濟觀念和全局觀念。課程設計是把我們所學的理論知識進行系統(tǒng)的總結并應用于實踐的良好機 會,有利于加強我們用知識理論來分析實際問題的能力,進而加強了我們對知識 認識的實踐度,鞏固了我們的理論知識,深化了對知識的認識,并為走向社會打 下一個良好的基礎。在這次課程設計中我遇到許多問題和麻煩, 得到了老師的幫助和指導,才能 夠使得這次課程設計順利的進行下去, 另外,在程序調試過程中,也得到很多同 學的幫助,給我及時指出錯誤,提出許多寶貴意見。在此對老師和同學們表示感!六、參考文
9、獻書籍:譚浩強 C程序設計(第三版)清華大學譚浩強 C程序設計題解與上機指導(第三版)清華大學typedef struct stucode王為青 變紅 C語言咼級編程及實例剖析人民郵電建勛 C語言程序設計教程清華大學玲桂瑋珍蓮英C語言程序設計教程習題解答與實驗指導源程序:#i nclude#i nclude#i ncludestruct studlong num;char n ame20;char sex2;char birthday12;char tel12;人民郵電struct stud stude nt ;struct stucode *n ext;L;void menu();void
10、createlist(struct stucode *r);void out(struct stucode *r);void search1(struct stucode *r);void search2(struct stucode *r);void del(struct stucode *r);void in sert(struct stucode *r);void sort(struct stucode *r);void mai n()char choose;int flag=1;struct stucode *r=NULL;while(flag) system(cls);menu();
11、choose=getchar();switch(choose)case 1:createlist(&r);out(r);printf(Testing function 1nPress any key to continued);getchar();getchar();break;case 2:search1(r);printf(Testing function 1nPress any key to continued);getchar();getchar();break;case 3:search2(r);printf(Testing function 1nPress any key
12、to continued);getchar();getchar();break;case 4:del(&r);out(r);printf(Testing function 1nPress any key to continued);getchar();getchar();break;case 5:in sert(&r);out(r);printf(Testing function 1nPress any key to continued);getchar();getchar();break;case 6: sort(&r);out(r);prin tf(Test ing
13、 fun cti on 1n Press any key to con ti nuen ”);getchar();getchar();break;case 7:out(r);prin tf(Test ing fun cti on 7n Press any key to con ti nuen ”);getchar();getchar();break;case O:flag=0;prin tf(The en d.n);getchar();getchar();break;default: printf(nWrong Selection!(選擇錯誤,請重選!)n);getchar();getchar
14、();strcpy(p-stude nt.sex,s);void createlist(struct stucode *r)struct stucode *p,*t;long n;char a20;char s4;char b12;char m12;if(*r) *r=NULL;printf( n請輸入:n學號(請按學號升序排列)性別 出生日期結束請輸入五個為零)n);sca nf(%ld%s%s%s%s,&n ,a,s,b,m);if(n=0) retur n;p=(L *)malloc(sizeof(L);p-stude nt. num=n;strcpy(p-stude nt. n
15、ame,a);strcpy(p-stude nt.birthday,b);(若strcpy(p-stude nt.tel,m);p- next=NULL;*r=p;sca nf(%ld%s%s%s%s,&n ,a,s,b,m);while( n)t=p;p=(L *)malloc(sizeof(L);p-stude nt. num=n;strcpy(p-stude nt. name,a);strcpy(p-stude nt.sex,s);strcpy(p-stude nt.birthday,b);strcpy(p-stude nt.tel,m);p- next=NULL;t-n ext
16、=p;sca nf(%ld%s%s%s%s,&n ,a,s,b,m);void search1(struct stucode *r)long x;if(!r)printf(沒有學生信息可查詢!n);return ;printf(請輸入要查詢的學生信息的學生學號:n);sea nf(%ld, &x);while(r&r-stude nt. nu m!=x)r=r-n ext;if(r=NULL)printf(Error! No such student !n);else prin tf(%ld %s %s %s %sn ,r-stude nt.num ,r-stude n
17、t.n ame,r-student.sex,r-stu den t.birthday,r-stude nt.tel);void search2(struct stucode *r)int a=0,b=0,c=0;if(!r) printf(沒有學生信息可統(tǒng)計!n);return ;elsewhile(r)a+;if(strcmp(r-student.sex,男)=0)b+;if(strcmp(r-student.sex,女)=0)c+;r=r-n ext;printf(共有學生dA,其中男生dA,女生dA,a,b,c);void del(struct stucode *r)long k;str
18、uct stucode *p=*r,*t;if(!(*r)printf(沒有學生信息可刪除!n);return ;printf(請輸入要刪除的學生信息的學生學號:n);sca nf(%ld,&k);if(p-stude nt. num=k)*r=(*r)-n ext,free(p);elsewhile(p-n ext&p-n ext-stude nt. nu m!=k)p=p-n ext;if(p- next=NULL)printf(Error! No such student !n);elset=p-n ext;p-n ext=p-n ext- n ext;free(t);
19、void in sert(struct stucode *r) long n;char a20;char s4;char b12;char m12;L *p,*t,*k;printf( n請輸入:n學號(請按學號升序排列)性別 出生日期結束請輸入三個為零)n);sea nf(%ld%s%s%s%s,&n ,a,s,b,m);p=(L *)malloc(sizeof(L);p-stude nt. num=n;strcpy(p-stude nt. name,a);strcpy(p-stude nt.sex,s);strcpy(p-stude nt.birthday,b);strcpy(p-
20、stude nt.tel,m);if(!(*r)*r=p;(*r)- next=NULL;return ;if(p-stude nt. num v(*r)-stude nt. num) p-n ext=(*r),(*r)=p;(若else t=*r;k=t;while(t- n ext&t- n ext-stude nt. num v=p-stude nt. num) t=t- n ext;p-n ext=t- n ext;t-n ext=p;*r=k; void sort(struct stucode *r)struct stucode *t,*p,*q,*z;if(!r)printf(沒有學生信息可排序!n);return
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財富管理企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 運動手套企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 金屬造型工藝品批發(fā)企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 晉升副主任護師述職報告
- 二零二五年度企業(yè)集團人事代理與薪酬福利定制合同
- 二零二五年度商鋪租賃環(huán)保責任書
- 2025年中尺度自動氣象站系統(tǒng)合作協(xié)議書
- 2025年度高科技企業(yè)上市擔保合同
- 二零二五年度裝配式建筑承包合同
- 2025年LORAN-E電子探空儀合作協(xié)議書
- 化工建設行業(yè)分析
- 教師事業(yè)單位獎勵審批表主要事跡六篇
- 私樁共享商業(yè)計劃書
- 蔬菜基地報告
- 新時代這十年的變化
- 山地光伏培訓課件
- 醫(yī)療器械經(jīng)營基礎知識培訓售后服務規(guī)范
- 制造產(chǎn)品運營方案
- 人工智能技術的應用前景與發(fā)展趨勢
- 小手拉大手-城管送法進校園
- 血站質量管理和質量控制
評論
0/150
提交評論