客戶消費(fèi)積分管理系統(tǒng)-----課程設(shè)計(jì)_第1頁
客戶消費(fèi)積分管理系統(tǒng)-----課程設(shè)計(jì)_第2頁
客戶消費(fèi)積分管理系統(tǒng)-----課程設(shè)計(jì)_第3頁
客戶消費(fèi)積分管理系統(tǒng)-----課程設(shè)計(jì)_第4頁
客戶消費(fèi)積分管理系統(tǒng)-----課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論