


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGYC語言程序設(shè)計課程設(shè)計報告課設(shè)題目:汽車零部件采購管理專業(yè):電子信息工程(汽車電子)班級:T1323-15姓名:徐倩成績:完成日期:2014年19周指導(dǎo)教師:吳年志C語言程序設(shè)計課程設(shè)計報告1. 課程設(shè)計目的1需求分析2要求2任務(wù)描述3運行環(huán)境4開發(fā)工具4總體設(shè)計4系統(tǒng)流設(shè)計4系統(tǒng)模塊設(shè)計5詳細(xì)設(shè)計6數(shù)據(jù)結(jié)構(gòu)設(shè)計6模塊接口設(shè)計71)所有函數(shù)聲明72)全局變量93)主要模塊的實現(xiàn)9主要功能模塊的流程圖102. JZi行結(jié)果12歡迎界面12主菜單頁面13信息查詢頁面13統(tǒng)計菜單頁面13顯示信息頁面13退出頁面13程序調(diào)試與測
2、試13主菜單選擇測試13采購信息未從文件讀入14米購信息輸入調(diào)試187?問題與不足148. 建議159. 編程體會1510. 程序源代碼151. 課程設(shè)計目的1)通過課程設(shè)計,加深對結(jié)構(gòu)化程序設(shè)計思想的理解,能對系統(tǒng)功能進行分析,并設(shè)計合理的模塊化結(jié)構(gòu)。2)通過課程設(shè)計,進一步掌握C語言中重要的數(shù)據(jù)結(jié)構(gòu)。掌握并熟練運用指針、鏈表、結(jié)構(gòu)體、文件等數(shù)據(jù)結(jié)構(gòu)。3)通過課程設(shè)計,提高程序開發(fā)能力,能運用合理的控制流編寫清晰高效的程序。4)通過課程設(shè)計,培養(yǎng)C語言知識運用和自學(xué)能力,真正的把課堂上獲得的知識運用起來,培養(yǎng)自己對程序編寫的興趣,并能獨立設(shè)計和實現(xiàn)一個小型系統(tǒng)。5)通過課程設(shè)計,加強了自己的
3、程序分析能力。2. 需求分析要求1)遵循軟件開發(fā)過程的基本規(guī)范;能靈活應(yīng)用,初步具備運用C程序解決實際I可題的能力。2)運用結(jié)構(gòu)化程序設(shè)計方法,按照課程設(shè)計題目要求,完成包括需求分析、數(shù)據(jù)結(jié)構(gòu)設(shè)計、概要設(shè)計、詳細(xì)設(shè)計、編寫代碼、調(diào)試和測試C程序等過程。3)學(xué)會利用數(shù)組、結(jié)構(gòu)體、鏈表進行相關(guān)信息表示。4)功能模塊劃分清晰,系統(tǒng)結(jié)構(gòu)圖符合功能操作要求,且有詳盡的功能描述5)各主要功能模塊有詳盡的流程圖及描述,用函數(shù)的形式實現(xiàn),且調(diào)用入口、功能、出口等關(guān)系正確6)所設(shè)計的C程序較好的可讀性和可靠性;程序書寫風(fēng)格規(guī)范,注釋清晰。7)界面友好(良好的人機互交),凡需要輸入信息時,都有較詳盡的提示信息,并
4、對輸入信息有較完善的值域分析。8)程序經(jīng)上機調(diào)試通過,不應(yīng)出現(xiàn)語法型、功能型錯誤,并獲得滿意的結(jié)果。9)學(xué)會通過各功能性測試用例測試程序的能力,盡可能避免原則性錯誤的出現(xiàn)。10)掌握編寫、調(diào)試和測試C語言程序的基本技巧,充分理解結(jié)構(gòu)化程序設(shè)計的基本方法。11)C語言課程設(shè)計報告的內(nèi)容反應(yīng)實際設(shè)計過程,且符合格式要求,無抄襲現(xiàn)象。任務(wù)描述已知在汽車生產(chǎn)時,需要向零部件生產(chǎn)廠商采購零部件,設(shè)計一個汽車零部件采購管理程序,以方便采購管理部門對采購零部件的管理。該單位每次采購都有一個采購編號,每次采購一種零部件。該程序應(yīng)該具有如下功能1)添加并保存采購信息:輸入采購編號,零部件名稱,采購員名字,采購日
5、期,采購價格,采購數(shù)量,供貨單位,需要判斷采購價格和數(shù)量是否大于零,采購編號是否已存在,采購日期是否合法(形如*-*-*,例如2013-09-08)。2)根據(jù)采購編號查詢零部件采購信息3)根據(jù)零部件名稱查詢其采購信息4)根據(jù)采購編號修改已有采購信息:需要判斷修改后的采購編號的唯一性,采購日期的合法性(形如*-*-*,例如2013-09-08)。根據(jù)米購編號刪除此條米購信息統(tǒng)計功能運行環(huán)境VC+編譯環(huán)境開發(fā)工具C語言總體設(shè)計系統(tǒng)流設(shè)計程序整體功能結(jié)構(gòu)如圖一所示:開始顯示課程以及學(xué)生信息顯示主菜單,輸入選擇讀取文件中的采購信息添加并保存采購信息由采購編號查找零部件采購信息修改并保存采購信息由零部件
6、名稱查找其采購信息刪除并保存余下采購信息統(tǒng)計采購信息顯示所有采購信息根據(jù)零部件名稱統(tǒng)計其總根據(jù)采購員名子統(tǒng)計數(shù)量其采購次數(shù)系統(tǒng)模塊設(shè)計1)voidbyebye()圭寸面模塊函數(shù)voidhuanying()和函數(shù)構(gòu)成封面模塊,構(gòu)造和諧人機環(huán)境。2)菜單模塊函數(shù)voidmenu()和函數(shù)voidchoise()構(gòu)成選擇菜單,二級菜單voidtongji()構(gòu)成統(tǒng)計功能菜單其中查詢模塊函數(shù)voidnumshow()和函數(shù)voidnameshow()分別實現(xiàn)根據(jù)采購編號和零部件名稱查詢采購信息的功能,會有其他函數(shù)輔助。信息處理模塊函數(shù)voidchange()實現(xiàn)信息修改功能,函數(shù)voiddisappe
7、rr()實現(xiàn)信息刪除功能,voidinput()實現(xiàn)信息添加功能,voidsave()實現(xiàn)信息保存功能,voidlistCG()實現(xiàn)信息顯示功能,其中會有其他函數(shù)輔助。統(tǒng)計模塊函數(shù)intnumber()實現(xiàn)根據(jù)零部件名稱統(tǒng)計其總數(shù)量功能,inttimes()實現(xiàn)根據(jù)采購員名字顯示其采購次數(shù)的功能,其中會有其他函數(shù)輔助。日期審查模塊函數(shù)voidcheckdate()使用標(biāo)志位方法實現(xiàn)對時間的審查。詳細(xì)設(shè)計數(shù)據(jù)結(jié)構(gòu)設(shè)計根據(jù)系統(tǒng)要求,采購信息包括¥據(jù)項名稱數(shù)據(jù)項系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長度備注采購編號P1->buynum字符串103部件名稱P1->itemname字符串10采購日期
8、P1->day字符串303購員名字P1->buyername字符串10采購數(shù)量P1->count整型4采購價格P1->price單精度8供貨單位P1->source字符串10為了能實現(xiàn)系統(tǒng)的優(yōu)越性和c語言的精華采用鏈表的建立采購信息記錄表示意圖如下:模塊接口設(shè)計1)所有函數(shù)聲明封面函數(shù),顯示課程題目,學(xué)viodhuanying();I*生信息*1主菜單函數(shù),顯示各項功能voidmenu();I*/voidchoise();I*根據(jù)主菜單選擇并執(zhí)行功能*1voidreadinto();I*讀取文件內(nèi)的采購信息voidinput();/*從鍵盤添加米購信息并保存到文件
9、中*/voidlistCG();/*顯示所有采購信息*voidnumshow();/*并顯示*/根據(jù)采購編號查詢對應(yīng)采購信息voidnameshow();/*并顯示*/根據(jù)零部件名稱查詢其采購信息voidchange();/*息*/根據(jù)采購編號修改并顯示采購信voiddisapper();/*購信息*/根據(jù)采購編號刪除并顯示余下采voidtongji();/*功能*/統(tǒng)計功能菜單,顯示兩項統(tǒng)計根據(jù)intnumber();/*零部件名稱統(tǒng)計其購買總數(shù)量根據(jù)*inttimes();*/采購員名字統(tǒng)計其采購次數(shù)intchecktime(intyear,intmonth,intday);/*審查日期輸
10、入是否符合要求*voidbyebye();*告別界面1, */voidsave();/*保存采購信息*/全局變量用于存儲采購信息的結(jié)構(gòu)體structbuy;判斷文件是否正確讀入的標(biāo)志位變量intflag;用于存儲采購信息的結(jié)構(gòu)體指針:structbuy*head=NULL,*p,*p1,*p2,*p3.2) 主要模塊的實現(xiàn)系統(tǒng)以intmain()為入口,首先調(diào)用voidhuanying()顯示課程名稱和學(xué)生信息,調(diào)用voidmenu()和voidchoise()實現(xiàn)功能顯示和功能選擇。接著,按照用戶的要求,調(diào)用voidnumshow()或voidnameshow()實現(xiàn)查詢功能,或調(diào)用void
11、change(),voiddisapper()實現(xiàn)修改和刪除功能不管是刪除還是修改還是添加都要調(diào)用voidsave()實現(xiàn)信息保存功能。添加和修改時還要調(diào)用intchecktime(intyear,intmonth,intday)函數(shù)對時間審查。當(dāng)不需要再執(zhí)行各項功能時,調(diào)用voidbyebye()退出管理器。主要功能模塊的流程圖1)封面模塊(以歡迎界面為例,退出界面與此類似)顯示題目和學(xué)生信息進入系統(tǒng)2)菜單模塊退出管理系統(tǒng)是否為是否為接受用戶輸入選項顯小上菜單執(zhí)行用戶所選功能3)查詢模塊(以根據(jù)采購編號查詢采購信息為例)5)統(tǒng)計模塊(以根據(jù)零部件名稱統(tǒng)計采購總數(shù)量為例)輸入零部件名稱,s=
12、06)日期審查模塊5.運行結(jié)果歡迎界面主菜單信息查詢頁面統(tǒng)計菜單頁面顯示信息頁面退出頁面程序調(diào)試與測試測試數(shù)據(jù):采購編號001001001002001003001004零部件名稱*塞輪胎后視鏡方向盤米購日期2013-09-272013-04-232013-09-082013-09-07采購員名字.堯徐倩衛(wèi)添翼李林琳*購數(shù)量90679089采購價格供貨單位汽院十堰黃岡河南主菜單選擇測試若用戶輸入錯誤選項,則如圖顯示采購信息未從文件讀入采購信息的輸入測試1)若添加的采購編號已存在,則如圖顯示:2)若添加的采購信息日期格式輸入錯誤,則如圖顯示3)若查詢的采購編號輸入錯誤,則如圖顯示4)若查詢的零部件
13、名稱輸入錯誤,則如圖顯示5)若輸入價格為負(fù)數(shù)時,如圖顯示6)若輸入的數(shù)量為負(fù)值時,如圖顯示問題與不足1、需求分析中存在的問題每次只能從鍵盤中添加一條采購信息,當(dāng)遇到需要添加多條信息時,比較麻煩。統(tǒng)計功能太少,如果要求幾個零部件的總價,無法實現(xiàn)。2、程序中存在的缺陷每次運行其他功能前都要先從文件中讀入,比較耗時。有些功能輸入錯誤時無法重新輸入,而是直接跳到主菜單。緩存較多建議題目應(yīng)更加貼近生活,這樣可以讓同學(xué)們看到c語言的有用之處,激發(fā)同學(xué)們的學(xué)習(xí)熱情。課程設(shè)計的題目涉及范圍應(yīng)該更廣。程序設(shè)計的功能應(yīng)相對更加復(fù)雜一點,這樣有利培養(yǎng)同學(xué)們的分析問題,解決問題的能力,同時也能提高同學(xué)們對代碼的掌握能
14、力。再者,就是驗收時應(yīng)該要學(xué)生畫出鏈表結(jié)構(gòu)圖,幫助他們更加深刻的掌握知識。6. 編程體會經(jīng)歷了編c語言課程設(shè)計后,我對這一學(xué)期c語言所學(xué)內(nèi)容有了更加深刻的了解和掌握,特別是一直不懂的鏈表和指針,現(xiàn)在發(fā)現(xiàn)自己都能運用了,很開心自己的進步。所以,雖然寫程序的過程中,遇到各種問題,調(diào)試的時候也是遇到各種令人頭大的問題,但能借助課程設(shè)計提高自己對指針和鏈表的熟練度,提高自己對c語言編程的熟練度,也希望學(xué)校可以多開設(shè)一些這樣的課程,既是讓我們對自己所學(xué)知識的一個綜合理解與使用,也可以提高我們的動手實踐能力、對知識的運用能力,更是一個讓我們學(xué)會獨立思考的好機會。程序源代碼申請結(jié)構(gòu)體空間#include&l
15、t;>#include<>#include<>#include<>#include<>#include<>#defineLENsizeof(structbuy)/#defineN100*申明程序中運用的函數(shù)*/voidhuanying();voidreadinto();/voidinput();voidlistCG();voidnumshow();voidnameshow();voidchange();/voiddisapper();/voidmenu();voidchoise();voidtongji();/intnumber
16、();/inttimes();/封面函數(shù)讀取文件添加米購信息/顯小米購信息根據(jù)采購編號顯示采購信息根據(jù)零部件名稱顯示米購信息修改米購信息刪除米購信息/顯示主菜單/選擇所需功能統(tǒng)計功能菜單根據(jù)零部件名稱統(tǒng)計采購的零部件總數(shù)量根據(jù)采購員名字統(tǒng)計采購的零部件總數(shù)量intcheckdate(intyear,intmonth,intday);/voidbyebye();/告別界面voidsave();/保存文件檢測時間/*structbuy定義全局變量*/定義結(jié)構(gòu)體charbuynum10;charitemname10;charday30;charbuyername10;intcount;floatpr
17、ice;charsource10;structbuy*next;intflag=0;/*flag為文件是否以正確讀入的標(biāo)志位*/定義結(jié)構(gòu)體指針*/structbuy*head=NULL,*p,*p1,*p2,*p3;/*主函數(shù)*intmain()huanying();getch();while(1)menu();/*顯示主菜單*/choise();/*顯示選擇功能*/return0;/*封面函數(shù)voidhuanying()(??;*n");printf("tt*n");printf("tt*c語言課程設(shè)計*n");printf("tt*
18、n");printf("tt*學(xué)生姓名:徐倩*n");printf("tt*指導(dǎo)老帥:吳年志*n");printf("tt*班級:T1323-15*n");printf("tt*學(xué)號:538*n");聯(lián)系方式:(69180)*n");printf("tt*printf("tt*n");printf("tt*課程題目:汽車零部件采購管理程序*n");printf("tt*n");printf("tt*n")f
19、flush(stdin);printf("請按回車鍵繼續(xù)'.);告別界面*voidbyebye()(printf("nnntt*.11X*n");printf("tt*printf("tt*n")*n");printf("tt*printf("tt*n");*n");printf("tt*n");printf("tt*n");printf("tt*n");printf("tt*n");printf(
20、"tt*n");printf("tt*n");printf("tt*n");printf("tt*歡迎下次使用n");主菜單函數(shù)voidmenu()(system("cls");printf("nnntt*歡迎使用汽車零部件管理系統(tǒng)*n");printf("tt|printf("tt|tt1,printf("tt|printf("tt|tt2,Iprintf("tt|tttt|n");讀取采購信息ttt|n"
21、;);tttt|n");從鍵盤添加并保存采購信息t|n");tttt|n"););printf("tt|tt3,printf("tt|printf("tt|tt4,printf("tt|printf("tt|tt5,printf("tt|printf("tt|tt6,printf("tt|printf("tt|tt7,printf("tt|printf("tt|tt8,printf("tt|printf("tt*tt0根據(jù)采購編號查找零
22、件信息t|n");tttt|n");根據(jù)零部件名稱查找采購信息t|n");tttt|n");修改并保存采購信息tt|n");tttt|n");刪除并保存余下采購信息t|n");tttt|n");統(tǒng)計采購信息ttt|n");tttt|n");顯示采購信息ttt|n");*n讀入文件函數(shù)voidreadinto()(FILE*fp;/*文件指針*/intn=0;if(fp=fopen("","r")=NULL)/*打開文件時無此文件*/(printf
23、(-文件打開錯誤:n");exit(0);p1=(structbuy*)malloc(LEN);head=p1;p1->next=NULL;while(!feof(fp)/*讀取文件內(nèi)的信息*/(fscanf(fp,"%s%s%s%s%d%f%s",p1->buynum,p1->itemname,p1->day,p1->buyername,&p1->count,&p1->price,p1->source);p2=(structbuy*)malloc(LEN);/*p2指向新申請的節(jié)片*p1->n
24、ext=p2;p3=p1;p1=p2;p1->next=NULL;)free(p2);p3->next=NULL;fclose(fp);/*關(guān)閉文件*/flag=1;printf(-文件讀取成功!n");listCG();尸*選擇所需功能函數(shù)voidchoise()intn;printf(-請從鍵盤輸入您的選擇(0-8內(nèi)的整數(shù)):");scanf("%d”,&n);while(n<0|n>8)printf("輸入不合法,請再輸入一次:");scanf("%d",&n);switch(n
25、)case1:system("cls");/*清房*/readinto();break;case2:system("cls");input();break;case3:system("cls");numshow();break;case4:system("cls");nameshow();break;case5:system("cls");change();break;case6:system("cls");disapper();break;case7:system(&quo
26、t;cls");tongji();break;case8:system("cls");listCG();break;case0:system("cls");byebye();exit(0);/從鍵盤添加并保存采購信息函數(shù)七voidinput()intn=0,i=0,k;charch;longy,m,d;if(flag=0)printf(-未建立,采購信息數(shù)據(jù)庫為空n");printf(-按任意鍵返回");getch();return;printf(-請輸入將要添加的采購編號(形如001002,以回車鍵結(jié)束)n");
27、fflush(stdin);scanf("%s”,p2->buynum);p1=head;while(p1!=NULL)if(strcmp(p2->buynum,p1->buynum)=0)的采購編號*/信息中與輸入相/*找到數(shù)據(jù)庫printf("你輸入的采購編號已存在!!");printf("對應(yīng)零部件信息如下:");printf("采購編號:%sn",p1->buynum);printf("零部件名稱:%sn",p1->itemname);printf("米購日
28、期:%sn",p1->day);printf("采購員名字:%sn",p1->buyername);printf("采購數(shù)量:%dn",p1->count);printf("采購價格:%fn",p1->price);printf("供貨單位:%sn",p1->source);n=1;/*標(biāo)志位*/printf("請按任意鍵返回!n");getch();system("cls");break;p1=p1->next;if(n!=1)
29、(system("cls");p1=head;while(p1->next!=NULL)p1=p1->next;printf("請輸入");p2=(structbuy*)malloc(LEN);/開辟一個新單元fflush(stdin);for(i=0;i<7;i+)(if(i=0)(fflush(stdin);printf(-采購編號(數(shù)字字符串型):");scanf("%s",p2->buynum);if(i=1)(fflush(stdin);printf(-零部件名稱(文字或英文字符串型):&q
30、uot;);scanf("%s",p2->itemname);if(i=2)doprintf(-采購日期(形如*-*-*,以回車鍵結(jié)束):");fflush(stdin);scanf("%s",p2->day);if(p2->day4='-'&&p2->day7='-'&&strlen(p2->day)=10)y=(p2->day0-48)*1000+(p2->day1-48)*100+(p2->day2-48)*10+(p2->
31、;day3-48);m=(p2->day5-48)*10+(p2->day6-48);d=(p2->day8-48)*10+(p2->day9-48);k=checkdate(y,m,d);/*根據(jù)函數(shù)返回值判斷是否要重新輸入*/if(k=1)break;while(1);if(i=3)fflush(stdin);printf(-采購員名字(文字或英文字符串型,以回車鍵結(jié)束):,scanf("%s",p2->buyername);if(i=4)fflush(stdin);printf(-采購數(shù)量(文字或英文字符串型,以回車鍵結(jié)束):"
32、);scanf("%d",&p2->count);while(p2->count<0)printf("數(shù)量不能為負(fù)數(shù),請重新輸入!n");scanf("%f",&p2->count);if(i=5)fflush(stdin);");scanf("%f",&p2->price);printf(-采購價格(數(shù)字型,以回車鍵結(jié)束)while(p2->price<0)(printf(-價格不能為負(fù)數(shù),請重新輸入!n");scanf(&qu
33、ot;%f",&p2->price);if(i=6)(fflush(stdin);printf(-供貨單位(文字或英文字符串型,以回車鍵結(jié)束):");scanf("%s",p2->source);)p2->next=NULL;p1->next=p2;p1=head;system("cls");printf("所有信息如下,請核實");while(p1!=NULL)printf("采購編號:sn”,p1->buynum);printf("零部件名稱:%sn&q
34、uot;,p1->itemname);printf("采購日期:%sn",p1->day);printf("采購員名字:%sn",p1->buyername);printf("采購數(shù)量:%dn",p1->count);printf("采購價格:%fn",p1->price);printf("供貨單位:%sn",p1->source);printf("nnn");p1=p1->next;save();printf("按任意鍵返
35、回");fflush(stdin);scanf("%c",&ch);尸*根據(jù)采購編號查找采購信息函數(shù)voidnumshow()charanum10,ch;p1=head;if(p1=NULL)printf("采購信息數(shù)據(jù)庫為空n");printf("按任意鍵返回");getch();system("cls");exit(0);printf(-請輸入所查零件編號(形如000001,以回車鍵結(jié)束):n");getchar();scanf("%s",anum);while(
36、p1!=NULL)(找到與信息數(shù)據(jù)庫中與輸入相同的采購if(strcmp(anum,p1->buynum)=0)/*編號*/(printf("采購編號:%sn",p1->buynum);printf("零部件名稱:%sn",p1->itemname);printf(-采購日期:dn",p1->day);printf("米購員名字:%sn",p1->buyername);printf("采購數(shù)量:dn",p1->count);printf("采購單價:%fn&q
37、uot;,p1->price);printf("供貨單位:%sn",p1->source);break;elsep1=p1->next;if(p1=NULL)/*p1=NULL表示到最后都沒有找到與信息數(shù)據(jù)庫中與輸入相同的零部件名稱*/(printf("文件中沒有您所查找的采購信息,請核對您的采購編號是否輸入正確!n");printf(-請按任意鍵返回返回!");fflush(stdin);scanf("%c”,&ch);printf("按任意鍵返回");fflush(stdin);sca
38、nf("%c",&ch);/*根據(jù)采購零部件名稱查找采購信息*/voidnameshow()(charaname10,ch;intn=0;p1=head;if(p1=NULL)printf("采購信息數(shù)據(jù)庫為空n")printf("按任意鍵返回");getch();system("cls");exit(0);printf(-請輸入所查零件名稱(以回車鍵結(jié)束):n");fflush(stdin);scanf("%s",aname);while(p1!=NULL)if(strcmp
39、(p1->itemname,aname)=0)printf("米購編號:sn”,p1->buynum);printf("零部件名稱:sn”,p1->itemname);printf(-采購日期:%dn",p1->day);printf("采購員名字:%sn",p1->buyername);printf("采購數(shù)量:dn”,p1->count);printf("采購單價:%fn",p1->price);printf("供貨單位:sn”,p1->source);
40、n=1;elsep1=p1->next;if(n!=1)printf(-文件中沒有您所查找的采購信息,請核對您的零部件名稱是否輸入正確!n");printf("請按任意鍵返回返回!");fflush(stdin);scanf("%c”,&ch);printf("按任意鍵返回");fflush(stdin);scanf("%c",&ch);購信息函數(shù)*刪除并保存余下采*/charanum10,ch;if(flag=0)voiddisapper()/*flag=0表小未建立文件,標(biāo)志位法*/(pr
41、intf("木建立,采購信息數(shù)據(jù)庫為空n");printf("按任點鍵返回");getch();return;if(head=NULL)(printf("n采購信息數(shù)據(jù)庫為空,無法刪除,請按任點鍵返回:n");getch();system("cls");return;p1=head;/*p1指向頭結(jié)點*/printf("請輸入要刪除的采購信息編號:n");fflush(stdin);scanf("%s”,anum);while(strcmp(anum,p1->buynum)!=0
42、&&p1->next!=NULL)/*找到要刪除的學(xué)號*/p2=p1;p1=p1->next;if(strcmp(anum,p1->buynum)=0)if(head->next=NULL)/*/free(head);head=NULL;只有一個節(jié)點的情況elseif(head=p1)/*=tt*片山/head=p1->next;free(p1);else要刪除的編號在第一個p2->next=p1->next;free(p1);printf(-已刪除!n");listCG();save();else(printf("
43、找不到此采購編號對應(yīng)的采購信息,請核您輸入的采購編號是否正確!");printf("按任意鍵返回:n");fflush(stdin);printf("按任意鍵返回");fflush(stdin);scanf("%c”,&ch);/*修改并保存采購信息函數(shù)voidchange()(charanum10,ch;intt,k;longy,m,d;if(flag=0)(printf(-未建立,采購信息數(shù)據(jù)庫為空n");printf("按任意鍵返回");getch();return;if(head=NULL
44、)(printf("n采購信息數(shù)據(jù)庫為空,無法修改getch();system("cls");請按任意鍵返回:n");return;p1=head;printf("請輸入要修改采購信息的采購編號(形如束):n");fflush(stdin);001002,以空格鍵結(jié)scanf("%s",anum);while(strcmp(anum,p1->buynum)!=0&&p1->next!=NULL)p1=p1->next;if(strcmp(anum,p1->buynum)=0)
45、printf("是否修改采購編號是(1)否(0)/*");判斷各項是否需要彳改*/scanf("%d",&t);if(t=1)printf("請輸入修改后的采購編號:n");fflush(stdin);scanf("%s",p1->buynum);printf(-是否修改零部件名稱是(1)否(0)");scanf("%d",&t);if(t=1)printf("請輸入修改后的零部件名稱:n");fflush(stdin);scanf("
46、;%s",p1->itemname);printf(-是否修改采購日期是(1)否(0)");scanf("%d",&t);if(t=1)doprintf("請輸入修改后的采購日期(形如*-*-*,以回車鍵結(jié)束):");fflush(stdin);scanf("%s”,p2->day);if(p2->day4='-'&&p2->day7='-'&&strlen(p2->day)=10)y=(p2->day0-48)*10
47、00+(p2->day1-48)*100+(p2->day2-48)*10+(p2->day3-48);m=(p2->day5-48)*10+(p2->day6-48);d=(p2->day8-48)*10+(p2->day9-48);k=checkdate(y,m,d);/*根據(jù)函數(shù)返回值判斷是否要重新輸入*/if(k=1)break;elseprintf(-輸入錯誤!n");while(1);printf(-是否修改采購員名字是(1)否(0)");scanf("%d",&t);if(t=1)print
48、f("請輸入修改后的采購員名字:n");fflush(stdin);scanf("%s”,p1->buyername);printf(-是否修改采購數(shù)量是(1)否(0)");scanf("%d",&t);if(t=1)printf("請輸入修改后的采購數(shù)量:n");fflush(stdin);scanf("%d”,&p1->count);while(p1->count<0)printf("數(shù)量不能為負(fù)數(shù),請重新輸入!n");scanf("
49、;%f",&p1->count);printf("是否修改采購價格是(1)否(0)");scanf("%d",&t);if(t=1)printf(-請輸入修改后的采購采購價格:n");fflush(stdin);scanf("%f",&p1->price);while(p1->price<0)printf(-價格不能為負(fù)數(shù),請重新輸入!n");scanf("%f",&p1->price);7printf(-是否修改供貨單位是
50、(1)否(0)");scanf("%d",&t);if(t=1)printf("請輸入修改后的供貨單位:n");fflush(stdin);scanf(')%s”,p1->source);)system("cls");printf("修改完畢!n");listCG();save();elseprintf("文件中沒有您所查找的采購信息,請核對您的零部件名稱是否輸入正確!n");printf("按任意鍵返回");fflush(stdin);sca
51、nf("%c”,&ch);尸*統(tǒng)計功能菜單函數(shù)*/voidtongji()intn,x,y;charch;printf("t*統(tǒng)計功能菜單*n");pnntft't't1,統(tǒng)計采購的零部件總數(shù)量ttn");printf("tt2,統(tǒng)計采購員采購次數(shù)ttn");printf("請輸入你選擇的統(tǒng)計類型編號(1或2):n");scanf("%d",&n);switch(n)case1:system("cls");x=number();/*x量*/pr
52、intf(-總數(shù)量為%dn",x);break;賦值為函數(shù)返回的零部件總數(shù)case2:system("cls");y=times();*/printf(-采購次數(shù)為%dn",y);break;default:賦值為函數(shù)返回的采購次數(shù)printf("無效輸入!請按任意鍵返回");getch();system("cls");printf("按任意鍵返回");fflush(stdin);scanf("%c”,&ch);/根據(jù)米購編號統(tǒng)計米購的零*1部件總數(shù)量,intnumber()i
53、ntn=0,t=0;charaname10;p1=head;if(p1=NULL)printf("采購信息數(shù)據(jù)庫為空n");/*檢查信息數(shù)據(jù)庫是否為空*/printf("按任意鍵返回");getch();system("cls");exit(0);printf(-請輸入所查零件名稱(以回車鍵結(jié)束):n");fflush(stdin);scanf("%s",aname);while(p1!=NULL)if(strcmp(p1->itemname,aname)=0)/*找到信息數(shù)據(jù)庫中與輸入相同的零部件
54、名稱*/n=n+(p1->count);t=1;/*標(biāo)志位*/p1=p1->next;if(t!=1)printf("文件中沒有您所查找的采購信息,請核對您的零部件名稱是否輸入正確!n");returnn;根據(jù)米購員名字統(tǒng)計采購員采購次數(shù)inttimes()(intt=0,k=0;charename10;p1=head;if(p1=NULL)/*檢查信息數(shù)據(jù)庫是否為空*/(printf("采購信息數(shù)據(jù)庫為空n");printf("按任意鍵返回");getch();system("cls");exit(0);printf("請輸入所查采購員名字(以回車鍵結(jié)束):n");getchar();gets(ename);while(p1!=NULL)(if(strcmp(p1->buyername,ename)=0)/*找到信息數(shù)據(jù)庫中與輸入相同的采購員名字*/(t+;k=1;/*標(biāo)志位*/p1=p1->next;if(k!=1)printf("文件中沒有您所查找的采購信息,請核對您的采購員名字是否輸入正確!n
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)院管理師考試試卷及答案準(zhǔn)備
- 湘美版美術(shù)三年級上冊第3課 方方圓圓 課件
- 吉林省大安縣聯(lián)考2025屆七下英語期末監(jiān)測模擬試題含答案
- 中級老年護理睡眠照料
- 電力安全生產(chǎn)知識
- 大師書法培訓(xùn)
- 2025年兒童心理健康教育師考試題及答案
- 2025年電子商務(wù)專業(yè)畢業(yè)生實踐能力測評試題及答案
- 2025年博物館管理專業(yè)考研試題及答案
- 2025年安全工程及管理專業(yè)考核試題及答案
- 工貿(mào)企業(yè)環(huán)保相關(guān)知識培訓(xùn)
- 2024屆內(nèi)蒙古阿榮旗第一中學(xué)高一下化學(xué)期末統(tǒng)考模擬試題含解析
- 甲狀腺乳頭狀癌護理
- 茅臺銷售公司筆試題目答案
- 中醫(yī)診斷學(xué)中的慢性阻塞性肺疾病辨證
- 交通占道安全施工方案
- 《膠原蛋白介紹》課件
- 安全檢查:從新手到專家的進階指南
- 代人貸款免責(zé)協(xié)議
- 移相變壓器計算程序標(biāo)準(zhǔn)版
- 開工“第一課”安全培訓(xùn)課件
評論
0/150
提交評論