版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、wordC語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告學(xué)生姓名 李云龍 指導(dǎo)教師 方紅琴 學(xué)生學(xué)號 110202218 日 期: 1課程題目 實(shí)驗(yàn)設(shè)備信息包括:設(shè)備編號,設(shè)備種類(如:微機(jī)、打印機(jī)、掃描儀等等),設(shè)備名稱,設(shè)備價格,設(shè)備購入日期,是否報(bào)廢,報(bào)廢日期等。主要功能:1錄入設(shè)備信息2修改設(shè)備信息3查詢設(shè)備信息1按設(shè)備編號查詢2按設(shè)備名稱查詢4對設(shè)備按種類進(jìn)行分類統(tǒng)計(jì)5報(bào)廢設(shè)備登記。6報(bào)廢設(shè)備統(tǒng)計(jì)。2程序設(shè)計(jì)思路 需求分析 實(shí)驗(yàn)室設(shè)備信息用文件存儲,提供文件的輸入輸出操作;要能夠完成設(shè)備的錄入和修改,需要提供設(shè)備添加和修改操作;實(shí)現(xiàn)對設(shè)備進(jìn)行分類統(tǒng)計(jì),需要提供排序操作;實(shí)現(xiàn)對設(shè)備查詢需要提供查找操作,設(shè)備的查
2、詢可根據(jù)設(shè)備編號 設(shè)備種類 設(shè)備購入日期 正常設(shè)備未報(bào)廢的等多種方式查詢;另外還要根據(jù)鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 整個系統(tǒng)可設(shè)計(jì)為實(shí)驗(yàn)設(shè)備信息輸入模塊 實(shí)驗(yàn)設(shè)備信息修改模塊 實(shí)驗(yàn)設(shè)備分類統(tǒng)計(jì)模塊 實(shí)驗(yàn)設(shè)備查詢模塊和實(shí)驗(yàn)設(shè)備報(bào)廢信息模塊。 建立實(shí)驗(yàn)設(shè)備信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括設(shè)備編號 設(shè)備種類 設(shè)備名稱 設(shè)備價格 設(shè)備購入日期 是否報(bào)廢 報(bào)廢日期。實(shí)驗(yàn)報(bào)廢設(shè)備信息模塊實(shí)驗(yàn)設(shè)備信息輸入模塊實(shí)驗(yàn)設(shè)備信息修改模塊實(shí)驗(yàn)設(shè)備信息查詢模塊實(shí)驗(yàn)設(shè)備分類統(tǒng)計(jì)模塊退出實(shí)驗(yàn)設(shè)備管理系統(tǒng)設(shè)計(jì)3功能模塊圖4數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)由需求分析可知,系統(tǒng)分為6大局部,每局部通過主函數(shù)完成選擇,分別提供添加、修改、查詢、統(tǒng)計(jì)、報(bào)廢
3、、退出等功能,為了方便使用,采取了兩個選擇菜單,分別是在主函數(shù)和統(tǒng)計(jì)函數(shù)下的選擇菜單。主函數(shù)提供輸入、功能處理和輸出局部的函數(shù)調(diào)用。使用結(jié)構(gòu)體來存放數(shù)據(jù)。因此,對于實(shí)驗(yàn)設(shè)備信息的修改、調(diào)用均在結(jié)構(gòu)體中進(jìn)行。在數(shù)據(jù)的存儲中,將文件存儲在設(shè)備信息管理的文件中,使用循環(huán)語句實(shí)現(xiàn)對設(shè)備信息的添加和修改,每循環(huán)一次讀入一個設(shè)備信息。使用修改語句時,執(zhí)行的是追加操作。 5程序代碼 #include"stdio.h"#include"string.h"#define null 0int t=0;int menu();/菜單 void lr();/錄入信息 void x
4、g();/修改 void cx();/查詢 void cx_sbh();/設(shè)備號查詢 void cx_mc();/設(shè)備名稱查詢 void tj();/統(tǒng)計(jì) void bf();/報(bào)廢信息 void bf_dj();/報(bào)廢登記 void bf_tj();/報(bào)廢統(tǒng)計(jì) typedef struct shebei char id10; char name15; char kind15; char over15; int yesno; char time10; char price10; shebei;shebei sb200;void lr()/錄入信息 while(1) printf("&
5、gt;>>>>>>>>>提示:輸入0那么返回主菜單!n"); printf("n請你輸入設(shè)備ID號:"); scanf("%s",sbt.id); if(strcmp(sbt.id,"0")=0) main(); printf("n請輸入設(shè)備名稱:"); scanf("%s",); printf("n請輸入設(shè)備種類:"); scanf("%s",sbt.kind); print
6、f("n請輸入報(bào)廢日期:"); scanf("%s",sbt.over); printf("n請輸入設(shè)備是否報(bào)廢,1、沒報(bào)廢,0、報(bào)廢:"); scanf("%d",&sbt.yesno); printf("n請輸入設(shè)備購置時間:"); scanf("%s",sbt.time); printf("n請輸入設(shè)備價格:"); scanf("%s",sbt.price); printf(">>>>&g
7、t;>>>>>提示:已經(jīng)完成一條記錄的添加。n"); t+; void xg()/修改 char find20; t=0; printf("請輸入要修改的設(shè)備ID號:"); scanf("%s",find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; int x; while(1) printf("確認(rèn)修改請輸入任意數(shù)字否那么輸入0重新輸入設(shè)備原id:"); scanf("%d",&a
8、mp;x); if(x=0) break; else printf("請輸入新設(shè)備號(原來是 %s ):",sbt.id); scanf("%s",sbt.id); printf("請輸入新設(shè)備名稱(原來是 %s ):",); scanf("%s",); printf("請輸入新設(shè)備設(shè)備種類名稱(原來是 %s ):",sbt.kind); scanf("%s",sbt.kind); printf("請輸入新設(shè)備報(bào)廢日期名稱(原來是 %
9、s ):",sbt.over); scanf("%s",sbt.over); printf("請輸入新設(shè)備是否報(bào)廢,1、沒報(bào)廢,0、報(bào)廢(原來是 %d):",sbt.yesno); scanf("%d",&sbt.yesno); printf("請輸入新設(shè)備購置時間(原來是 %s ):",sbt.time); scanf("%s",sbt.time); printf("請輸入新設(shè)備價格(原來是 %s ):",sbt.price); scanf("%
10、s",sbt.price); printf("n>>>>>>>>>>提示:該項(xiàng)記錄資料已經(jīng)成功修改!n"); printf("退回主菜單請輸入0n"); printf("繼續(xù)操作請輸入1n"); scanf("%d",&x); switch(x) case 0:main();break; case 1:xg();break; default:printf("輸入無效,自動返回主菜單n");main();break; v
11、oid cx()/查詢 int choice; do printf("ttt-n"); printf("ttt* 1-按設(shè)備號查找 *n"); printf("ttt* 2-按設(shè)備名稱查找 *n"); printf("ttt* 0-退出 *n"); printf("ttt*·*·*·*·*·*·*·*·*·*·*·*|n"); scanf("%d",&choi
12、ce); getchar(); switch(choice) case 0:menu();break; case 1:cx_sbh();break; case 2:cx_mc();break; default:printf("輸入無效請重新輸入n");cx(); break; while(choice!=0);cx_sbh()/設(shè)備號查詢 int choice;char find20;int t=0; printf("請輸入您要查詢的設(shè)備號n");scanf ("%s",find);getchar();do if(strcmp(sbt
13、.id,find)=0&&sbt.yesno=1) /1表示設(shè)備沒報(bào)廢 printf("設(shè)備號 設(shè)備名稱 設(shè)備種類 報(bào)廢日期 是否報(bào)廢 購置時間 價格n"); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+;else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意
14、鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) main(); else cx();cx_mc()/設(shè)備名稱查詢 int choice;char ming20;t=0; printf("n輸入你要查詢的設(shè)備名稱:"); scanf("%s",ming); do if(strcmp(,ming)=0&&sbt.yesno=1) /1表示設(shè)備沒報(bào)廢 printf("設(shè)備號 設(shè)備名稱 設(shè)備種類 報(bào)廢日期 是否報(bào)廢 購置時間 價格n&qu
15、ot;); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) main(); else cx(); tj()/統(tǒng)
16、計(jì)t=0;int choice;char tong20;printf("n輸入你要統(tǒng)計(jì)的設(shè)備種類:"); scanf("%s",tong); do if(strcmp(sbt.kind,tong)=0&&sbt.yesno=1) /1表示設(shè)備沒報(bào)廢 printf("設(shè)備號 設(shè)備名稱 設(shè)備種類 報(bào)廢日期 是否報(bào)廢 購置時間 價格n"); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn",sbt.id,,sbt.kind,sbt.over,sbt.
17、yesno,sbt.time,sbt.price); t+; else t+; while (t<100); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) main() ; bf() /報(bào)廢信息 int choice; do printf("ttt-n"); printf("ttt* 1-登記報(bào)廢信息 *n"); printf("ttt* 2-報(bào)廢設(shè)備
18、統(tǒng)計(jì) *n"); printf("ttt* 0-退出 *n"); printf("ttt*·*·*·*·*·*·*·*·*·*·*·*|n"); scanf("%d",&choice); getchar(); switch(choice) case 0:menu();break; case 1:bf_dj();break; case 2:bf_tj();break; default:printf("
19、輸入無效請重新輸入n");bf(); break; while(choice!=0);bf_dj()/報(bào)廢登記 char find20; t=0; printf("請輸入要登記的設(shè)備ID號:"); scanf("%s",find); while(1) if(strcmp(sbt.id,find)=0) /如果找到的話返回的是符合要求 break; else t+; int x; while(1) printf("完成登記請輸入0否那么輸入任意數(shù)再進(jìn)行修改:"); scanf("%d",&x); i
20、f(x=0) break; printf("請輸入新設(shè)備是否報(bào)廢1、沒報(bào)廢,0、報(bào)廢(原來是 %d ):",sbt.yesno); scanf("%d",&sbt.yesno); printf("n>>>>>>>>>>提示:該項(xiàng)記錄資料已經(jīng)成功登記!n"); scanf("%d",&x); switch(x) case 0:main();break; case 1:bf();break; default:printf("輸入無效,
21、自動返回主菜單n");main();break; bf_tj()/報(bào)廢統(tǒng)計(jì) int choice;char find20;t=0;printf("n輸入你要統(tǒng)計(jì)的報(bào)廢設(shè)備種類:"); scanf("%s",find); do if(strcmp(sbt.kind,find)=0&&sbt.yesno=0) /0表示設(shè)備報(bào)廢 printf("設(shè)備號 設(shè)備名稱 設(shè)備種類 報(bào)廢日期 是否報(bào)廢 購置時間 價格n"); printf("n%-13s%-11s%-7s%-10s%-13d%-10s%-5sn&q
22、uot;,sbt.id,,sbt.kind,sbt.over,sbt.yesno,sbt.time,sbt.price); t+; else t+; while (t<3); printf("鍵入數(shù)字1返回主菜單n"); printf("鍵入數(shù)字任意鍵返回上層菜單n"); scanf("%d",&choice); if (choice=1) main(); int menu() int choice; printf("nnn"); printf("ttt-n");
23、printf("ttt+ 實(shí)驗(yàn)設(shè)備管理系統(tǒng) |n"); printf("ttt-n"); printf("ttt+ 1-錄入設(shè)備信息 |n"); printf("ttt+ 2-修改設(shè)備信息 |n"); printf("ttt+ 3-查詢設(shè)備信息 |n"); printf("ttt+ 4-統(tǒng)計(jì)設(shè)備信息 |n"); printf("ttt+ 5-報(bào)廢設(shè)備信息 |n"); printf("ttt+ 0-*-EXIT-* |n"); print
24、f("ttt+*·*·*·*·*·*·*·*·*·*·|n"); printf("ttt-n");printf("請輸入你要操作的序號:"); scanf("%d", &choice); return choice; main() int choice; choice=-1; choice=menu(choice); do switch (choice) case 0: printf("n>&
25、gt;>>>>>>>>提示:已經(jīng)退出系統(tǒng),ByeBye!n"); break; case 1: lr(); break; case 2: xg(); break; case 3: cx(); break; case 4: tj(); break; case 5: bf(); break; default: printf("n>>>>>>>>>>提示:輸入錯誤!n"); break; while(choice!=0); 6程序運(yùn)行結(jié)果1、主函數(shù)運(yùn)行,顯示主菜單2、輸入數(shù)字1,進(jìn)入錄入菜單3 、返回主菜單,選擇2,進(jìn)入修改界面: 4、選擇3, 進(jìn)入設(shè)備查詢菜單: 4.1、選擇1,進(jìn)入按設(shè)備號查找信息4.2、選擇2,進(jìn)入按設(shè)備名稱查找信息5、選擇4,進(jìn)入統(tǒng)計(jì)界面,按照設(shè)備種類進(jìn)行統(tǒng)計(jì)。 6、選擇5,進(jìn)入報(bào)廢信息菜單6.1、 選擇1,進(jìn)入報(bào)廢信息登記。6.2、選擇2,進(jìn)入報(bào)廢信息統(tǒng)計(jì)。7、選擇0,退出系統(tǒng). 7編程中遇到的困難及解決方法 在編程的過程中,很容易出現(xiàn)一個問題,就時少大括號“的問題。按照計(jì)算機(jī)所指出的錯誤位置尋找是不容易找出錯誤的。直到整個程
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年分期付款數(shù)碼產(chǎn)品購買合同
- 2025年機(jī)械設(shè)備加工合同
- 2025版外貿(mào)出口農(nóng)產(chǎn)品質(zhì)量安全合同3篇
- 2025年度環(huán)保認(rèn)證木制品采購合同范本4篇
- 二零二五年度知識產(chǎn)權(quán)留置擔(dān)保協(xié)議書4篇
- 2025年度音樂版權(quán)音樂版權(quán)版權(quán)登記與認(rèn)證服務(wù)合同
- 二零二五年度燃?xì)庑孤?yīng)急處理服務(wù)合同
- 2025年度酒店人力資源部門勞動合同管理規(guī)范
- 2025年度新能源行業(yè)研發(fā)人員聘用合同
- 2025年度房地產(chǎn)企業(yè)勞動合同解除協(xié)議模板
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場發(fā)展態(tài)勢及前景戰(zhàn)略研判報(bào)告
- 北京離婚協(xié)議書(2篇)(2篇)
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 內(nèi)審檢查表完整版本
- 2024屆浙江寧波鎮(zhèn)海區(qū)中考生物全真模擬試題含解析
- 人教版八年級物理下冊 (功)教育教學(xué)課件
- 中藥的性能四氣五味課件
評論
0/150
提交評論