版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 專 業(yè) 軟件工程 班 級(jí) 0902班 學(xué) 生 周雷 學(xué) 號(hào) 指導(dǎo)教師 張雪 21.客戶消費(fèi)積分管理系統(tǒng)問題描述:針對(duì)客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)施不同程度的打折優(yōu)惠。1.采用一定存儲(chǔ)結(jié)構(gòu)進(jìn)行客戶信息存儲(chǔ)。2.對(duì)客戶信息可以修改、刪除、添加。3.能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分計(jì)算。4.根據(jù)積分情況實(shí)行不同程度的打折優(yōu)惠。1.本程序?qū)τ诳蛻粝M(fèi)積分管理系統(tǒng)利用線性表的鏈表存儲(chǔ)方式,使用結(jié)構(gòu)體指針將每一個(gè)用戶聯(lián)系起來。使用結(jié)構(gòu)體指針的鏈表動(dòng)態(tài)鏈接形式將便于客戶的封裝,節(jié)省空間,便于插入和刪除。2.程序中設(shè)計(jì)了添加用戶
2、查找用戶修改用戶刪除用戶統(tǒng)計(jì)客戶數(shù)量的功能。3.添加用戶:函數(shù)void Getelem (cnode *head);添加用戶中,采用結(jié)構(gòu)體將每個(gè)用戶的信息封裝,其中包括用戶姓名name、用戶省份證號(hào)ID、用戶消費(fèi)金額consume、積分integer的信息。輸入一個(gè)客戶信息后再開辟新的節(jié)點(diǎn)連接。開一個(gè)空間加一個(gè)用戶可以節(jié)省空間,解決實(shí)現(xiàn)開辟的空間不夠的問題。4.void Search(cnode *head,char ID);查找用戶利用指針一個(gè)一個(gè)用戶比對(duì)信息知道,直到找到正確信息并顯示。5void Amend(cnode *head,char ID);查找并顯示然后修改。6void Del
3、ete(cnode *head,char ID);查找顯示并刪除。7void Showall(cnode *head);遍歷鏈表并顯示客戶。8void count(cnode *head);遍歷統(tǒng)計(jì)客戶數(shù)量顯示9double display_discount(double integer);計(jì)算客戶折扣,每次顯示用戶信息調(diào)用一次保證客戶為最新打折信息。主函數(shù)主菜單添加用戶查找用戶修改用戶刪除用戶統(tǒng)計(jì)客戶數(shù)量退出。各個(gè)函數(shù)通過調(diào)用頭結(jié)點(diǎn)連接。4功能模塊詳細(xì)設(shè)計(jì)、運(yùn)行結(jié)果??蛻粝M(fèi)積分打折操作系統(tǒng)修改顯示客戶統(tǒng)計(jì)刪除查找添加修改客戶統(tǒng)計(jì)客戶修改信息刪除客戶查找客戶客戶添加客戶 源代碼:#inclu
4、de "stdio.h"#include "stdlib.h"#include "string.h"typedef struct cnodechar name20;char ID20;double consume;double integer;struct cnode *next;cnode;void Initstack(cnode * &head)/*初始化鏈表*/head= (cnode*)malloc(sizeof(cnode); /開辟節(jié)點(diǎn)空間head->next=NULL;void Getelem (cnode
5、 *head);void Search(cnode *head,char ID);void Amend(cnode *head,char ID);void Delete(cnode *head,char ID);void Showall(cnode *head);void count(cnode *head);double display_discount(double integer);void main() cnode *head; int choice;char y20;Initstack(head); do printf("n"); printf(" 客戶
6、消費(fèi) 積分管理系統(tǒng) nn"); printf(" *"); printf("n * *n"); printf("n * 主菜單 *n"); printf("n * 1 添加客戶 *n"); printf("n * 2 查找客戶 *n"); printf("n * 3 修改客戶 *n"); printf("n * 4 刪除客戶 *n"); printf("n * 5 顯示客戶 *n"); printf("n * 6 統(tǒng)
7、計(jì)客戶 *n"); printf("n * 7 退出 *n"); printf("n * *n"); printf(" *"); printf("n 請(qǐng)輸入您的選擇(1,2,3,4,5,6):"); scanf("%d",&choice); if(choice=1) Getelem(head); /添加else if(choice=2) printf("n 請(qǐng)輸入您查找客戶的身份證號(hào):"); scanf("%s",y);while(str
8、len(y)!=18)printf("身份證號(hào)碼位數(shù)有誤請(qǐng)重新輸入(18位):");scanf("%s",y); Search(head,y); /查找 else if(choice=3) printf("n 請(qǐng)輸入您想修改客戶的身份證號(hào):"); scanf("%s",y);while(strlen(y)!=18)printf("身份證號(hào)碼位數(shù)有誤請(qǐng)重新輸入(18位):");scanf("%s",y); Amend(head,y); /修改 else if(choice=4)
9、 printf("n"); printf(" 請(qǐng)輸入你想要?jiǎng)h除的客戶的身份證號(hào):"); scanf("%s",y); Delete(head,y); /刪除 else if(choice=5) printf("n"); Showall(head); /顯示 else if(choice=6) printf("n"); count(head); /統(tǒng)計(jì) else if(choice=7) exit(1);while(choice<=7);void Getelem (cnode *head)
10、/添加客戶函數(shù)以頭節(jié)點(diǎn)為參數(shù)cnode *p;double y;p=(cnode*)malloc(sizeof(cnode);/*申請(qǐng)空的節(jié)點(diǎn)空間*/printf("請(qǐng)輸入姓名:");scanf("%s",&p->name);printf("請(qǐng)輸入身份證號(hào)(18位):");scanf("%s",&p->ID);while(strlen(p->ID)!=18)printf("身份證號(hào)碼位數(shù)有誤請(qǐng)重新輸入(18位):");scanf("%s",&
11、amp;p->ID);printf("請(qǐng)輸入消費(fèi)金額:");scanf("%lf",&p->consume);p->integer=p->consume/100;y=display_discount(p->integer); /調(diào)用函數(shù)計(jì)算折扣printf("折扣:");printf("%.1lf",y);printf("折n");p->next=head->next;head->next=p;void Search(cnode *head
12、,char ID)cnode *p;double y;p=head;if(p->next=NULL)printf("沒有客戶!n");elsewhile(p->next!=NULL)p=p->next;if(strcmp(ID,p->ID)=0) /判斷身份證號(hào)是否相同printf("姓名:");printf("%sn",p->name);printf("身份證號(hào):");printf("%sn",p->ID);printf("消費(fèi):");p
13、rintf("%.2lfn",p->consume);printf("積分:");printf("%lfn",p->integer);y=display_discount(p->integer);printf("折扣:");printf("%.1lf",y);printf("折n");void Amend(cnode *head,char ID) /修改客戶函數(shù)cnode *p;double y,z;int choose,x;p=head;if(p->
14、next=NULL)printf("沒有客戶!n");elsewhile(p->next!=NULL)p=p->next;if(strcmp(ID,p->ID)=0) /判斷身份證號(hào)是否相同printf("姓名:");printf("%sn",p->name);printf("身份證號(hào):");printf("%sn",p->ID);printf("消費(fèi):");printf("%.2lfn",p->consume);pri
15、ntf("積分:");printf("%lfn",p->integer);y=display_discount(p->integer);printf("折扣:");printf("%.1lf",y);printf("折n");printf("請(qǐng)選擇你要修改的1、姓名。2、身份證號(hào)。3、消費(fèi)金額。");scanf("%d",&choose);if(choose=1)printf("請(qǐng)輸入修改后姓名;");scanf(&
16、quot;%s",&p->name);if(choose=2)printf("請(qǐng)輸入修改后的身份證號(hào):");scanf("%s",&p->ID);while(strlen(p->ID)!=18)printf("身份證號(hào)碼位數(shù)有誤請(qǐng)重新輸入(18位):");scanf("%s",&p->ID);if(choose=3)printf("1.覆蓋以前消費(fèi)、2.續(xù)加上現(xiàn)在費(fèi)用!請(qǐng)選擇:");scanf("%d",&x)
17、;if(x=1)printf("請(qǐng)輸入修改后的消費(fèi):");scanf("%lf",&p->consume);elseprintf("請(qǐng)輸入續(xù)加金額:");scanf("%lf",&z);p->consume+=z;printf("姓名:");printf("%sn",p->name);printf("身份證號(hào):");printf("%sn",p->ID);printf("消費(fèi):"
18、;);printf("%.2lfn",p->consume); p->integer=p->consume/100;printf("積分:");printf("%lfn",p->integer);y=display_discount(p->integer);printf("折扣:");printf("%.1lf",y);printf("折n");void Delete(cnode *head,char ID) /刪除客戶函數(shù)cnode *p;in
19、t x;double y;p=head;if(p->next=NULL)printf("沒有客戶!n");elsewhile(p->next!=NULL)head=p;p=p->next;if(strcmp(ID,p->ID)=0) /判斷身份證號(hào)是否相同 printf("姓名:");printf("%sn",p->name);printf("身份證號(hào):");printf("%sn",p->ID);printf("消費(fèi):");printf(
20、"%.2lfn",p->consume);printf("積分:");printf("%lfn",p->integer);y=display_discount(p->integer);printf("折扣:");printf("%.1lf",y);printf("折n");printf("你確認(rèn)刪除?1、確定。2、取消。請(qǐng)請(qǐng)選擇:");scanf("%d",&x);if(x=1)head->next=p-
21、>next;printf("刪除成功!");elseprintf("刪除失敗!");void Showall(cnode *head) /顯示所有客戶函數(shù)cnode *p;double y;p=head;if(p->next=NULL)printf("沒有客戶!n");elsewhile(p->next!=NULL)p=p->next;printf("姓名:");printf("%sn",p->name);printf("身份證號(hào):");printf("%sn",p->ID);printf("消費(fèi):");printf("%.2lfn",p->consume);printf("積分:");printf("%lfn",p->integer);y=display_discount(p->integer);printf
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海2024年上海市精神衛(wèi)生中心工作人員招聘筆試歷年參考題庫解題思路附帶答案詳解
- 小小翻譯員:學(xué)習(xí)幾個(gè)簡單的外語單詞
- 車聯(lián)網(wǎng)技術(shù)進(jìn)展與物聯(lián)網(wǎng)融合應(yīng)用策略報(bào)告
- 小學(xué)數(shù)學(xué)期中綜合測(cè)驗(yàn)
- 小學(xué)體育模擬試卷
- 3.11 北洋政府的統(tǒng)治與軍閥割據(jù) 課件-2024-2025學(xué)年統(tǒng)編版八年級(jí)歷史上冊(cè)
- 政治-人教版高中政治必修3《文化生活》全冊(cè)教案、學(xué)案juf
- 2024年小班圣誕節(jié)活動(dòng)策劃方案范文(30篇)
- 2024年圣誕夜感言(3篇)
- 班主任季度工作總結(jié)(35篇)
- 2024年互聯(lián)網(wǎng)營銷師(高級(jí))職業(yè)鑒定理論考試題庫(含答案)
- 中國慢性冠脈綜合征患者診斷及管理指南2024版解讀
- NB/T 11433-2023煤礦短壁間隔充填采煤技術(shù)規(guī)范
- 臨床輸血質(zhì)量管理和質(zhì)量控制專家講座
- 外墻水包砂工合同范本
- 六年級(jí)小升初英語語法知識(shí)總結(jié)
- (高清版)JTGT D81-2017 公路交通安全設(shè)施設(shè)計(jì)細(xì)則
- 葡萄糖醛酸在毒性物質(zhì)代謝中的作用
- 流行性感冒應(yīng)急
- 小英雄雨來閱讀分享
- 初中物理《物態(tài)變化》單元教學(xué)設(shè)計(jì)以及思維導(dǎo)圖
評(píng)論
0/150
提交評(píng)論