




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、*實(shí)踐教學(xué)*xx 理工大學(xué)軟件學(xué)院計(jì)算機(jī)應(yīng)用基礎(chǔ)課程設(shè)計(jì)題目:學(xué)生信息管理系統(tǒng)專業(yè)班級(jí):軟件 1班姓名:xx學(xué)號(hào):xx指導(dǎo)教師:xx成績(jī): _方案書摘要此次我們?cè)O(shè)計(jì)的是學(xué)生信息管理系統(tǒng),在程序中運(yùn)行學(xué)生信息創(chuàng)建模塊,列出模塊,刪除模塊,查找模塊,保存模塊等,在程序中用到了選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),結(jié)構(gòu)體,數(shù)組,文件操作,自定義函數(shù)等。關(guān)鍵詞 :結(jié)構(gòu)體;文件操作;數(shù)組;循環(huán)結(jié)構(gòu);選擇結(jié)構(gòu);自定義函數(shù)方案書目錄1 需求分析···············
2、183;····································12 總體設(shè)計(jì)············&
3、#183;·······································12.1程序的總體設(shè)計(jì)········
4、183;·································12.2數(shù)據(jù)結(jié)構(gòu)···············
5、·······························23 詳細(xì)設(shè)計(jì)··················
6、;··································43.1主控模塊設(shè)計(jì)··············&
7、#183;·····························43.2列出模塊···················
8、;···························54 主要函數(shù)功能描述·····················
9、··························64.1 主函數(shù) main()·····················
10、83;······················64.2 列出函數(shù)print_list()························
11、···············75 測(cè)試與調(diào)試·································
12、3;··············86 個(gè)人設(shè)計(jì)小結(jié)與心得體會(huì)·································
13、183;·····11參考文獻(xiàn) ···········································&
14、#183;···········11附件 1 程序源代碼 ····································
15、···········11方案書1 需求分析(1) 問(wèn)題根據(jù)需求,該系統(tǒng)所應(yīng)包含的信息有以下一些 :息學(xué)生的基本信:學(xué)號(hào)、姓名、性別、 QQ、電話根據(jù)需求,該系統(tǒng)所應(yīng)實(shí)現(xiàn)的功能有以下一些:各種基本數(shù)據(jù)的錄入。如:學(xué)生基本信息錄入。各種基本數(shù)據(jù)的修改。即:允許對(duì)已經(jīng)錄入的數(shù)據(jù)重新進(jìn)行編輯、修改。例如修改學(xué)生信息中張三的電話信息各種基本數(shù)據(jù)的刪除。例如將張三的信息從學(xué)生信息中刪除基于各種數(shù)據(jù)的查詢。例如輸入學(xué)號(hào) 1,查詢學(xué)號(hào)為 1 的名字、性別、 QQ和電話。各種基本信息的瀏覽。例如對(duì)保存
16、的學(xué)生信息的瀏覽。(2) 系統(tǒng)采用 C語(yǔ)言實(shí)現(xiàn),開發(fā)環(huán)境為 VC,可以運(yùn)行在操作系統(tǒng) windows98 及以上皆可。(3)運(yùn)行要求能不受限制的錄入學(xué)生信息。界面友好,操作方便,例如刪除前需要提示用戶是否刪除。容錯(cuò)性強(qiáng),例如數(shù)據(jù)導(dǎo)出時(shí),如果文件不存在需要提示用戶。2 總體設(shè)計(jì)2.1 程序的總體設(shè)計(jì)在系統(tǒng)設(shè)計(jì)方面需采用模塊化 ,把一個(gè)復(fù)雜的問(wèn)題簡(jiǎn)單化 ,化成幾個(gè)簡(jiǎn)單的模塊來(lái)處理 ,.但是在劃分的同時(shí)又必須要了解各自的功能 ,它們之間應(yīng)該有自己的獨(dú)立性 ,同時(shí)又存在相互的聯(lián)系 .通訊記錄時(shí)以二進(jìn)制的形式進(jìn)行存儲(chǔ)和輸入 ,一般程序從整體到部分 ,先進(jìn)行整體概括 ,然后在逐步細(xì)化完善本系統(tǒng)由一個(gè)圖來(lái)表
17、示為方案書主菜單創(chuàng)列刪修查插保建出除改找入存圖 1 系統(tǒng)總圖本通訊管理系統(tǒng)可以概括的劃分為以下幾大模塊:1 輸入創(chuàng)建模塊2 列出菜單模塊3 刪除數(shù)據(jù)模塊4 修改數(shù)據(jù)模塊5 查找數(shù)據(jù)模塊6 插入數(shù)據(jù)模塊7 保存數(shù)據(jù)模塊8 退出系統(tǒng)2.2 數(shù)據(jù)結(jié)構(gòu)退出根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)學(xué)生的信息,其結(jié)構(gòu)如下:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注示學(xué)生學(xué)號(hào)num學(xué)生姓名name學(xué)生 QQqq學(xué)生性別sex學(xué)生電話phone使用語(yǔ)言創(chuàng)建的結(jié)構(gòu)體如下:#include<stdio.h>#include<stdlib.h>#include<string.h>int
18、 num;/*char name10;/*char qq10;/*int sex;/*int phone;/*intchar10char10intint學(xué)生學(xué)號(hào) */學(xué)生姓名 */學(xué)生 QQ*/學(xué)生性別 */學(xué)生電話 */方案書LIST;LIST L100;int main(void)void revise_list ()/*自定義函數(shù) - 修改數(shù)組 */void print_list()/*自定義函數(shù) - 列出菜單 */void delete_list()/*自定義函數(shù) - 刪除文件 */void insert_list()/*自定義函數(shù) - 創(chuàng)建文件 */voidfind_list()/*
19、自定義函數(shù) - 查找文件 */voidinto_list()/*自定義函數(shù) - 插入文件 */void save_list()/*自定義函數(shù) - 保存文件 */方案書3 詳細(xì)設(shè)計(jì)3.1 主控模塊設(shè)計(jì)控制整個(gè)程序的運(yùn)行,通過(guò)主函數(shù)模塊分別調(diào)用各個(gè)模塊,實(shí)現(xiàn)各項(xiàng)功能,流程如下圖開始密碼界面菜單界面輸入選擇12345670創(chuàng)列刪修查插保退建出除改找入存出調(diào)用子函數(shù)結(jié)束圖 2 主模塊流程圖方案書注釋1 主控是用 switch 多分支選擇結(jié)構(gòu)來(lái)實(shí)現(xiàn)功能選擇3.2 列出模塊列出模塊是通過(guò)循環(huán)結(jié)構(gòu)變化個(gè)個(gè)列出數(shù)組自定義數(shù)組Lkey 信息開始inti; i=0i<key輸出一個(gè)記錄i+結(jié)束圖 3 列出模
20、塊流程圖方案書4 主要函數(shù)功能描述4.1 主函數(shù) main()函數(shù)原型:#include<stdio.h>#include<stdlib.h>#include<string.h>#define EXIT -1#define LEN sizeof(struct list)int key=0; /*stdlib- 標(biāo)準(zhǔn)庫(kù)頭文件 .sizeof-運(yùn)算符 .string- 字符串 .typedef-定義類型 */ typedef struct listint num;/* 學(xué)生學(xué)號(hào) */char name10;/* 學(xué)生姓名 */int qq;/* 學(xué)生 QQ*/c
21、har sex10;/* 學(xué)生性別 */long int phone;/* 學(xué)生電話 */LIST;LIST L100;int main(void)/* 主函數(shù) */int choice,y;printf("ttt*學(xué)生信息管理系統(tǒng)*");printf("請(qǐng)輸入密碼: ");scanf("%d",&y);if(y=123)doprintf("nnnttt*學(xué)生信息管理系統(tǒng)*");printf("ntttt*=*n");printf(" tttt1.*創(chuàng)建 *n");p
22、rintf(" tttt2.*列出 *n");printf(" tttt3.*刪除 *n");printf(" tttt4.*修改 *n");printf(" tttt5.*查找 *n");printf(" tttt6.*插入 *n");printf(" tttt7.*保存 *n");printf(" tttt0.*退出 *n");printf(" tttt請(qǐng)選擇 :");scanf("%d",&choice
23、);switch(choice)方案書case 1:insert_list();break;case 2:print_list();break;case 3:delete_list();break;case 4:revise_list(); break;case 5:find_list();break;case 6:into_list();break;case 7:save_list();break;case 0:exit(0);default:printf("input againn");while(1);elseprintf(" 密碼錯(cuò)誤!請(qǐng)重啟程序!&quo
24、t;);fflush(stdin);getchar();return 0;功能描述:通過(guò) if 選擇結(jié)構(gòu)實(shí)現(xiàn)加密正確輸入密碼后進(jìn)入主菜單, 否則提示“密碼密碼錯(cuò)誤! 請(qǐng)重啟程” 進(jìn)入主菜單后用 switch 多分支選擇結(jié)構(gòu)來(lái)調(diào)用子函數(shù)來(lái)實(shí)現(xiàn)對(duì)學(xué)生信息的創(chuàng)建、修改、插入等。流程圖如圖2 所示。4.2 列出函數(shù) print_list()函數(shù)原型:void print_list()/* 列出菜單 */int i;for(i=0;i<key;i+)printf(" 學(xué)號(hào) t 姓名 tQQ 號(hào)t 性別 t 電話 tn");printf("%dt%st%dt%st%dn
25、 ",Li.num,L,Li.qq,Li.sex,Li.phone);if(key=0)printf("the shuzu is NULL!n");功能描述:通過(guò) for 循環(huán)結(jié)構(gòu)改變 i 的值調(diào)用 Li 保存的值逐個(gè)顯示。流程圖如圖 3 所示方案書5 測(cè)試與調(diào)試1 主程序測(cè)試測(cè)試數(shù)據(jù):輸入密碼 123圖 4測(cè)試結(jié)果:程序運(yùn)行沒有錯(cuò)誤,如下圖 5菜單選項(xiàng)測(cè)試:輸入數(shù)據(jù)請(qǐng)選擇: 1方案書圖 6測(cè)試結(jié)果:程序運(yùn)行沒有錯(cuò)誤,如下圖 72 列出測(cè)試測(cè)試數(shù)據(jù):輸入 2,如下方案書圖 8測(cè)試結(jié)果程序運(yùn)行有錯(cuò)誤,如下圖 9錯(cuò)誤是性別、電話沒有對(duì)其修改后如下圖 10方
26、案書6 個(gè)人設(shè)計(jì)小結(jié)與心得體會(huì)為期一個(gè)星期的C 語(yǔ)言實(shí)訓(xùn)結(jié)束了,在這一個(gè)星期內(nèi)我的感觸頗深。因?yàn)樵趯懗绦蛑袑?shí)在是遇到了太多的困難了,這讓我意識(shí)到自己對(duì)C 語(yǔ)言知識(shí)的貧乏。我們只學(xué)會(huì)了簡(jiǎn)單的指針和函數(shù), 這些應(yīng)付考試是絕對(duì)沒有問(wèn)題了的,然而應(yīng)用在實(shí)際的程序設(shè)計(jì)當(dāng)中卻是遠(yuǎn)遠(yuǎn)不夠的??上攵?,驗(yàn)收過(guò)程很不滿意,這讓我覺得很對(duì)不起老師的一番含辛茹苦。所以哪怕我的驗(yàn)收過(guò)程不是很理想都好,我交實(shí)訓(xùn)報(bào)告的時(shí)候也一定要把這個(gè)學(xué)生信息管理系統(tǒng)理解透徹!在整個(gè)編程過(guò)程中,我堅(jiān)持虛心的向同學(xué)請(qǐng)教問(wèn)題, 同時(shí)自己也在網(wǎng)上查找各種信息, 通過(guò)不斷地改正,我終于知道編好一個(gè)完美的程序是多么的不容易??! !同時(shí),在不斷的犯
27、錯(cuò)中,我也了解了許多以前不知道的東西。做得不好的,也請(qǐng)老師多多見諒,以后我一定會(huì)好好改進(jìn)的!最后,衷心地多謝老師辛苦的指導(dǎo)!參考文獻(xiàn)【1】姜靈芝,余健 . C 語(yǔ)言課程設(shè)計(jì)案例精編 . 北京 : 清華大學(xué)出版社 ,2008【2】王新,孫雷 . C 語(yǔ)言課程設(shè)計(jì) . 北京 : 清華大學(xué)出版社 ,2009【3】游洪躍、彭駿、譚斌 .C 語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)與課程設(shè)計(jì)教程. 北京 : 清華大學(xué)出版社 ,2011【4】王連相 .C/C+程序設(shè)計(jì)上機(jī)指導(dǎo)與測(cè)試 . 北京 : 中國(guó)鐵道出版社, 2006 【5】 C 語(yǔ)言函數(shù)手冊(cè),機(jī)械工業(yè)出版社, 1999附件 1 程序源代碼#include<stdio
28、.h>#inc lude<stdlib.h>#include<string.h>#define EXIT -1#define LEN sizeof(struct list)int key=0; /*stdlib- 標(biāo)準(zhǔn)庫(kù)頭文件 .sizeof-運(yùn)算符 .string- 字符串 .typedef-定義類型 */ typedef struct listint num;/* 學(xué)生學(xué)號(hào) */char name10;/* 學(xué)生姓名 */int qq;/* 學(xué)生 QQ*/char sex10;/* 學(xué)生性別 */long int phone;/* 學(xué)生電話 */LIST;LI
29、ST L100;void revise_list ()/* 修改數(shù)組( revise-修改) */inti,j,k;int num;char name10;int qq;char sex10;long int phone;printf(" 請(qǐng)選擇修改項(xiàng)學(xué)號(hào)");方案書scanf("%d",&j);for(k=0;k<key;k+)if(j=Lk.num)break;printf(" 您要修改成為:");printf("tt 學(xué)號(hào) tt");scanf("%d",&num);
30、printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ 號(hào) tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&phone);Lk.num=num;strcpy(L,name);/* 拷貝字符串 */Lk.qq=qq;strcpy(Lk.sex,s
31、ex);Lk.phone=phone;void print_list()/* 列出菜單 */int i;for(i=0;i<key;i+)printf(" 學(xué)號(hào) t 姓名 tQQ 號(hào)t 性別 t 電話 tn");printf("%dt%st%dt%st%dn ",Li.num,L,Li.qq,Li.sex,Li.phone);if(key=0)printf("the shuzu is NULL!n");void delete_list()/* 刪除文件 */int i,j,k;printf(" 您要?jiǎng)h除的是
32、:n");scanf("%d",&j);for(k=0;k<key;k+)if(j=Lk.num)break;if(k>=key)printf(" 您輸入的數(shù)據(jù)有誤,請(qǐng)重新輸入:");for(i=k;i<key;i+)Li=Li+1;key-;void insert_list()/* 創(chuàng)建文件 */int num;char name10;int qq;char sex10;long int phone;printf("tt 學(xué)號(hào) tt");scanf("%d",&num)
33、;printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ號(hào)tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&phone);Lkey.num=num;方案書strcpy(L,name);Lkey.qq=qq;strcpy(Lkey.sex,se
34、x);Lkey.phone=phone;key+;voidfind_list()/* 查找文件 */int i,num;printf(" 請(qǐng)輸入你要查找的學(xué)號(hào) :"); scanf("%d",&num);for (i=0;i<key;i+)if(Li.num=num)printf(" 學(xué)號(hào) t 姓名 tQQ 號(hào)t 性別 t 電話 tn"); printf("%dt%st%dt%st%dn ",Li.num,L,Li.qq,Li.sex,Li.phone); break;if(i>=k
35、ey)printf(" 無(wú)此人信息,請(qǐng)重新選擇:");voidinto_list()/* 插入文件 */int i,j,k;int num;char name10;int qq;char sex10;long int phone;printf("ttt您要插入項(xiàng)是 :t");scanf("%d",&j);if (j>0&&j<=key)for(i=key;i>=j;i-)Li=Li-1;key+;printf(" 請(qǐng)輸入你要插入的內(nèi)容:n");printf("tt 學(xué)號(hào) tt");scanf("%d",&num);printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ號(hào)tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&am
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)孤獨(dú)癥患者關(guān)懷的個(gè)人方法計(jì)劃
- 分配任務(wù)與跟進(jìn)進(jìn)度的秘書工作計(jì)劃
- 品牌資產(chǎn)與市場(chǎng)風(fēng)險(xiǎn)的關(guān)聯(lián)研究計(jì)劃
- 全面提升團(tuán)隊(duì)績(jī)效的年度規(guī)劃計(jì)劃
- 強(qiáng)化職能部門之間的配合計(jì)劃
- 如何選擇合適的品牌推廣渠道計(jì)劃
- 2025年物位儀項(xiàng)目建議書
- 2025年數(shù)字貨幣金融項(xiàng)目發(fā)展計(jì)劃
- 2025年瀝青試驗(yàn)儀器項(xiàng)目發(fā)展計(jì)劃
- 新員工入職引導(dǎo)及工作流程簡(jiǎn)明教程
- 小學(xué)人教版五年級(jí)上冊(cè)數(shù)學(xué)填空達(dá)標(biāo)練習(xí)50題
- 北京市西城區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 附屬醫(yī)院神經(jīng)內(nèi)科中長(zhǎng)期發(fā)展規(guī)劃五年發(fā)展規(guī)劃
- 營(yíng)養(yǎng)質(zhì)控中心管理制度
- 春節(jié)習(xí)俗中的傳統(tǒng)茶文化與茶藝
- 醫(yī)療文書病歷書寫規(guī)范培訓(xùn)教學(xué)課件
- 某美術(shù)館物業(yè)管理方案
- 土壤侵蝕分類分級(jí)標(biāo)準(zhǔn)SL190一2007
- 【《幼兒園安全教育研究文獻(xiàn)綜述》3300字】
- 網(wǎng)店運(yùn)營(yíng)管理(第二版)課件 1-網(wǎng)店運(yùn)營(yíng)基本原理
- 中醫(yī)中風(fēng)病(腦梗死)診療方案
評(píng)論
0/150
提交評(píng)論