有代碼-信管一班-藍俊杰-單位儀器設(shè)備基本信息管理軟件設(shè)計_第1頁
有代碼-信管一班-藍俊杰-單位儀器設(shè)備基本信息管理軟件設(shè)計_第2頁
有代碼-信管一班-藍俊杰-單位儀器設(shè)備基本信息管理軟件設(shè)計_第3頁
有代碼-信管一班-藍俊杰-單位儀器設(shè)備基本信息管理軟件設(shè)計_第4頁
有代碼-信管一班-藍俊杰-單位儀器設(shè)備基本信息管理軟件設(shè)計_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程設(shè)計課程名稱程序設(shè)計課程設(shè)計班級與班級代碼2011級信息管理1班專業(yè)信息管理指導(dǎo)教師:胡玉平姓名:藍俊杰提交日期:2012年6月23日廣東商學院教務(wù)處制姓名藍俊杰課程設(shè)計成績評語:評價內(nèi)容不及格及格中良優(yōu)表達精練,格式準確,根本無錯別字內(nèi)容完整,思路清晰,結(jié)構(gòu)嚴謹,設(shè)計科學,可操作性強程序能完成課程設(shè)計任務(wù)書所規(guī)定的任務(wù),功能完善,獨立分析和解決問題能力較好。代碼簡潔,算法清晰,可讀性強無抄襲現(xiàn)象且課程設(shè)計報告體會深刻指導(dǎo)教師〔簽名〕年月日說明:指導(dǎo)教師評分后,課程設(shè)計交院〔系〕辦公室保存。課程設(shè)計報告正文的內(nèi)容及排版要求標題:單位儀器設(shè)備根本信息管理軟件設(shè)計1系統(tǒng)功能要求:(一級標題:黑體、四號)內(nèi)容:單位儀器設(shè)備根本信息管理軟件設(shè)計:采用結(jié)構(gòu)體數(shù)組或文件形式存儲每種設(shè)備的信息,每個儀器設(shè)備應(yīng)包含如下幾方面的信息:設(shè)備編號、設(shè)備名稱、設(shè)備單價、購進年代、生產(chǎn)廠家、該設(shè)備數(shù)量、可用性。軟件由主函數(shù)〔含歡送界面〕+以下5個功能模塊組成:〔1〕購進功能〔被購進設(shè)備數(shù)量增x〕;〔2〕顯示已有設(shè)備;〔3〕報廢功能〔對“可用性”信息為“否”的設(shè)備報廢,被報廢設(shè)備數(shù)減x〕;〔3〕查找功能〔需指定設(shè)備號或設(shè)備名〕;〔5〕統(tǒng)計功能〔統(tǒng)計每種設(shè)備可用數(shù)、不可用數(shù)〕;〔6〕退出程序的運行。2系統(tǒng)總體設(shè)計思想〔1〕開發(fā)與設(shè)計的總體思想內(nèi)容例如:單位儀器設(shè)備根本信息管理軟件算法說明:STEP1預(yù)處理,定義結(jié)構(gòu)體STEP2進入歡送界面STEP3選擇某一種功能STEP4根據(jù)提示輸入一個數(shù)字STEP5對于輸入的數(shù)字編輯關(guān)于購進、報廢、查找、統(tǒng)計功能的函數(shù)STEP6如果輸入的字母表示退出,退出系統(tǒng)〔2〕系體模塊結(jié)構(gòu)圖歡送界面主菜單歡送界面主菜單購進設(shè)備 查找設(shè)備 報廢設(shè)備 修改設(shè)備 顯示程序 保存設(shè)備退出讀取設(shè)備退出讀取設(shè)備〔3〕系統(tǒng)文件及函數(shù)組成、功能(參考P154的表12-1)源文件函數(shù)名或其他成分功能facility.cmain總控函數(shù)select菜單項選擇擇menu_select菜單處理quit結(jié)束運行Facility_add_sum.cshowTable打印表頭show顯示所有的設(shè)備信息addfacility在表尾追加信息facility_Modify_remove.cfindRecord查找到指定的信息seekfacility查詢指定設(shè)備的信息removefacility報廢設(shè)備modifyfacility修改設(shè)備facility.h常數(shù)提供常數(shù)結(jié)構(gòu)聲明設(shè)備結(jié)構(gòu)庫函數(shù)及函數(shù)原型聲明引用庫函數(shù)及函數(shù)facility_save_load.csaveRecords存儲信息loadRecords讀取信息3系統(tǒng)詳細設(shè)計思想〔1〕函數(shù)的描述內(nèi)容包括:分模塊〔函數(shù)〕簡述其功能;函數(shù)中使用的各變量的類型及作用等〔可參考材P155的寫法〕。1.顯示所有設(shè)備信息函數(shù)函數(shù)原型:voidshow(void)功能:顯示內(nèi)存里的記錄信息參數(shù):void返回值:void工作方式:從頭部開始逐個顯示記錄內(nèi)容。要求:報告是否有記錄及記錄條數(shù)和內(nèi)容。2.購進設(shè)備函數(shù)函數(shù)原型:voidaddfacility(void)功能:增加記錄參數(shù):void返回值:void工作方式:從尾部開始逐個追加記錄。要求:將新記錄追加在記錄尾部,并對記錄進行計數(shù)。3.顯示所有設(shè)備信息函數(shù)函數(shù)原型:voidshowTable(void)功能:輸出表頭信息參數(shù):void返回值:void工作方式:輸出一行表頭信息。要求:輸出一行表頭信息。4.報廢設(shè)備函數(shù)函數(shù)原型:voidremovefacility(void)功能:把所選的儀器報廢,被報廢設(shè)備數(shù)減x。參數(shù):void返回值:void工作方式:根據(jù)給定的關(guān)鍵字,查找符合的記錄并將報廢的設(shè)備刪除。要求:將報廢的設(shè)備數(shù)減去。5.顯示所有設(shè)備信息函數(shù)函數(shù)原型:intfindRecord(char*target,inttargetType,intfrom)功能:查找指定的記錄參數(shù):char*target:欲查找記錄的某一項與target相同返回值:inttargetType:說明通過哪項來查找,0為編號,1為名稱。intfrom:從第from個記錄開始找。工作方式:根據(jù)給定的關(guān)鍵字,查找符合記錄的序號。要求:找不到那么返回-1.6.查詢指定設(shè)備的信息函數(shù)函數(shù)原型:voidseekfacility(void)功能:查詢指定設(shè)備的信息參數(shù):void返回值:void工作方式:可以按照編號、名稱來查詢要求: 打印查詢到的設(shè)備的信息7.修改設(shè)備信息函數(shù)原型:voidmodifyfacility(void)功能:修改指定設(shè)備的信息參數(shù):void返回值:void工作方式:修改設(shè)備的信息要求:報告是否有記錄及記錄條數(shù)和內(nèi)容8、文件存儲操作函數(shù)函數(shù)原型:intsaveRecords(void)功能:把信息存儲進指定文件中參數(shù):int返回值:void工作方式:輸入文件名字并保存要求:有空間存儲9、文件讀取操作函數(shù)函數(shù)原型:intloadRecords(void)功能:從指定文件中讀取出的記錄參數(shù):int返回值:void工作方式:輸入已經(jīng)存在的文件名字來讀取文件中的信息要求:已經(jīng)存在文件可供讀取10.主函數(shù)函數(shù)原型:intmain()功能:控制程序參數(shù):void返回值:void要求:管理菜單命令并完成初始化11.菜單處理函數(shù)函數(shù)原型:voidselect(void)功能:處理選擇的菜單命令參數(shù):void返回值:void工作方式:根據(jù)命令,調(diào)用相應(yīng)函數(shù)要求:給出結(jié)束信息12.菜單項選擇擇函數(shù)函數(shù)原型:intmenu_select()功能:接收用戶選擇的命令代碼參數(shù):void返回值:int工作方式:返回命令代碼的整數(shù)值要求:只允許選擇規(guī)定鍵,如果輸入不合要求,那么提醒用戶重新輸入13.結(jié)束程序運行函數(shù)函數(shù)原型:voidquit(void)功能:結(jié)束程序運行參數(shù):void返回值:void工作方式:根據(jù)要求決定在退出前是否將修改的記錄存入文件要求:結(jié)束運行之前,詢問是否對修改的記錄進行存儲14.頭文件函數(shù)原型:device.h功能:聲明函數(shù)原型,包含文件及自定義宏和數(shù)據(jù)結(jié)構(gòu)參數(shù):void返回值:void要求:報告是否能正常翻開文件執(zhí)行存入操作及存入記錄的條數(shù)15、文件〔2〕主要函數(shù)流程圖1.voidaddfacility(void)2.voidselect(void)3.voidshow(void)4.intfindRecord(char*target,inttargetType,intfrom)5.voidremovfacility(void)6.voidmodifyfacility(void)調(diào)試結(jié)果:〔1〕歡送界面:輸入密碼〔2〕功能選擇菜單〔3〕購進新設(shè)備功能而在于設(shè)備數(shù)量大于100臺和小于100臺的處理上,大于100臺那么直接輸入可用設(shè)備的數(shù)目,而對于小于100臺,那么逐臺輸入每臺的可用性不可用性?!?〕顯示已有設(shè)備〔5〕報廢設(shè)備報廢功能也可以按照名字和編號來報廢,報廢前還會打印出將要被報廢的設(shè)備信息再一次詢問操作者是否要刪除該設(shè)備。〔6〕查找設(shè)備按編號查找按設(shè)備名稱查找〔7〕保存設(shè)備信息〔8〕讀取設(shè)備信息本人在程序設(shè)計中感想本人在程序設(shè)計的課程設(shè)計中感受到:很多的函數(shù)設(shè)計與學生管理系統(tǒng)還是有挺大的差異的。通過設(shè)置密碼可改變背景和字體顏色的設(shè)計,讓我懂得了C語言還是有很多我沒有了解到的地方,通過互聯(lián)網(wǎng)上的資源我們可以懂得的更多。而遇到不懂的地方就要耐心的讀懂,實在不懂的就要謙虛地問同學和老師,例如在程序設(shè)計過程中scanf語句與getchar()語句混搭容易出現(xiàn)跳句,需要不斷的修改來完善。將保存文件語句和讀取文件語句穿插也需要注意,當記錄為0時直接調(diào)用saveRecord()語句是保存不了的,所以需要再修改。通過實驗讓我更加深刻學習到了C語言的好處。5結(jié)束語C語言的程序設(shè)計實驗的成功實驗,靠得不僅僅是自己的努力,還有同學的幫助,當然最重要的還是老師的耐心解答。參考文獻[1]譚浩強,C程序設(shè)計〔第二版〕,北京:清華大學出版社,2001.1〔左對齊,宋體,五號〕[2]陳朔鷹,C語言程序設(shè)計習題集,北京:人民郵電出版社,2003.6facility.h#ifndefH_STUDENT_HH//如果沒有定義H_STUDENT_HH,繼續(xù)執(zhí)行#defineH_STUDENT_HH//定義H_STUDENT_HH,可防止重復(fù)編繹#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>//頭文件包含#defineINITIAL_SIZE5 //數(shù)組初始大小#defineINCR_SIZE5 //數(shù)組每次增加的大小//可根椐系統(tǒng)使用需要的常量定義structfacility_info{ charnumber[20]; //設(shè)備編號 charname[20]; //設(shè)備名稱 charmanufactory[20];//設(shè)備生產(chǎn)廠家 charyear[20];//設(shè)備購進年代 floatgetnumbers;//設(shè)備購進數(shù)目floatusable;//可用設(shè)備 floatprice;//設(shè)備單價};typedefstructfacility_infoSBInfo;//定義一個類型名SBInfo代表定義的結(jié)構(gòu)體shebei_infoexternintnumStus; //記錄的設(shè)備數(shù)externSBInfo*records; //記錄設(shè)備信息的數(shù)組指針externintarraySize; //數(shù)組大小externcharsavedTag;//共享的全局變量定義voidselect(void);intmenu_select(void);voidaddfacility(void);voidmodifyfacility(void);voidshow(void);voidseekfacility(void);voidremovefacility(void);voidquit(void);voidshowTable(void);intfindRecord(char*target,inttargetType,intfrom);intgetIndex(floatsum);intsaveRecords(void);intloadRecords(void);voidcopyRecord(SBInfo*hum,SBInfo*orc);//函數(shù)申明,注意()里必須包含對應(yīng)函數(shù)形參類型#endif//H_STUDENT_HHfacility.c#include"facility.h"#include<conio.h>/***************************初始化**************************/intnumStus=0; //記錄的學生數(shù)SBInfo*records=NULL; //記錄學生信息的數(shù)組intarraySize; //數(shù)組大小charch1[15],ch2[15]={"JJ"};charsavedTag=0; //信息是否已保存的標志,1為未保存,0為已保存/***************************主函數(shù)**************************/intmain(){ system("color9"); //初始化數(shù)組 records=(SBInfo*)malloc(sizeof(SBInfo)*INITIAL_SIZE);//給數(shù)組分配StuInfo分配INITIAL_SIZE個記錄空間大小 if(records==NULL) { printf("memoryfail!"); exit(-1);//如果內(nèi)存空間不夠分配,退出程序 } arraySize=INITIAL_SIZE;printf("*************************************************************************\n");printf("*callmeJJSINGLEJJBIRTHDAY*\n");printf("*lovelove**handsome19920929*\n");printf("**********\n");printf("*********\n");printf("***QQ:496798140*****\n");printf("***嘿我是藍俊杰*****\n");printf("***QQQQQQ*********\n");printf("*:150QQQQQQ673798673798*\n");printf("*15593798QQQQQQ*******\n");printf("***\n");printf("****\n");printf("**歡送使用儀器設(shè)備根本信息管理程序**\n");printf("****\n");printf("**設(shè)計者藍俊杰1251101121**\n");printf("**********\n");printf("**********\n");printf("************\n");printf("**************************************************\n");printf("************************************************\n");printf("******\n");printf("******\n"); printf("\n"); for(;;) {printf("\n進入系統(tǒng)的密碼是:"); gets(ch1); if(strcmp(ch1,ch2)==0)break; elseprintf("\nSORRY!密碼錯啦T_T!\n"); } printf("\n\t\t歡送使用設(shè)備管理系統(tǒng)!\t\n"); select();}/***************************菜單處理函數(shù)**************************/voidselect(void){ for(;;){ switch(menu_select()) { case1: addfacility(); break; case2: seekfacility(); break; case3: removefacility(); break; case4: modifyfacility(); break; case5: show(); break; case6: saveRecords(); break; case7: loadRecords(); break;case8: quit(); } }}/*****************************菜單項選擇擇函數(shù)menu_select****************************/intmenu_select(){ chars[2]; intcn=0; printf("\n");printf("\t1.購進設(shè)備\n"); printf("\t2.查找設(shè)備\n"); printf("\t3.報廢設(shè)備\n"); printf("\t4.修改設(shè)備信息\n"); printf("\t5.顯示設(shè)備信息\n"); printf("\t6.保存設(shè)備信息\n"); printf("\t7.讀取設(shè)備信息\n"); printf("\t8.退出程序\n"); printf("\n\t左邊數(shù)字對應(yīng)功能選擇,請選1-8:"); for(;;) { gets(s); cn=atoi(s); if(cn<1||cn>8)printf("\n\t輸入錯誤,重選1-8:"); elsebreak; } returncn;}/****************************************結(jié)束運行,退出**參數(shù)量void***************************************/voidquit(void){charstr[5];if(savedTag==1){printf("\n是否保存記錄?〔Y/n〕\n");printf("選擇:");gets(str);if(str[0]!='n'&&str[0]!='N')saveRecords();}free(records);printf("\nByeBye啦啦啦啦~\n\n");exit(0);}facility_add_sum.c#include"facility.h"/*********************打印表頭********************/floatgetnumbers,usenumbers_1,usenumbers_2;floatunusable,usable;voidshowTable(void){ printf("\n\t編號\t名稱\t廠家"); printf("\t年代\t單價\t數(shù)量\t可用數(shù)\n");}/************************顯示所有的設(shè)備信息***********************/voidshow(void){ inti; if(numStus==0) { printf("\n沒有可供顯示的記錄!\n"); return; } showTable(); if(getnumbers<=100) {for(i=0;i<numStus;i++) { //打印設(shè)備的信息 printf("\t%s\t%s\t%s\t%s\t%.2f\t%.f\t%.f\n",records[i].number,records[i].name,records[i].manufactory,records[i].year,records[i].price,records[i].getnumbers,records[i].usable); } } elseif(getnumbers>100) { for(i=0;i<numStus;i++) { //打印設(shè)備的信息 printf("\t%s\t%s\t%s\t%s\t%.2f\t%.f\t%.f\n",records[i].number,records[i].name,records[i].manufactory,records[i].year,records[i].price,records[i].getnumbers,records[i].usable); } }}/******************************在當前表的末尾增加新的信息*結(jié)果:records中將記錄新的信*息,如果數(shù)組大小不夠,會重*新申請數(shù)組空間*****************************/voidaddfacility(void){ charstr[10]; floatunusable,usable; int j; floatgetnumbers,usenumbers_1; floatprice;if(numStus==0) printf("\n原來沒有記錄,現(xiàn)在建立新表\n"); else printf("\n下面在當前表的末尾增加新的信息\n"); while(1)//()中為1表示無條件反復(fù)循環(huán) { printf("您將要添加一組信息,確定嗎?(Y/n)"); gets(str); if(str[0]=='n'||str[0]=='N')//不再添加新的信息 break; if(numStus>=arraySize)//現(xiàn)在的數(shù)組空間缺乏,需要重新申請空間 { records=realloc(records,(arraySize+INCR_SIZE)*sizeof(SBInfo));//新空間大小變?yōu)?arraySize+INCR_SIZE)記錄大小,即在原來根底上增加INCR_SIZE個記錄大小 if(records==NULL) { printf("memoryfailed!"); exit(-1); } arraySize=arraySize+INCR_SIZE;//arraySize修改為新空間可保存的記錄數(shù) } printf("\n請輸入設(shè)備編號:"); gets(records[numStus].number); printf("請輸入設(shè)備名稱:"); gets(records[numStus].name);printf("請輸入設(shè)備購進年代:"); gets(records[numStus].year);printf("請輸入設(shè)備生產(chǎn)廠家:");gets(records[numStus].manufactory);printf("請輸入設(shè)備單價:");gets(str); price=(float)atof(str); records[numStus].price=price; printf("購進設(shè)備數(shù)量是否大于100臺?(Y/N)"); gets(str); if(str[0]=='y'||str[0]=='Y') { printf("\n請輸入購進設(shè)備數(shù)量:"); gets(str); getnumbers=(float)atof(str); records[numStus].getnumbers=getnumbers; printf("可用設(shè)備的數(shù)量有:"); gets(str); usenumbers_1=(float)atof(str); records[numStus].usable=usenumbers_1; } elseif(str[0]=='n'||str[0]=='N') { printf("請輸入購進設(shè)備數(shù)量:"); gets(str); getnumbers=(float)atof(str); records[numStus].getnumbers=getnumbers;unusable=0;usable=0; for(j=1;j<=getnumbers;j++) {printf("第%d臺設(shè)備的可用性為:(設(shè)備不可用請輸入0,設(shè)備可用請輸入1):",j); gets(str); if(str[0]=='0') { unusable=unusable+1; } elseif(str[0]=='1') { usable=usable+1; } }records[numStus].usable=usable; unusable=0;usable=0; }numStus++;//輸入一設(shè)備記錄后,設(shè)備數(shù)加1 } printf("\n現(xiàn)在一共有%d條設(shè)備信息\n",numStus); savedTag=1;}facility_Modify_remove.c#include"facility.h"/***************************************************************查找指定的記錄*參數(shù): target:欲查找記錄的某一項與target相同* targetType:說明通過哪一項來查找,0為設(shè)備編號,1為設(shè)備名稱* from:從第from個記錄開始找*返回:找到的記錄的序號,假設(shè)找不到那么返回-1**************************************************************/intfindRecord(char*target,inttargetType,intfrom){inti;for(i=from;i<numStus;i++){if((targetType==0&&strcmp(target,records[i].number)==0)||(targetType==1&&strcmp(target,records[i].name)==0))returni;//如果找到符合條件的記錄,返回記錄號i}return-1;//如果沒有找到,返回-1}/*********************************查詢指定設(shè)備的信息*可以按照設(shè)備編號或名稱來查詢********************************/voidseekfacility(void){ charstr[5]; chartarget[20]; inttype; intcount; inti;if(numStus==0) { printf("\n沒有可供查詢的記錄\n"); return; } while(1){ printf("\n請輸入查詢的方式:〔直接輸入回車鍵那么結(jié)束查詢〕\n"); printf("1.按設(shè)備編號查找\n"); printf("2.按設(shè)備名稱查找\n"); printf("\n選擇:"); gets(str); if(str[0]=='1') { printf("\n請輸入欲查找的設(shè)備編號:"); gets(target); type=0; }elseif(str[0]=='2') { printf("請輸入欲查找的設(shè)備名稱:"); gets(target); type=1; }elsebreak; i=findRecord(target,type,0);//,從0號記錄起查找,查詢項type,查詢目標數(shù)據(jù)項target if(i>=0) { //打印查詢到的設(shè)備的信息showTable();} count=0; while(i!=-1) { count++;//查詢到的設(shè)備數(shù)加1 printf("\t%s\t%s\t%s\t%s\t%.2f\t%.f\t%.f\n",records[i].number,records[i].name,records[i].manufactory,records[i].year,records[i].price,records[i].getnumbers,records[i].usable);//輸出i記錄的各個數(shù)據(jù)項i=findRecord(target,type,i+1);//從i+1條記錄起查找下一條符合條件的記錄 } if(count==0)printf("\n沒有符合條件的設(shè)備!\n");elseprintf("\n一共找到了%d種設(shè)備的信息\n\n",count); }}/*************************刪除指定的記錄************************/voidremovefacility(void){ charstr[5]; chartarget[20]; inttype; inti,j; if(numStus==0) { printf("\n沒有可供刪除的記錄\n"); return; } while(1){ printf("\n請輸入如何找到欲報廢的設(shè)備:〔直接輸入回車鍵那么結(jié)束移除操作〕\n"); printf("1.按設(shè)備編號\n"); printf("2.按設(shè)備名稱\n"); printf("\n選擇:"); gets(str); if(str[0]=='1') { printf("\n請輸入該設(shè)備的編號:"); gets(target); type=0; }elseif(str[0]=='2') { printf("請輸入該設(shè)備的名稱:"); gets(target); type=1; }elsebreak; i=findRecord(target,type,0); if(i==-1)printf("\n沒有符合條件的設(shè)備!\n"); while(i!=-1) { showTable(); printf("\t%s\t%s\t%s\t%s\t%.2f\t%.f\t%.f\n",records[i].number,records[i].name,records[i].manufactory,records[i].year,records[i].price,records[i].getnumbers,records[i].usable); printf("\n真的要刪除該設(shè)備嗎?(y/N)"); gets(str);if(str[0]=='Y'||str[0]=='y'){ numStus--; for(j=1;j<numStus;j++) { copyRecord(&records[j+1],&records[j]); }}i=findRecord(target,type,i+1);}} savedTag=1;//刪除一條記錄后,保存標志變?yōu)?,表示未保存}/******************************************將src指向的一條記錄復(fù)制給dest指向的記錄*****************************************/voidcopyRecord(SBInfo*hum,SBInfo*orc){ strcpy(orc->number,hum->number); strcpy(orc->name,hum->name); strcpy(orc->year,hum->year); strcpy(orc->manufactory,hum->manufactory); orc->price=hum->price; orc->usable=hum->usable; orc->getnumbers=hum->getnumbers;}/**************************修改指定設(shè)備的信息*************************/voidmodifyfacility(void){ charstr[5]; chartarget[20]; inttype; inti,j; floatgetnumbers,usenumbers_1,usenumbers_2,usable,unusable; floatprice; intcount=0;if(numStus==0) { printf("\n沒有可供修改的記錄\n"); return; } while(1){ printf("\n請輸入想要修改的設(shè)備記錄的方式:〔直接輸入回車鍵那么結(jié)束移除操作〕\n"); printf("1.按設(shè)備編號\n"); printf("2.按設(shè)備名稱\n"); printf("\n選擇:"); gets(str); if(str[0]=='1') { printf("\n請輸入該設(shè)備的編號:"); gets(target); type=0; }elseif(str[0]=='2') { printf("請輸入該設(shè)備的名稱:"); gets(target); type=1; }elsebreak; i=findRecord(target,type,0); if(i==-1)printf("\n沒有符合條件的設(shè)備!\n"); while(i!=-1) { showTable(); printf("\t%s\t%s\t%s\t%s\t%.2f\t%.f\t%.f\t%.f\n",records[i].number,records[i].name,records[i].manufactory,records[i].year,records[i].price,records[i].getnumbers,records[i].usable); printf("\n確定要修改該設(shè)備的信息嗎?(Y/N)"); gets(str); if(str[0]=='y'||str[0]=='Y') { printf("\n下面請重新輸入該設(shè)備的信息:\n"); printf("\n請輸入設(shè)備編號:"); gets(records[i].number); printf("請輸入設(shè)備名稱:"); gets(records[i].name);printf("請輸入設(shè)備購進年代:"); gets(records[i].year);printf("請輸入設(shè)備生產(chǎn)廠家:");gets(records[i].manufactory);printf("請輸入設(shè)備單價:");gets(str); price=(float)atof(str); records[i].price=price; printf("購進設(shè)備數(shù)量是否大于100臺?(Y/N)\n"); gets(str); if(str[0]=='y'||str[0]=='Y') { printf("請輸入購進設(shè)備數(shù)量:"); gets(str); getnumbers=(float)atof(str); records[i].getnumbers=getnumbers; printf("可用設(shè)備的數(shù)量有:"); gets(str); usenumbers_1=(float)atof(str); records[i].usable=usenumbers_1; printf("不可用設(shè)備的數(shù)量有:"); gets(str); usenumbers_2=(float)atof(str); } elseif(str[0]=='n'||str[0]=='N') { printf("請輸入購進設(shè)備數(shù)量:"); gets(str); getnumbers=(float)atof(str); records[i].getnumbers=getnumbers; unusable=0;usable=0; for(j=1;j<=getnumbers;j++) {printf("第%d臺設(shè)備的可用性為:“0”設(shè)備不可用,“1”設(shè)備可用:",j); gets(str); if(str[0]=='0') { unusable=unusable+1; } elseif(str[0]=='1') { usable=usable+1; } }records[i].usable=usable; unusable=0;usable=0; }i=findRecord(target,type,i+1);}elsebreak; } }savedTag=1;}facility_save_load.c#include"facility.h"/***********************************文件存儲操作函數(shù)*結(jié)果:數(shù)組records被保存至指定文件*返回:成功0,失敗-1**********************************/intsaveRecords(){ FILE*fp; charfname[30]; if(numStus==0

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論