版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計(jì)與算法綜合實(shí)習(xí)I題目:個(gè)人物品管理程序班級(jí):學(xué)生學(xué)號(hào):學(xué)生姓名:指導(dǎo)老師:提交時(shí)間:成績:評(píng)分項(xiàng)目得分功能完整性(40分)界向美觀性(10分)設(shè)計(jì)合理性及創(chuàng)新性(20分)答辯表現(xiàn)(20分)報(bào)告撰寫質(zhì)量(10分)華南農(nóng)業(yè)大學(xué)信息學(xué)院個(gè)人物品管理程序1.問題描述問題描述設(shè)計(jì)一個(gè)個(gè)人物品管理程序,該程序具有以下功能:( 1)用戶登錄:輸入用戶名和密碼,密碼正確才允許登錄。( 2)錄入個(gè)人物品信息;( 3)給定物品名或編號(hào),修改該個(gè)人物品信息;( 4)給定物品名或編號(hào),刪除該個(gè)人物品信息;( 5)根據(jù)輸入的物品名或編號(hào),顯示查找到的相應(yīng)物品信息;( 6)根據(jù)輸入的分類,顯示該分類的所有物品信息
2、;( 7)根據(jù)輸入的時(shí)間,查詢過期或3月內(nèi)將過期的物品信息;( 8)統(tǒng)計(jì)功能:統(tǒng)計(jì)各分類的物品。( 9)新功能:導(dǎo)出個(gè)人物品信息至Excel表格。系統(tǒng)功能分析( 1)登錄功能:這是一個(gè)個(gè)人物品管理程序,具有很大的開放性,已經(jīng)注冊(cè)的用戶可以直接輸入密碼登陸系統(tǒng),沒有注冊(cè)的用戶可以根據(jù)自己的需要注冊(cè)賬戶,并輸入個(gè)人物品信息。( 2)錄入個(gè)人物品信息:這個(gè)系統(tǒng)設(shè)置錄入的物品信息主要包括物品的名稱、編號(hào)、價(jià)格、分類、生產(chǎn)日期和過期日期。( 3)給定物品名或編號(hào),修改個(gè)人物品信息:要修改物品信息時(shí),輸入物品的編號(hào)或名稱查看物品信息,確認(rèn)無誤后可以選擇對(duì)應(yīng)的物品信息進(jìn)行修改。( 4)給定物品名或編號(hào),刪除
3、個(gè)人物品信息:要?jiǎng)h除物品信息時(shí),輸入物品的編號(hào)或名稱查看物品信息,確認(rèn)無誤后可以刪除該物品信息。( 5)根據(jù)輸入的物品名或編號(hào),顯示查找到的相應(yīng)物品信息:輸入你想查找的物品名或編號(hào),若找到對(duì)應(yīng)物品信息,則顯示;否則提示用戶查找的物品不存在,請(qǐng)重新輸入想要查找的物品名或編號(hào)。( 6)根據(jù)輸入的分類,顯示該分類的所有物品信息:若找到則顯示該分類的物品信息,否則提示用戶該分類不存在。( 7)根據(jù)輸入的時(shí)間,查詢已過期或3個(gè)月內(nèi)將過期的物品信息:將物品的過期時(shí)間與輸入時(shí)間作比較,若過期時(shí)間與輸入時(shí)差小于3個(gè)月則輸出對(duì)應(yīng)物品信息。( 8)統(tǒng)計(jì)功能:統(tǒng)計(jì)各分類的物品信息。( 9)導(dǎo)出個(gè)人物品信息至Exce
4、l表格:每個(gè)人都可以將自己的物品信息導(dǎo)出至Excel表格,可以對(duì)自己的個(gè)人物品信息一目了然。開發(fā)平臺(tái)及工具介紹我這個(gè)程序是使用Code:編寫的,它是一個(gè)開放源碼的全功能的跨平臺(tái)C/C+集成開發(fā)環(huán)境,它使用了著名的的圖形界面庫wxWidgets版。它還提供了許多工程模板,包括控制臺(tái)應(yīng)用、DirectX應(yīng)用和動(dòng)態(tài)鏈接庫等,另外它還支持用戶自定義模板;它支持語法彩色醒目顯示,支持代碼完成,支持工程管理、項(xiàng)目構(gòu)建、調(diào)試;它還具有靈活而強(qiáng)大的配置功能。1.系統(tǒng)設(shè)計(jì)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)(1)運(yùn)行程序時(shí),一開始我設(shè)置了對(duì)系統(tǒng)進(jìn)行操作的選擇界面,包括3個(gè)功能,一是登錄系統(tǒng),二是創(chuàng)建新賬戶,三是退出程序。用戶可以根
5、據(jù)自己的實(shí)際情況進(jìn)行選擇,輸入對(duì)應(yīng)的操作數(shù)從而選擇不同的功能。我在這里使用了switch-case語句。當(dāng)用戶選擇了登陸系統(tǒng)或創(chuàng)建新賬戶操作時(shí),程序會(huì)要求輸入賬號(hào)(20個(gè)字符以內(nèi)),以及密碼(10個(gè)字符以內(nèi)),在輸入密碼時(shí)我使用了getch()函數(shù)(在頭文件中)隱藏用戶密碼信息,當(dāng)用戶登陸成功或創(chuàng)建新用戶成功時(shí)程序就會(huì)進(jìn)入功能選擇界面;如果用戶選擇退出程序,程序運(yùn)行停止。(2)功能選擇界面,我提供了九個(gè)功能選擇,分別是錄入個(gè)人物品信息、給定物品名或編號(hào),修改該個(gè)人物品信息、給定物品名或編號(hào),刪除該個(gè)人物品信息、根據(jù)輸入的物品名或編號(hào),顯示查找到的相應(yīng)物品信息、根據(jù)輸入的分類,顯示該分類的所有物
6、品信息、根據(jù)輸入的時(shí)間,查詢已過期或3個(gè)月內(nèi)將過期的物品信息、統(tǒng)計(jì)功能:統(tǒng)計(jì)各分類的物品信息、導(dǎo)出個(gè)人物品信息至Excel表格、退出到登陸界面。根據(jù)用戶輸入的操作數(shù),我使用了switch語句實(shí)現(xiàn)相應(yīng)功能。(3)錄入個(gè)人物品信息:錄入的物品信息包括物品的名稱、編號(hào)、價(jià)格、分類、生產(chǎn)日期和過期日期。我首先將信息錄入鏈表中,之后用自定義的保存函數(shù)Save()將信息存入文件中。(4)給定物品名或編號(hào),刪除個(gè)人物品信息:先輸入要?jiǎng)h除的物品名或編號(hào),之后再通過文件指針在文件中找到相應(yīng)物品信息并輸出,用戶確定無誤后可以自行選擇刪除與否,若刪除再調(diào)用Save函數(shù),否則退回到功能選擇界面。(5)給定物品名或編號(hào)
7、,修改個(gè)人物品信息:與刪除個(gè)人物品信息一樣,根據(jù)輸入的物品名或編號(hào),通過文件指針找到物品信息并輸出,用戶可以根據(jù)自己的需要選擇修改對(duì)應(yīng)的信息,在確認(rèn)修改后,通過Save函數(shù)保存信息,放棄修改則退回功能選擇界面。(6)根據(jù)輸入的物品名或編號(hào),顯示查找到的相應(yīng)物品的所有信息,這也是通過文件指針實(shí)現(xiàn)的查找。(7)根據(jù)輸入的分類,顯示該分類的所有物品信息:輸入想查找的分類,使用一個(gè)字符數(shù)組記錄輸入的分類,使用文件指針對(duì)文件進(jìn)行只讀操作,將輸入的分類與fgets()讀出的分類比較,若相同則輸出對(duì)應(yīng)物品所有信息,直到文件指針為空。(8)根據(jù)輸入的時(shí)間,查詢已過期或3個(gè)月內(nèi)將過期的物品信息:按照固定的時(shí)間輸
8、入格式(如2015年1月1日則寫成)輸入時(shí)間,再與文件中的過期時(shí)間比較,通過比較,輸出輸入時(shí)間與過期時(shí)間之差小于3個(gè)月的物品信息。(9)統(tǒng)計(jì)功能:統(tǒng)計(jì)各分類的物品信息,使用文件指針對(duì)文件進(jìn)行讀操作,分別記錄不同分類的物品個(gè)數(shù),之后輸出分類信息和對(duì)應(yīng)的物品個(gè)數(shù)。(10)導(dǎo)出個(gè)人物品信息至Excel表格:創(chuàng)建新的文件指針,將鏈表里的信息寫入名為“”的Excel文件里,輸出的時(shí)候包括跳格符't'和換行符'n'符號(hào),保證輸出格式的正確性。(11)退出到登陸界面,其他用戶可以繼續(xù)使用該系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)我主要定義了用戶信息結(jié)構(gòu)user和物品信息結(jié)構(gòu)Goods,還有使用了3
9、個(gè)文件,分別用于存放用戶信息和物品信息。用戶信息結(jié)構(gòu)體structusercharusername20;charpassword8;username是賬號(hào),password是密碼。物品信息結(jié)構(gòu)體typedefstructwp請(qǐng)選擇你的操作;1 .登陸系統(tǒng)2 .倒建新張戶恭喜你,登陸成功?檢格eCXE:至.自品息物口崩品物加改酒出增I導(dǎo)2468息:.信面息息息類界歸田15倡分忠登:分找售至查5顯迪135-79青選擇你的操作:燈臺(tái)1550020160101Sauesuccefally?嘲筆:01:100:20140101:20160101:文具名口疆價(jià)日日分晶品產(chǎn)期品"生過物品品稱號(hào)&g
10、t;2元01日日分品品115產(chǎn)期品w20生過物品口犬翦品要入入輸期日tttt燈016品臺(tái)155020用20#?tttt嗎t(yī)ttt息tttt信妙的或tttt名品晶口靖價(jià)日分時(shí)tttt物口nntttt物口智性口崩tttt該ttHHHnttHHttttHHttttttHHttttttttttHHttttHHttttHHttsttttttttHHttttHHttttHHttttHHttttttHHttttHHtttttttt:HHttHHttHHttttttHHttHHHHttttHHttHHttsttHHttttttttttHHttttHHttHHHHtttt1tt0tt1ttrw20文tttttt
11、-tttt息名olpKKtttt息tttt信口輔價(jià)日日分tttt信tttt本物口aaonJ尸期oantttt品Kh-ottw森M定2刪刪tttt©D7E要要tttt你1.tttt基tttt品tttt物制改“委MtttHHttttttttttttHH瑞生過物tttt物品品tttt的itttt改髀tttt入tttt輸t如巨ttttHHFJ/KI八具具具具濠刀文文文文該燈號(hào)甯01被0304查子筆前翕筆尺鉛年心子榮碧多士在 等尺鉛曹加水文具文具I生產(chǎn)日期:過期時(shí)間日常用品生活用品用具S20140101:20150101:20149101!28150101120158101129158101!
12、20150201120148101120140101:20140101120160101:20160131120160101:2tnfioi0i120158601:20151801:201E0S01:2O16B101:201GB101:2EH5ekioi文件成功導(dǎo)出至"sruod昔.xIe”.統(tǒng)實(shí)現(xiàn)登錄系統(tǒng)登陸模塊歡迎使用個(gè)人物品管理系統(tǒng)創(chuàng)建新賬戶退出系統(tǒng)選擇對(duì)應(yīng)操作,登陸時(shí)用戶名或密碼錯(cuò)誤會(huì)提示輸入賬號(hào)或密碼錯(cuò)誤,并退回到本界面;創(chuàng)建新賬戶成功后會(huì)提示創(chuàng)建成功,并退到本界面,只需用剛創(chuàng)建的用戶名和密碼登陸即可,只有用戶和密碼都正確,才會(huì)提示登陸成功并跳轉(zhuǎn)到功能選擇界面。錄入個(gè)人物品
13、信息物品名稱物品編號(hào)物品價(jià)格錄入物品信息物品分類生產(chǎn)日期過期時(shí)間按照提示輸入相應(yīng)的物品信息。輸入物品名或編號(hào)之后,程序會(huì)輸入對(duì)應(yīng)物品信息,確認(rèn)刪除后才會(huì)刪除對(duì)應(yīng)物品信息并保存。物品名稱物品編號(hào)物品價(jià)格刪除物品信息物品分類生產(chǎn)日期過期時(shí)間修改物品信息:輸入物品名或編號(hào)之后,程序會(huì)輸入對(duì)應(yīng)物品信息,可以選擇對(duì)應(yīng)信息進(jìn)行修改。列出要修改物品所有信息修改物品信息選擇對(duì)應(yīng)信息進(jìn)行修改查找物品信息輸入物品名或編號(hào)查找物品信息列出對(duì)應(yīng)物品信息根據(jù)輸入的分類,顯示該分類的所有物品信息輸入物品分類根據(jù)輸入分類顯示物品信息列出對(duì)應(yīng)物品信息根據(jù)輸入的時(shí)間,查詢已過期或3個(gè)月內(nèi)將過期的物品信息輸入查詢時(shí)間查詢過期物品
14、或三個(gè)月內(nèi)過期物品比較輸入的時(shí)間和過期時(shí)間輸出對(duì)應(yīng)物品信息統(tǒng)計(jì)功能:統(tǒng)計(jì)各分類的物品信息用不同變量記錄不同分類的物品個(gè)數(shù)統(tǒng)計(jì)各分類的物品信息用文件指針對(duì)文件進(jìn)行讀寫輸出物品分類及對(duì)應(yīng)物品個(gè)數(shù)導(dǎo)出個(gè)人物品信息至Excel表格輸出物品存儲(chǔ)信息項(xiàng)目名稱導(dǎo)出物品信息到Excel表格1.系統(tǒng)測(cè)試(1)設(shè)計(jì)測(cè)試用例:筆樂碧多鉛可雪加O 15 5 5文飲飲飲具料料料登陸賬號(hào)名稱:0101密碼:123456名稱編號(hào)價(jià)格(元)分類生產(chǎn)日期過期時(shí)間鋼筆1100文具筆芯210文具尺子35文具水壺850日常用品書910生活用品手表1150用具物品信息:錄入個(gè)人物品信息:名稱:水杯編號(hào):10價(jià)格:50分類:日常用品生產(chǎn)
15、日期:過期時(shí)間:刪除物品信息:名稱:鋼筆編號(hào):01修改個(gè)人物品信息:修改編號(hào)為11的物品名稱為燈查找物品信息:查找編號(hào)為10的物品信息根據(jù)輸入分類輸出該分類所有物品:輸入文具過期物品查詢:輸入時(shí)間為統(tǒng)計(jì)各分類物品個(gè)數(shù);導(dǎo)出物品信息到Excel表格;預(yù)期結(jié)果:全都符合要求。系統(tǒng)運(yùn)行界面:1.登錄系統(tǒng):201430330101恭喜你,登陸成功,主目主R、In錄入個(gè)人物品信息口口00m311ff-00杯常141&水1050>日2020秘小)=01>k.元時(shí)日日分品品115產(chǎn)期品如生過物人人*品口艾要入人輸期日刪除物品信息SavesuccefulliiT你已成功刪除該物品信息!修改
16、個(gè)人物品信息SauesuccefullyT瞿北具北景翡胃20文20罰tttt名=荷Ittt品史瑞價(jià)日分時(shí)tttt物2物品品吉翊皿該生曹何除口錯(cuò)品皿刪不船要野tttt要召制要要除要除牌定2眥刪刪tttt曹AE#要要映你L表手115001tin名M.5具tttt品20用物ttn息名演息丁tttt停罷價(jià)日耳枇堤W.1品口助產(chǎn)期品tttt口若基爵tttt物品tts品品品tttt的物tttt物tttt改后?tttt改ttlt修曾atts人入改百tttt請(qǐng)遣正2ttnii曾AEH你Sayesuccefully?物品信息已完成修改,查找物品信息:10:日常用QP:20140101:201&0101瑞
17、日分品dslr期品過物品品過期物品查詢根據(jù)輸入分類輸出該分類所有物品寶心子自碧多壺杯毛尺鉛及三加帶燈水品品01snsu1類具具?;罹?&簽文武飲飲日生用20;生產(chǎn)日期:20140101!26150101!28150101:20150101:28150291:20140101!26140101:20140101!B常用品I過期時(shí)間:!20168101120160101:S20160101:I201596S1:20151001:!20153801!20168101!201£0161!S2015B101!20140101;日常用品日01&0101:!6:3統(tǒng)計(jì)各分類物品個(gè)數(shù)
18、導(dǎo)出物品信息到Excel表格BCDE編號(hào)價(jià)格(元)分類生產(chǎn)日期F過期時(shí)間)1.子筆樂碧多壺234567O1±5815091011501050飲料日常用品生活用品用具20160101(3)運(yùn)行結(jié)果與預(yù)期結(jié)果相同。201501012016010120140101201601012015010120160101201501012015060120150101201510012015020120150801201401012016010120140101201601012014010120150101日常用品20140101總結(jié)剛開始設(shè)計(jì)時(shí)毫無頭緒,代碼也是寫得一團(tuán)糟,感覺自己對(duì)上學(xué)期的內(nèi)容
19、好陌生,所以決定還是先把有關(guān)內(nèi)容看一遍。后來我看了課本和上網(wǎng)查了有關(guān)資料,然后再仔細(xì)地看了一遍題目要求:信息要求必須存在文件里面,而且數(shù)據(jù)操作要用鏈表,所以我將程序設(shè)計(jì)為開始時(shí)讀取文件信息到鏈表,退出時(shí)再把鏈表信息全部覆蓋寫回文件里面。但是在實(shí)際操作中發(fā)現(xiàn)自己對(duì)鏈表這一塊還是不太熟悉,所以又去找了一些和鏈表有關(guān)的資料。最后自己就邊摸索著嘗試了一下,最后發(fā)現(xiàn)原來也不是特別難,其實(shí)最大的欠缺就是動(dòng)手能力差。這次的程序設(shè)計(jì),我覺得不僅是讓我復(fù)習(xí)了上學(xué)期學(xué)過的內(nèi)容,更是發(fā)現(xiàn)了自己在學(xué)習(xí)上的許多缺點(diǎn)和不足,也是給了自己一個(gè)反省的機(jī)會(huì),我覺得自己在以后的學(xué)習(xí)中必須要將理論與實(shí)際相結(jié)合,在鞏固理論知識(shí)的基礎(chǔ)
20、上一定要將其付諸實(shí)踐,要敢于嘗試,不要讓一次的失敗就讓自己士氣全無。附(源代碼):#include<>#include<>#include<>#include<>#include<>structuserat");if(fp=fopen(wp,"wb")=NULL)printf("Can'topenthefile!n");exit(0);printf("nSavesuccefully!n");p=h;while(p!=NULL)fwrite(p,sizeof(
21、Goods),1,fp);p=p->next;fclose(fp);Goods*Load(char*mark)at");if(fp=fopen(wp,"ab+")=NULL)printf("Can'topenthefile!n");exit(1);p=(Goods*)malloc(sizeof(Goods);if(!p)printf("Memoryoverflow!n");returnh;h=p;ch=fgetc(fp);if(ch=EOF)(h=NULL;p->next=NULL;returnh;rew
22、ind(fp);while(!feof(fp)(if(1!=fread(p,sizeof(Goods),1,fp)break;p->next=(Goods*)malloc(sizeof(Goods);if(!p->next)(printf("Memoryoverflow!n");returnh;q=p;p=p->next;q->next=NULL;fclose(fp);returnh;voidExcel(char*mark)n");printf("11n");else(system("color04"
23、);n1n");printf("|導(dǎo)出至文件""失??!In");printf("11n");否 n");voidDeleteGoods(char*mark)2.scanf("%d",&k);if(k=1)if(i=1)head=head->next;elsep=head;while(p->next&&j<i-2)p=p->next;+j;if(!(p->next)|j>i-1)exit(0);q=p->next;p->nex
24、t=q->next;free(q);Save(head,mark);printf("你已成功刪除該物品信息!elseprintf("你已取消刪除操作!n");n");printf("2.物品編號(hào)n");printf("3.物品價(jià)格");printf("4.物品生產(chǎn)日期n");printf("5.物品過期時(shí)間");printf("6.物品分類n");voidAddNewGoods(char*mark)品名");scanf("%d&q
25、uot;,&choice);switch(choice)case1:printf("scanf("%s",;while(i=1)while(q!=NULL)請(qǐng)輸入修改后物品名:");if(strcmp,q->name)=0)break;q=q->next;if(q!=NULL)printf("scanf("%s",;q=head;else該物品名已存在,請(qǐng)重新輸入物品名:");i=2;q=head;strcpy(p->name,;break;case2:printf("請(qǐng)輸入修改
26、后的物品編號(hào):");scanf("%s",;while(q!=NULL)if(strcmp,q->number)=0)break;q=q->next;if(q!=NULL)printf("該物品名已存在,請(qǐng)重新輸入物品名:");scanf("%s",;q=head;elsei=2;q=head;strcpy(p->number,;break;case3:printf("請(qǐng)輸入修改后的物品價(jià)格:");scanf("%s",p->price);case4:printf("請(qǐng)輸入修改后的物品生產(chǎn)日期:");scanf("%s",p->MFG);case5:printf("請(qǐng)輸入修改后的物品過期時(shí)間:");scanf("%s",p->EXP);case6:printf("請(qǐng)輸入修改后的物品類別:");
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 易語言課程設(shè)計(jì)
- 電大論文課程設(shè)計(jì)
- 熱工自動(dòng)課課程設(shè)計(jì)
- 食堂供應(yīng)商合同解析3篇
- 鍋爐清洗合同3篇
- 鋼材交易合同格式3篇
- 餐廳承包經(jīng)營合同范例在線查看3篇
- 金華勞動(dòng)合同績效管理與激勵(lì)機(jī)制3篇
- 采購代理合同的糾紛解決方式3篇
- 采購訂單與采購合同的供應(yīng)鏈協(xié)同平臺(tái)3篇
- 探討提高呼吸內(nèi)科患者痰培養(yǎng)標(biāo)本送檢率的護(hù)理措施
- 浙江省臺(tái)州市2023-2024學(xué)年高二上學(xué)期1月期末語文試題 Word版含解析
- 變剛度單孔手術(shù)機(jī)器人系統(tǒng)設(shè)計(jì)方法及主從控制策略
- 2023年重慶輔警招聘考試題庫及答案
- 履行職責(zé)、作風(fēng)建設(shè)、廉潔自律情況個(gè)人述職報(bào)告(四篇合集)
- 精神病患者危險(xiǎn)度的評(píng)估課件
- 《社會(huì)工作的理論》課件
- 2021電力建設(shè)項(xiàng)目工程總承包管理規(guī)范
- 智慧航天物聯(lián)網(wǎng)
- RM60實(shí)用操作課件
- 肝內(nèi)膽管癌的護(hù)理查房課件
評(píng)論
0/150
提交評(píng)論