c語言設(shè)備管理系統(tǒng)_第1頁
c語言設(shè)備管理系統(tǒng)_第2頁
c語言設(shè)備管理系統(tǒng)_第3頁
c語言設(shè)備管理系統(tǒng)_第4頁
c語言設(shè)備管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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í)間同一部門購買的若干臺(tái)相同設(shè)備可作為

2、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è)備信息統(tǒng)計(jì)模塊結(jié)構(gòu)體成員包括設(shè)備號(hào),設(shè)備名稱,設(shè)備領(lǐng)用人,設(shè)備所屬部門,設(shè)備數(shù)量,設(shè)備購買

3、時(shí)間,設(shè)備價(jià)格 。4 主要函數(shù)說明及其N-S 圖設(shè)備管理系統(tǒng)進(jìn) 入實(shí) 驗(yàn)實(shí) 驗(yàn)實(shí) 驗(yàn)實(shí) 驗(yàn)實(shí)驗(yàn)實(shí) 驗(yàn)實(shí) 驗(yàn)菜單設(shè) 備設(shè) 備設(shè) 備設(shè) 備設(shè) 備設(shè) 備設(shè) 備信 息信 息信 息信 息信 息信 息信 息功 能寫 入輸 出查 詢添 加刪 除查 詢統(tǒng) 計(jì)模塊模塊模塊模塊模塊模塊模塊選擇4.1主函數(shù)流程圖輸入數(shù)字numberTnumber=1Fchec()Tnumber=2Fadd()Tnumber=3Fdel()Tnumber=4Falt()Tnumber=5Fcount()Tnumber=0F退出系統(tǒng)4.2N-S 圖4.3 查詢記錄開始按要求查看記錄圖 4.3結(jié)束4.4 讀入 / 寫入文件開始定義文件指

4、針判斷文件是否可存在?圖 4.4T寫入數(shù)據(jù)關(guān)閉文件結(jié)束4.5 添加數(shù)據(jù)開始按要求輸入信息圖 4.5完成一條記錄的添加是否繼續(xù)輸入?TF創(chuàng)建一個(gè)文件F結(jié)束4.6 刪除數(shù)據(jù)開始輸入設(shè)備ID 號(hào)圖 4.6進(jìn)行刪除操作結(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.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ī)試的“洗禮”

5、,讓我對(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é)論:親身下河知深淺,親口嘗梨知酸甜!作為一名軟件工程的學(xué)生,平時(shí)在電腦跟前敲代碼的過程是必需的,誰也躲不了,一份努力,一份收獲,同時(shí),學(xué)習(xí)語言需要細(xì)密又嚴(yán)謹(jǐn)?shù)乃季S,良好的操作習(xí)慣,這樣才有可能在

6、編程的道路上百尺竿頭更進(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();/ 修改信息void chec();/ 查看信息void count();/ 統(tǒng)計(jì)信息void read();/ 讀取文件void write();/ 寫入文

7、件struct arraycharano20,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<<<<<<歡迎使用設(shè)備管理系統(tǒng)!>>>>>>");getchar();read();/ 實(shí)現(xiàn)文件

8、讀進(jìn)內(nèi)存menu();/ 實(shí)現(xiàn)功能選擇write();/ 實(shí)現(xiàn)信息寫入文件return 0;void menu()system("cls");int a;puts("nnnnnn<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<請(qǐng)選擇需要的功能: >>>&g

9、t;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");puts("

10、;1. 查看設(shè)備信息 n2.添加設(shè)備信息 n3. 刪除設(shè)備信息 n4.修改設(shè)備信息 n5. 統(tǒng)計(jì)設(shè)備信息 n0.退出系統(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;case 4:alt();break;case 5:count();break;default:printf("信息有誤!請(qǐng)檢查后重新輸入n"

11、;);void read()No=0;FILE *fp=fopen("D:infor.txt","r+");/ 讀寫功能if(fp=NULL)f p=fopen("D:infor.txt","w+");/ 若沒有則創(chuàng)建一個(gè)txtf close(fp);int i;for(i=0;!feof(fp);i+)fread(&ai,sizeof(struct array),1,fp);/ 一次讀取一個(gè)No+;No=No-1;fclose(fp);void write()int i;FILE *fp=fopen(&q

12、uot;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<No;i+)i f(ai.del=0)p rintf("%8s%20s%20s%20s%20s%20s%20sn",ai.ano,ai.aname,ai.aowner,ai.aapar

13、tment,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",aNo.aname);printf("請(qǐng)輸入要添加的設(shè)備領(lǐng)用人:n");scanf("%s",aNo.aowner);printf("請(qǐng)輸入要添加的設(shè)備

14、的所屬部門: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("請(qǐng)輸入要添加的設(shè)備價(jià)格:n");scanf("%s",aNo.aprice);aNo.del=0;No+=1;printf("請(qǐng)問是否繼續(xù)添加?(Y/N )(

15、不區(qū)分大小寫)n");while (1)g etchar(); g ets(&s);i f (s='Y'|s='N'|s='y'|s='n') break;elseputs(" 信息有誤!請(qǐng)檢查后重新輸入 n"); puts(" 按任意鍵重新輸入! "); getchar();getchar();getchar();if(s='Y'|s='y')add();else if(s='N'|s='n') system

16、("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+)i f(ai.del=0)p rintf("%4d%20s%20s%20s%20s%20s%20s%20sn",i+1,ai.ano,ai.aname,ai.aowner,ai.aapartment,ai.aamount,ai.atime,ai.apric

17、e);while (1)scanf("%s",ch);i =atoi(ch);i f (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)g etchar(); g ets(&s);i f (s='Y'|s='N'|s='y'|s='n')break

18、;else puts("信息有誤!請(qǐng)檢查后重新輸入n");if(s='Y'|s='y')d el();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("設(shè)備號(hào)設(shè)備名稱領(lǐng)用人所屬部門數(shù)量購買時(shí)間價(jià)格 n");for(i=0;i<No;i+)p rintf("%4d%20s%20s%20

19、s%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);i f (i>=1 && i<=No)break;else if(i=0)return;else puts("信息有誤!請(qǐng)檢查后重新輸入n");if(ai-1.del=1)p rintf("該設(shè)備已被刪除!n");r eturn;print

20、f("請(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);i f (j>=1 && j<=7)break;else if(i=0)return;else puts("信息有誤!請(qǐng)檢查后重新輸入n");printf("請(qǐng)輸入要修改的信息:n");switch (j)case 1:scanf("

21、%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:scanf("%s",ai-1.atime);break;case 7:scanf("%s",ai-1.apri

22、ce);break;printf("是否繼續(xù)修改?(Y/N)(不區(qū)分大小寫)n");while (1)g etchar();/ 獲取回車g ets(&s);/ 獲取i f (s='Y'|s='N'|s='y'|s='n')break;selse puts("信息有誤!請(qǐng)檢查后重新輸入n");if(s='Y'|s='y')alt();else if(s='N'|s='n')system("cls");m

23、enu();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);i f (j>=1 && j<=3)break;else if(j=0)return;else puts("信息有誤!請(qǐng)檢查后重新輸入n");switch (j)case 1:for(i=0;i<No

24、;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ù)組中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)continue;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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論