C語言課程設計報告—實驗設備管理系統(tǒng)_第1頁
C語言課程設計報告—實驗設備管理系統(tǒng)_第2頁
C語言課程設計報告—實驗設備管理系統(tǒng)_第3頁
C語言課程設計報告—實驗設備管理系統(tǒng)_第4頁
C語言課程設計報告—實驗設備管理系統(tǒng)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計報告課程設計的目的 提高程序設計能力,檢驗課堂教學內容,掌握程序設計的基本方法和調試技能。二課程設計報告正文1課程設計題目的原文;實驗設備信息包括:設備編號、設備種類(如:微機打印機 掃描儀 等等)、設備名稱、設備價格、設備購入日期、是否報廢、報廢日期等。試設計一實驗設備信息管理系統(tǒng),使之 能提供以下功能:(1 )能夠完成對設備的錄入和修改(2)對設備進行分類統(tǒng)計(3)設備的查詢2需求分析實驗室設備信息用文件存儲, 提供文件的輸入輸出操作; 要能夠完成設備的錄入和修改,需要提供設備添加和修改操作;實現對設備進行分類統(tǒng)計, 需要提供排序操作;實現對設備查詢需要提供查找操作,設備的查

2、詢可根據設備編號設備種類 設備購入日期 正常設備(未報廢的)等多種方式查詢;另外還要根據鍵盤式選擇菜單以實現功能選擇。3總體設計與模塊的劃分整個系統(tǒng)可設計為實驗設備信息輸入模塊實驗設備信息添加模塊 實驗設備信息修改模塊實驗設備分類統(tǒng)計模塊和實驗設備查詢模塊。4建立實驗設備信息結構體,結構體成員包括設備編號設備種類設備名稱設備價格設備購入日期 是否報廢 報廢日期。4詳細設計A主函數 void mai n()Node *equip;FILE *fp;int flag;Node *p,*q;printf("tttt 設備管理系統(tǒng) n"); equip=(Node*)malloc(

3、sizeof(Node);printf("n2 修改記錄 n");printf("n3 顯示記錄 n");printf("n4統(tǒng)計分類記錄n");prin tf("nO*-EXIT-*n ”);printf("請輸入你要操作的序號:”);sca nf("%d", &flag);switch(flag)case 0: printf("n>>>>>>>>>>提示:已經退出系統(tǒng),ByeBye!n");break;c

4、ase 1: Add(equip); break; / 增加記錄case 2: Modify(equip); break;/ 修改記錄case 3: Disp(equip); break;/ 顯示記錄信息case 4: Ton gji(equip); break;/ 統(tǒng)計記錄default: printf("n>>>>>>>>>>提示:輸入錯誤!n"); break;B各功能模塊設計(1 )輸入模塊Struct shebei char ID10; char name15; char kind15; char ove

5、r15; char yesno10; char time10; char price10;(2 )追加模塊void Add(Node *equip) / 添加記錄Node *p,*r,*s;char id10; /先用于輸入ID,也用于判斷是否跳出循環(huán)r=equip;s=equip->next; /使s為第一個有用的結點 while(r-> next!=NULL) /這個循環(huán)的作用是使r=r->next; /將指針置于最末尾 while(1) printf(">>>>>>>>>>提示:輸入0則返回主菜單 p

6、rintf("n請你輸入設備ID號:"); sca nf("%s",id); if(strcmp(id,"0")=0) break; p=(Node *)malloc(sizeof(Node); /申請空間strcpy(p->data.ID,id); printf("n請輸入設備名稱:"); sca nf("%s",p->data .n ame); printf("n請輸入設備種類:"); sca nf("%s",p->data.ki n

7、d); printf("n請輸入報廢日期:"); sca nf("%s",& p->data.over); printf("n請輸入設備是否報廢:"); sca nf("%s", &p->data.yes no); printf("n請輸入設備購買時間:”); sca nf("%s", &p->data.time); printf("n請輸入設備價格:"); sca nf("%s", &p->

8、;data.price); printf(">>>>>>>>>>提示:已經完成一條記錄的添加。 p-> next=NULL; r->next=p; /這一步是必需的 r=p; /也是必需的 r為最后一個有用的結點!n");n");,將p與先前的鏈表連起來構成一條新鏈表.將r又重設為新鏈的最后一個有用結點(3 )修改模塊void Modify(Node *equip)/ 修改 Node *p;char find20;if(!equip->n ext)printf("n>&g

9、t;>>>>>>>> 提示:沒有資料可以修改!n");return;printf("請輸入要修改的設備ID號:");sca nf("%s",fi nd);p=equip->n ext;while(p!=NULL)if(strcmp(p->dataD,fi nd)=0) /如果找到的話返回的是符合要求break;p=p->n ext;if(p) /若找到int x;while(1)printf("完成修改請輸入0否則輸入任意數再進行修改:");sca nf(&q

10、uot;%d", &x);if(x=0)break;printf("請輸入新設備號(原來是 %s ):",p->data.ID);sca nf("%s",p->dataD);printf("請輸入新設備名稱(原來是%s ):",p->);sca nf("%s",p->data .n ame);printf("請輸入新設備設備種類名稱(原來是%s ):",p->data.kind); sca nf("%s",p-

11、>data.ki nd);printf("請輸入新設備報廢日期名稱(原來是%s ):",p->data.over); sca nf("%s",p->data.over);printf("請輸入新設備是否報廢(原來是%s ):",p->data.yesno);sca nf("%s",p->data.yes no);printf("請輸入新設備購買時間(原來是%s ):",p->data.kind);sca nf("%s",p->data

12、.time);printf("請輸入新設備價格(原來是%s ):",p->data.price);sca nf("%s",p->data.price);printf("n>>>>>>>>>> 提示:該項記錄資料已經成功修改!n");else printf("n>>>>>>>>>>提示:你要修改的信息不存在!n");(4 )輸出記錄void Disp(Node *equip) 輸出記錄N

13、ode *p;p=equip->n ext;if(!p)printf("n>>>>>>>>>> 提示:沒有記錄可以顯示!n");return;printf("tttt 顯示結果 n”);printf("設備號碼設備名稱設備種類報廢日期是否報廢購買時間價格n");while(p)prin tf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->dataD,p->data. name,p->data.k in

14、d,p->data.over,p->data.yes no ,p->data.time,p->data.price);p=p->n ext;(5 )統(tǒng)計模塊void Ton gji(Node *equip) 統(tǒng)計Node *p;int sel;i nt flag2=0,ha=0; char fin d20;p=equip->n ext;if(!equip->next) / 若鏈表為空printf("n>>>>>>>>>> 提示:沒有資料可以統(tǒng)計分類!n");return;p

15、rintf(">>>>>>>>>> 提示:n=>0 退出 n=>1 按設備號統(tǒng)計 n=>2 按設備名稱 統(tǒng)計n");scanf("%d",&sel);if(sel=1)printf("n 輸入你要統(tǒng)計分類的設備號 :");scanf("%s",find);while(p)if(strcmp(p->data.ID,find)=0)flag2+;if(flag2=1&&ha!=flag2) printf(&quo

16、t; 設備號碼 設備名稱 設備種類 報廢日期 是否報廢 購買時間 價格 n"); printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->,p->dat a.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;else if(flag2>ha)printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn&quo

17、t;,p->data.ID,p->data. name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2; p=p->next;if(flag2)printf("n* 按 設 備 號 %s 統(tǒng) 計 分 類 的 有 %d 條 記 j錄*nn" fjnd flag2) else printf("n 按設備號s統(tǒng)計的結果為 0個nn",find);else if(sel=2)printf("n 輸入你

18、要統(tǒng)計分類的設備名稱 :");scanf("%s",find);while(p)if(strcmp(p->,find)=0)flag2+;if(flag2=1&&ha!=flag2) printf(" 設備號碼 設備名稱 設備種類 報廢日期 是否報廢 購買時間 價格 n"); printf("n%-10s%-10s%-10s%-10s%-10s%-10s%-10sn",p->data.ID,p->,p->dat a.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2; else if(flag2>ha)printf("n%-10s%-10s%-10s%-10s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論