




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 課程設(shè)計(jì)說明書學(xué) 院、系:專 業(yè):學(xué) 生 姓 名:學(xué) 號(hào):設(shè) 計(jì) 題 目:設(shè)備管理系統(tǒng) 起 迄 日 期:指 導(dǎo) 教 師:日期: 2017年5月12日1 設(shè)計(jì)目的 提高程序設(shè)計(jì)能力,檢驗(yàn)課堂教學(xué)內(nèi)容,掌握程序設(shè)計(jì)的基本方法和調(diào)試技能。通過課程實(shí)訓(xùn),加深對(duì)結(jié)構(gòu)化程序設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu);進(jìn)一步掌握C語言中的重要數(shù)據(jù)結(jié)構(gòu);掌握并熟練運(yùn)用指針,鏈表,結(jié)構(gòu)體和文件等結(jié)構(gòu);提高程序開發(fā)哪里,能運(yùn)用合理的控制流編寫清晰高效的程序;培養(yǎng)C語言只是運(yùn)用與自學(xué)能力,加強(qiáng)程序分析能力。2 任務(wù)概述功能:設(shè)備管理系統(tǒng)應(yīng)包含各種設(shè)備的全部信息,每臺(tái)設(shè)備為一條記錄(同一時(shí)間同一部
2、門購買的若干臺(tái)相同設(shè)備可作為1條記錄),包括設(shè)備號(hào)、設(shè)備名稱、領(lǐng)用人、所屬部門、數(shù)量、購買時(shí)間、價(jià)格等。能夠顯示和統(tǒng)計(jì)各種設(shè)備的信息。 分步實(shí)施:1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話的界面,確定函數(shù)個(gè)數(shù); 2、完成最低要求:建立一個(gè)文件,包含一個(gè)部門10臺(tái)設(shè)備的信息,能對(duì)文件進(jìn)行補(bǔ)充、修訂、刪除,能統(tǒng)計(jì)所有設(shè)備的總價(jià)值。 3、進(jìn)一步要求:完成設(shè)備按種類、按所屬部門進(jìn)行統(tǒng)計(jì)。3 模塊劃分 系統(tǒng)可設(shè)計(jì)為:實(shí)驗(yàn)設(shè)備信息寫入模塊實(shí)驗(yàn)設(shè)備信息輸出模塊 .實(shí)驗(yàn)設(shè)備信息查詢模塊實(shí)驗(yàn)設(shè)備信息添加模塊實(shí)驗(yàn)設(shè)備信息刪除模塊實(shí)驗(yàn)設(shè)備信息查詢模塊實(shí)驗(yàn)設(shè)備信息
3、統(tǒng)計(jì)模塊結(jié)構(gòu)體成員包括設(shè)備號(hào), 設(shè)備名稱, 設(shè)備領(lǐng)用人, 設(shè)備所屬部門 ,設(shè)備數(shù)量 ,設(shè)備購買時(shí)間, 設(shè)備價(jià)格 。4 主要函數(shù)說明及其N-S圖設(shè)備管理系統(tǒng)實(shí)驗(yàn)設(shè)備信息統(tǒng)計(jì)模塊實(shí)驗(yàn)設(shè)備信息添加模塊實(shí)驗(yàn)設(shè)備信息查詢模塊 實(shí)驗(yàn)設(shè)備信息刪除模塊進(jìn)入菜單功能選擇實(shí)驗(yàn)設(shè)備信息查詢模塊實(shí)驗(yàn)設(shè)備信息輸出模塊實(shí)驗(yàn)設(shè)備信息寫入模塊 4.1 主函數(shù)流程圖 輸入數(shù)字numberT number=1 Fchec() T number=2 F add() T number=3 Fdel() T number=4 Falt() T number=5 Fcount() T n
4、umber=0 F 退出系統(tǒng) 4.2 N-S圖 開始4.3查詢記錄按要求查看記錄 圖4.3 結(jié)束 開始4.4讀入/寫入文件定義文件指針F判斷文件是否可存在?創(chuàng)建一個(gè)文件 T 圖4.4 寫入數(shù)據(jù) 關(guān)閉文件 結(jié)束4.5添加數(shù)據(jù) 開始按要求輸入信息 完成一條記錄的添加 圖4.5 F是否繼續(xù)輸入? T 結(jié)束 開始4.6刪除數(shù)據(jù) 輸入設(shè)備ID號(hào) 進(jìn)行刪除操作 圖4.6 結(jié)束4.7修改數(shù)據(jù) 開始 輸入要修改的ID號(hào) 圖4.7 按要求修改數(shù)據(jù) 結(jié)束 開始4.8統(tǒng)計(jì)數(shù)據(jù) 選擇統(tǒng)計(jì)方式 圖4.8 顯示統(tǒng)計(jì)結(jié)果 結(jié)束5 程序運(yùn)行數(shù)據(jù)及其結(jié)果 圖5.1 進(jìn)入界面 圖5.2菜單&功能選擇圖5.3 添加數(shù)據(jù) 圖
5、5.4 查看數(shù)據(jù) 圖5.5 刪除數(shù)據(jù) 圖5.6 修改數(shù)據(jù) 圖5.7 統(tǒng)計(jì)數(shù)據(jù)6 課程設(shè)計(jì)心得經(jīng)歷了大一上半學(xué)期C語言課程,C語言筆試,C語言機(jī)試的“洗禮”,讓我對(duì)C語言的有了進(jìn)一步的認(rèn)識(shí),深深認(rèn)識(shí)到自己學(xué)習(xí)的還不夠,平時(shí)敲的代碼也太少,作為一名軟件工程的學(xué)生,感到深深的愧疚,對(duì)不起老師,對(duì)不起父母,更對(duì)不起自己,同時(shí)為自己將來畢業(yè)后的命運(yùn)感到一份擔(dān)憂。在大一下學(xué)期C語言實(shí)訓(xùn)中,不僅有網(wǎng)上已有成果的借鑒與分析,以及向同學(xué)的請(qǐng)教,還有相關(guān)資料的查閱,既加深了自身能力的認(rèn)知與對(duì)自己不足的體會(huì),也優(yōu)化了和同學(xué)的關(guān)系,真可謂一舉兩得。同時(shí)還得出一個(gè)結(jié)論:親身下河知深淺,親口嘗梨知酸甜!作為一名軟件工程的
6、學(xué)生,平時(shí)在電腦跟前敲代碼的過程是必需的,誰也躲不了,一份努力,一份收獲,同時(shí),學(xué)習(xí)語言需要細(xì)密又嚴(yán)謹(jǐn)?shù)乃季S,良好的操作習(xí)慣,這樣才有可能在編程的道路上百尺竿頭更進(jìn)一步!也希望各位老師、身邊的同學(xué)監(jiān)督,更需要自己的積極自省。期待三年后一個(gè)成熟優(yōu)秀的自己!附錄:#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>void menu(); /功能選擇void add(); /添加信息void del(); /刪除信息void alt(); /修改信息voi
7、d chec(); /查看信息void count(); /統(tǒng)計(jì)信息void read(); /讀取文件void write(); /寫入文件struct array char ano20,aname20,aowner20,aapartment20,aamount20,atime20,aprice20; int del; /判斷是否刪除,值為0為未刪除,1為已刪除 a20;int No,sum;int main() system("mode con cols=145 lines=35"); puts("nnnnnnnnnnnnn <<<<&
8、lt;<歡迎使用設(shè)備管理系統(tǒng)!>>>>>>"); getchar(); read(); /實(shí)現(xiàn)文件讀進(jìn)內(nèi)存 menu(); /實(shí)現(xiàn)功能選擇 write(); /實(shí)現(xiàn)信息寫入文件 return 0;void menu()system("cls");int a; puts("nnnnnn<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&
9、lt;<<<<<<<<<<<<<請(qǐng)選擇需要的功能:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
10、>>>>>>>>>>>>>>>"); puts(" 1.查看設(shè)備信息n 2.添加設(shè)備信息n 3.刪除設(shè)備信息n 4.修改設(shè)備信息n 5.統(tǒng)計(jì)設(shè)備信息n 0.退出系統(tǒng)"); printf("tt請(qǐng)選擇你的功能(選擇05) bb");scanf("%d",&a); switch (a) case 0:return; case 1:chec();break; case 2:add();break;case 3:del();break;
11、 case 4:alt();break;case 5:count();break;default:printf("信息有誤!請(qǐng)檢查后重新輸入n"); void read() No=0; FILE *fp=fopen("D:infor.txt","r+"); /讀寫功能 if(fp=NULL)fp=fopen("D:infor.txt","w+"); /若沒有則創(chuàng)建一個(gè)txt fclose(fp); int i; for(i=0;!feof(fp);i+) fread(&ai,sizeof
12、(struct array),1,fp); /一次讀取一個(gè) No+;No=No-1; fclose(fp);void write() int i; FILE *fp=fopen("D:infor.txt","w+"); for (i=0;i<No;i+) if (!ai.del) fwrite(&ai,sizeof(struct array),1,fp); fclose(fp);void chec()int i;printf(" 設(shè)備號(hào) 設(shè)備名稱 領(lǐng)用人 所屬部門 數(shù)量 購買時(shí)間 價(jià)格n");for(i=0;i<N
13、o;i+)if(ai.del=0)printf("%8s%20s%20s%20s%20s%20s%20sn",ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.aprice);getchar();getchar();menu();void add()char s;printf("請(qǐng)輸入要添加的設(shè)備號(hào):n");scanf("%s",aNo.ano);printf("請(qǐng)輸入要添加的設(shè)備名稱:n");scanf("%s",aN
14、o.aname);printf("請(qǐng)輸入要添加的設(shè)備領(lǐng)用人:n"); scanf("%s",aNo.aowner);printf("請(qǐng)輸入要添加的設(shè)備的所屬部門:n"); scanf("%s",aNo.aapartment);printf("請(qǐng)輸入要添加的設(shè)備數(shù)量:n"); scanf("%s",aNo.aamount);printf("請(qǐng)輸入要添加的設(shè)備購買時(shí)間:n");scanf("%s",aNo.atime);printf(&qu
15、ot;請(qǐng)輸入要添加的設(shè)備價(jià)格:n");scanf("%s",aNo.aprice);aNo.del=0;No+=1;printf("請(qǐng)問是否繼續(xù)添加?(Y/N)(不區(qū)分大小寫)n");while (1)getchar();gets(&s);if (s='Y'|s='N'|s='y'|s='n')break;elseputs("信息有誤!請(qǐng)檢查后重新輸入n");puts("按任意鍵重新輸入!");getchar();getchar();
16、getchar(); if(s='Y'|s='y')add();else if(s='N'|s='n')system("cls");menu();void del()char ch20,s;int i;printf("請(qǐng)輸入要?jiǎng)h除的設(shè)備編號(hào):(0鍵返回菜單欄)n");printf(" 設(shè)備號(hào) 設(shè)備名稱 領(lǐng)用人 所屬部門 數(shù)量 購買時(shí)間 價(jià)格n");for(i=0;i<No;i+)if(ai.del=0)printf("%4d%20s%20s%20s%20s
17、%20s%20s%20sn",i+1,ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.aprice);while (1)scanf("%s",ch);i=atoi(ch);if (i>=1 && i<=No)break;else if(i=0)return;else puts("信息有誤!請(qǐng)檢查后重新輸入n");ai-1.del=1;printf("是否繼續(xù)刪除?(Y/N)(不區(qū)分大小寫)n");while (1)get
18、char();gets(&s);if (s='Y'|s='N'|s='y'|s='n')break;else puts("信息有誤!請(qǐng)檢查后重新輸入n");if(s='Y'|s='y')del();else if(s='N'|s='n')system("cls");menu(); void alt()char s,ch20;int i,j;printf("請(qǐng)輸入修改的設(shè)備的編號(hào):n");printf(
19、" 設(shè)備號(hào) 設(shè)備名稱 領(lǐng)用人 所屬部門 數(shù)量 購買時(shí)間 價(jià)格n");for(i=0;i<No;i+)printf("%4d%20s%20s%20s%20s%20s%20s%20sn",i+1,ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.aprice);while (1)scanf("%s",ch);i=atoi(ch);if (i>=1 && i<=No)break;else if(i=0)return;else put
20、s("信息有誤!請(qǐng)檢查后重新輸入n");if(ai-1.del=1)printf("該設(shè)備已被刪除!n");return;printf("請(qǐng)輸入您要修改的內(nèi)容的編號(hào):n1.設(shè)備號(hào)n2.設(shè)備名稱n3.領(lǐng)用人n4.所屬部門n5.數(shù)量n6.購買時(shí)間n7.價(jià)格n0.返回菜單欄n");while (1)scanf("%s",ch);j=atoi(ch);if (j>=1 && j<=7)break;else if(i=0)return;else puts("信息有誤!請(qǐng)檢查后重新輸入n&
21、quot;);printf("請(qǐng)輸入要修改的信息:n");switch (j) case 1:scanf("%s",ai-1.ano);break; case 2:scanf("%s",ai-1.aname);break; case 3:scanf("%s",ai-1.aowner);break; case 4:scanf("%s",ai-1.aapartment);break; case 5:scanf("%s",ai-1.aamount);break;case 6:sca
22、nf("%s",ai-1.atime);break;case 7:scanf("%s",ai-1.aprice);break; printf("是否繼續(xù)修改?(Y/N)(不區(qū)分大小寫)n");while (1)getchar(); /獲取回車 gets(&s); /獲取s if (s='Y'|s='N'|s='y'|s='n')break;else puts("信息有誤!請(qǐng)檢查后重新輸入n");if(s='Y'|s='y
23、')alt();else if(s='N'|s='n')system("cls");menu();void count()char ch20,temp20,s;int i,j,n;sum=0;printf("請(qǐng)選擇統(tǒng)計(jì)方式:n1.所有設(shè)備的總價(jià)值。n2.設(shè)備所屬部門。n3.設(shè)備種類。n0.返回菜單欄n");while (1)scanf("%s",ch);j=atoi(ch);if (j>=1 && j<=3)break;else if(j=0)return;else
24、puts("信息有誤!請(qǐng)檢查后重新輸入n");switch (j) case 1:for(i=0;i<No;i+)if(ai.del=0)sum=atoi(ai.aprice)*atoi(ai.aamount)+sum;printf("當(dāng)前設(shè)備的總價(jià)值為%d。n",sum);break; case 2:printf("設(shè)備所屬部門統(tǒng)計(jì)結(jié)果為:n 所屬部門 數(shù)量 總價(jià)值n");for(i=0;i<No;i+)sum=0;n=0;strcpy(temp,ai.aapartment); /將可變的數(shù)組ai 復(fù)制到temp數(shù)組中
25、for(j=0;j<No;j+)if(strcmp(temp,aj.aapartment)=0&&i>j)break;else if(strcmp(temp,aj.aapartment)=0&&i<j&&aj.del=0)sum=sum+atoi(aj.aamount)*atoi(aj.aprice);n=n+atoi(aj.aamount);if(strcmp(temp,aj.aapartment)=0&&i>j)continue;if(ai.del=0)sum=sum+atoi(ai.aamount)*atoi(ai.aprice);n=n+atoi(ai.aamount);if(sum=0)continu
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場(chǎng)畫畫活動(dòng)方案
- 國慶節(jié)物業(yè)公司活動(dòng)方案
- 周末電信活動(dòng)方案
- 國慶班級(jí)活動(dòng)方案
- 員工推介活動(dòng)方案
- 喜迎兔年活動(dòng)方案
- 商圈跨年活動(dòng)策劃方案
- 國慶幼兒園語言活動(dòng)方案
- 商場(chǎng)新年跨年活動(dòng)方案
- 固始縣惠民活動(dòng)方案
- 2025年湖南中考生物試題及答案
- 混凝土站銷售管理制度
- 山東省威海市實(shí)驗(yàn)中學(xué)2025屆七下英語期末達(dá)標(biāo)檢測(cè)試題含答案
- 第七中學(xué)高二下學(xué)期5月月考語文試題(含答案)
- 2025至2030中國旋轉(zhuǎn)密碼掛鎖行業(yè)發(fā)展分析及前景趨勢(shì)與投資報(bào)告
- A類機(jī)房標(biāo)準(zhǔn)(共6頁)
- 常德市自來水公司水表管理制度
- 華為性格測(cè)試攻略
- GB∕T 40754-2021 商場(chǎng)公共設(shè)施服務(wù)規(guī)范
- 流體力學(xué)知識(shí)點(diǎn)大全
- 校企攜手共建晉南產(chǎn)業(yè)學(xué)院合作協(xié)議書
評(píng)論
0/150
提交評(píng)論