




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、內(nèi)蒙古工業(yè)大學(xué)信息工程學(xué)院信息工程學(xué)院數(shù)據(jù)庫(kù)實(shí)驗(yàn)訓(xùn)練設(shè)計(jì)報(bào)告題目: 電視機(jī)庫(kù)存系統(tǒng) 班級(jí): 軟件13-3班 學(xué)號(hào): 201320205039 姓名: 德 世 洋 日期:2 0 1 4 年 9 月一 程序設(shè)計(jì)的目的和要求1.目的:本實(shí)驗(yàn)的目的是進(jìn)一步理解線性表(鏈表)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),進(jìn)一步提高使用理論知識(shí)指導(dǎo)解決實(shí)際問(wèn)題的能力。2.要求:1)對(duì)學(xué)生考試系統(tǒng)進(jìn)行功能模塊分析、控制模塊正確分析,符合題目要求,實(shí)現(xiàn)相應(yīng)功能;并加以其他功能或修飾,使程序更加完善、合理;2)系統(tǒng)設(shè)計(jì)要實(shí)用、編程簡(jiǎn)練、功能全面、界面美觀、操作使用便捷、程序運(yùn)行穩(wěn)定;二 程序設(shè)計(jì)題目及模塊功能1.題目:電視機(jī)庫(kù)存系統(tǒng)2
2、.問(wèn)題描述:某百貨公司倉(cāng)庫(kù)中有一批電視機(jī),建立一個(gè)單鏈表并存與電視機(jī)有關(guān)數(shù)據(jù)。例如:電視機(jī)型號(hào)、價(jià)格、庫(kù)存量等。3.基本要求:實(shí)現(xiàn)以下基本操作:(1) 從鍵盤輸入電視機(jī)的信息,建立電視機(jī)鏈表。(2) 從鍵盤輸入電視機(jī)的信息,實(shí)現(xiàn)電視機(jī)查詢操作。(3) 從鍵盤輸入電視機(jī)的信息,實(shí)現(xiàn)電視機(jī)入庫(kù)操作。(4) 從鍵盤輸入電視機(jī)的信息,實(shí)現(xiàn)電視機(jī)出庫(kù)操作。(5) 列出電視機(jī)庫(kù)存情況。三 程序設(shè)計(jì)分析與方案流程圖1.分析 #include <stdio.h>#include <stdlib.h>#include <string.h>#define LEN sizeof(
3、struct list)函數(shù)頭文件聲明struct list/定義結(jié)構(gòu)體類型char srt20;/定義存儲(chǔ)電視機(jī)型號(hào)的字符型數(shù)組double price;/定義實(shí)數(shù)型的電視機(jī)價(jià)格變量int num; /定義整型的電視機(jī)臺(tái)數(shù)變量數(shù)量struct list *next; /定義指針; int n = 0;/全局整型的全局變量 int main() /主函數(shù)struct list *head; /主函數(shù)中定義鏈表的頭指針 return 0;2.程序概圖及部分函數(shù)流程圖電視機(jī)庫(kù)存管理系統(tǒng) 追加函數(shù)出庫(kù)函數(shù)更新函數(shù)查詢函數(shù)錄入函數(shù)輸入要查詢的電視機(jī)型號(hào)先生成新結(jié)點(diǎn)p1,且賦值 While(p1->
4、;price!=0)Np2 - > = NULL YYp2 = p1;再次生成p1結(jié)點(diǎn)并賦值n=n+1; i < n N n= =1輸出試題學(xué)生作答Np2- >next = p1Yi + +head = p1結(jié)束該程序該圖為錄入信息流程圖四 程序設(shè)計(jì)與實(shí)現(xiàn)效果1、 錄入信息:2、 查詢信息:3、 更新信息:4、 出庫(kù)信息:5、 追加信息:6、 庫(kù)存信息:五 程序設(shè)計(jì)心得通過(guò)本次實(shí)驗(yàn),使我們進(jìn)一步掌握了數(shù)據(jù)庫(kù)鏈表結(jié)構(gòu)的應(yīng)用操作。同時(shí)也發(fā)現(xiàn)了自己在學(xué)習(xí)操作中的一些問(wèn)題,鏈表操作看似簡(jiǎn)單,然操作起來(lái)也比較復(fù)雜,邏輯性將強(qiáng),一個(gè)指針操作錯(cuò)誤,就會(huì)影響整個(gè)程序的運(yùn)行結(jié)果。其次,也認(rèn)識(shí)到
5、了自己對(duì)實(shí)驗(yàn)設(shè)計(jì)的不足,我本想用更新信息代替出庫(kù)信息,后經(jīng)老師分析,發(fā)現(xiàn)這樣執(zhí)行操作并不夠人性化,且容易出錯(cuò)。在程序調(diào)試時(shí),也發(fā)現(xiàn)自己編寫的代碼不夠簡(jiǎn)練、操作不夠便捷,更有馬虎出錯(cuò)的情況。所以自己在今后學(xué)習(xí)中應(yīng)繼續(xù)努力學(xué)習(xí),熟練掌握所學(xué)只是的操作、應(yīng)用,這樣才能不斷提高自己。六 附錄一:程序編碼#include <stdio.h>#include <stdlib.h>#include <string.h>#define LEN sizeof(struct list)struct listchar srt20;/型號(hào)double price;/價(jià)格int nu
6、m;/數(shù)量struct list *next;int n = 0;/全局變量int main()/主函數(shù)int choice;struct list *head;void menu();void input();void search();void update();void delet();void goon();void print();head = (struct list*)malloc(sizeof(struct list);/構(gòu)建一個(gè)空鏈表headhead = NULL; /不帶有頭結(jié)點(diǎn)while(1)menu();printf("n請(qǐng)輸入您要執(zhí)行的功能序號(hào)(05):&q
7、uot;);scanf("%d",&choice);switch(choice)case 1:input();break;case 2:search();break;case 3:update();break;case 4:delet();break;case 5:goon();break;case 6:print();break;case 0:printf("tt*謝謝您的使用*n");exit(0);break;default:printf("nt輸入有誤,請(qǐng)重新輸入:n");return 0;void menu()pri
8、ntf("ntt*歡迎進(jìn)入電視機(jī)信息管理系統(tǒng)*nn");printf("tt*t1、錄入信息t2、 查詢信息t*n");printf("tt*t3、更新信息t4、 出庫(kù)信息t*n");printf("tt*t5、追加信息t6、 庫(kù)存信息t*n");printf("tt*t0、退出系統(tǒng)t*n");printf("ntt*n");void input(struct list *head)/錄入信息struct list *p1,*p2;p1 = (struct list*)mal
9、loc(LEN); printf("nt請(qǐng)輸入需要錄入的信息:n");printf("nTV型號(hào)t價(jià) 格t庫(kù)存量n");scanf("%s%lf%d",&p1->srt,&p1->price,&p1->num);while(p1->price!=0)n = n+1;if(n=1)head = p1;elsep2->next = p1;p2 = p1;p1 = (struct list*)malloc(LEN);scanf("%s%lf%d",&p1-&g
10、t;srt,&p1->price,&p1->num);p2->next = NULL;void search(struct list *head)/查詢信息struct list *q;int flag = 0;char temp20;if(head!=0)printf("nt請(qǐng)輸入要查詢的電視機(jī)型號(hào):n");scanf("%s",&temp);q = head;doif(strcmp(q->srt,temp)=0)flag=1;printf("t查詢結(jié)果:n");printf(&quo
11、t;TV型號(hào)t價(jià) 格t庫(kù)存量n");printf("%st%.2lft%dn",q->srt,q->price,q->num);break;elseq = q->next;while(q!=NULL);elseflag = 1;printf("n無(wú)數(shù)據(jù)信息!n");if(flag=0)printf("n沒(méi)有查詢到該信息!n");void update(struct list *head)/更新信息struct list *p;char temp20;int flag=0;if(head!=0)prin
12、tf("nt請(qǐng)輸入要更新的電視機(jī)型號(hào):n");scanf("%s",&temp);p=head;doif(strcmp(p->srt,temp)=0)printf("TV型號(hào)t價(jià) 格t庫(kù)存量n");printf("%st%.2lft%dn",p->srt,p->price,p->num);printf("t請(qǐng)更新信息:n");scanf("%s%lf%d",&p->srt,&p->price,&p->n
13、um);flag=1;printf("n更新完成!n");break;elsep=p->next;while(p!=NULL);elseflag=1;printf("n庫(kù)存空,無(wú)法更新信息!n");if(flag=0)printf("n沒(méi)有查到要更新的信息!n");void delet(struct list *head)/出庫(kù)信息struct list *p,*q;int flag = 0,i;char temp20;if(head!=0)printf("nt輸入要出庫(kù)的信息:n");scanf("
14、;%s",&temp);p = head;if(strcmp(p->srt,temp)=0)printf("TV型號(hào)t價(jià) 格t庫(kù)存量n");printf("%st%.2lft%dn",p->srt,p->price,p->num);printf("請(qǐng)輸入出庫(kù)臺(tái)數(shù):n");scanf("%d",&i);if(p->num=i)head = p->next;free(p);n=n-1;printf("n信息已刪除!n");flag = 1
15、;elsep->num=p->num-i;printf("n出庫(kù)成功!n");flag = 1;elseq = head;p = head->next;doif(strcmp(p->srt,temp)=0)printf("TV型號(hào)t價(jià) 格t庫(kù)存量n");printf("%st%.2lft%dn",p->srt,p->price,p->num);printf("請(qǐng)輸入出庫(kù)臺(tái)數(shù):n");scanf("%d",&i);if(p->num=i)q-
16、>next = p->next;free(p);n=n-1;printf("n信息已刪除!n");flag=1;break;elsep->num=p->num-i;printf("n出庫(kù)成功!n");flag = 1;elseq = q->next;p = p->next;while(p!=NULL);elseprintf("n庫(kù)存為空,無(wú)需刪除!n");flag = 1;if(flag=0)printf("n沒(méi)有找到該信息!n");void goon(struct list *
17、head)/追加信息struct list *p1,*p2;p2 = (struct list*)malloc(LEN);p1=head;if(head=0)printf("n庫(kù)存空,請(qǐng)先錄入信息!");elsewhile(p1->next!=NULL)p1=p1->next;printf("nt請(qǐng)輸入追加的信息:n");printf("TV型號(hào)t價(jià) 格t庫(kù)存量n");scanf("%s%lf%d",&p2->srt,&p2->price,&p2->num);while(p2->price!=0)p1->next=p2;p1=p2;n=n+1;p2 = (struct list*)malloc(LEN);scanf("%s%lf%d",&p2->srt,&p2->price,&p2->num);printf("n追加信息成功!n");p1->next=N
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 綜合校準(zhǔn)系統(tǒng)戰(zhàn)略市場(chǎng)規(guī)劃報(bào)告
- 《生物化學(xué)》課程標(biāo)準(zhǔn)
- 冷庫(kù)貨物儲(chǔ)存合同范本
- 辦公材料訂購(gòu)合同范本
- 化工空調(diào)采購(gòu)合同范本
- 個(gè)人自我反省檢討書(shū)
- 個(gè)人工作犯錯(cuò)檢討書(shū)
- 口腔治療合同范本
- 單位承包小區(qū)合同范例
- 養(yǎng)生館招募合伙人合同范本
- 《用電檢查與稽查》課件
- 心理健康主題班會(huì)課件73
- 缺血性心臟病麻醉
- 電影《白日夢(mèng)想家》課件
- 丙戊酸鈉與中樞神經(jīng)系統(tǒng)損傷保護(hù)的研究進(jìn)展
- 小紅書(shū)的運(yùn)營(yíng)技巧培訓(xùn)
- 員工上下班交通安全培訓(xùn)課件
- 2024年全國(guó)職業(yè)院校技能大賽中職組(短視頻制作賽項(xiàng))考試題庫(kù)-下(多選、判斷題)
- 《ISO 41001-2018 設(shè)施管理- 管理體系 要求及使用指南》專業(yè)解讀與應(yīng)用指導(dǎo)材料之9:“6 策劃-6.2 設(shè)施管理目標(biāo)及其實(shí)現(xiàn)的策劃”(雷澤佳編制-2024)
- 圍手術(shù)期患者安全管理規(guī)范及制度
- 《電力機(jī)車制動(dòng)系統(tǒng)檢查與維護(hù)》-課件-項(xiàng)目4-CCBⅡ制動(dòng)機(jī)檢查與操作
評(píng)論
0/150
提交評(píng)論