淘宝卖家购物模拟系统VC.doc_第1页
淘宝卖家购物模拟系统VC.doc_第2页
淘宝卖家购物模拟系统VC.doc_第3页
淘宝卖家购物模拟系统VC.doc_第4页
淘宝卖家购物模拟系统VC.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北工业大学计算机软件技术基础(VC)课程设计任务书一、 题目:淘宝买家购物模拟系统#include#include#include#includetypedef struct shangchar good30; /商品名字int price; /价格int num; /商品数量int sales; /销量int score; /评分的高低int popularity; /人气;typedef struct goods /商店商品和商品总个数int num;struct shang elem100;Goods;typedef struct stack /用于存消费者已经购买商品的链队char elem30;int num;int price;struct stack *next;stack,*Stack;void initstack(Stack *s) /链队的初始化 *s=new stack;(*s)-next=NULL;int pushstack(Stack *s,int n,int m,Goods g) /买入商品Stack p;p=new stack;strcpy(p-elem,g.elemn.good);p-num=m;p-price=g.elemn.price;p-next=(*s)-next;(*s)-next=p;return 1;int init(Goods *g) /商品的初始化coutt现在初始化商品n;cout%d,&g-num;coutnum;for(int i=1;inum;i+)cout%s%d%d%d%d%d,g-elemi.good,&g-elemi.price,&g-elemi.num,&g-elemi.sales,&g-elemi.score,&g-elemi.popularity;return 1;void sort1(Goods *g) /按销售量排序char ch30;int a;for(int i=1;inum;i+) /冒泡法排序for(int j=1;jnum-i;j+)if(g-elemj.salesg-elemj+1.sales)strcpy(ch,g-elemj.good);strcpy(g-elemj.good,g-elemj+1.good);strcpy(g-elemj+1.good,ch);a=g-elemj.sales;g-elemj.sales=g-elemj+1.sales;g-elemj+1.sales=a;a=g-elemj.score;g-elemj.score=g-elemj+1.score;g-elemj+1.score=a;a=g-elemj.popularity;g-elemj.popularity=g-elemj+1.popularity;g-elemj+1.popularity=a;a=g-elemj.num;g-elemj.num=g-elemj+1.num;g-elemj+1.num=a;a=g-elemj.price;g-elemj.price=g-elemj+1.price;g-elemj+1.price=a;void sort2(Goods *g) /按评分排序char ch30;int a;for(int i=1;inum;i+)for(int j=1;jnum-i;j+)if(g-elemj.scoreg-elemj+1.score)strcpy(ch,g-elemj.good);strcpy(g-elemj.good,g-elemj+1.good);strcpy(g-elemj+1.good,ch);a=g-elemj.sales;g-elemj.sales=g-elemj+1.sales;g-elemj+1.sales=a;a=g-elemj.score;g-elemj.score=g-elemj+1.score;g-elemj+1.score=a;a=g-elemj.popularity;g-elemj.popularity=g-elemj+1.popularity;g-elemj+1.popularity=a;a=g-elemj.num;g-elemj.num=g-elemj+1.num;g-elemj+1.num=a;a=g-elemj.price;g-elemj.price=g-elemj+1.price;g-elemj+1.price=a;void sort3(Goods *g) /按人气排序char ch30;int a;for(int i=1;inum;i+)for(int j=1;jnum-i;j+)if(g-elemj.popularityg-elemj+1.popularity)strcpy(ch,g-elemj.good);strcpy(g-elemj.good,g-elemj+1.good);strcpy(g-elemj+1.good,ch);a=g-elemj.sales;g-elemj.sales=g-elemj+1.sales;g-elemj+1.sales=a;a=g-elemj.score;g-elemj.score=g-elemj+1.score;g-elemj+1.score=a;a=g-elemj.popularity;g-elemj.popularity=g-elemj+1.popularity;g-elemj+1.popularity=a;a=g-elemj.num;g-elemj.num=g-elemj+1.num;g-elemj+1.num=a;a=g-elemj.price;g-elemj.price=g-elemj+1.price;g-elemj+1.price=a;void PreOrder(Goods g,Stack *s) /买入商品时的流程int n,x,m,f;coutt目前本店所有商品列表如下n;coutt序号t名字t价钱t数量t销量t评分t人气nn;for(int i=1;i=g.num;i+)coutt %d t%st %dt %dt %dt %dt %dnn,i,g.elemi.good,g.elemi.price,g.elemi.num,g.elemi.sales,g.elemi.score,g.elemi.popularity;cout%d,&n;coutt这个商品所有信息如下n;coutt序号t名字t价钱t数量t销量t评分t人气nn;coutt %d t%st %dt %dt %dt %dt %dnn,n,g.elemn.good,g.elemn.price,g.elemn.num,g.elemn.sales,g.elemn.score,g.elemn.popularity;cout%d,&x;if(x)cout%d,&m;if(m=g.elemn.num) /防止第一次输入数量太大if(pushstack(s,n,m,g)coutt购买成功n;g.elemn.sales+; /销售量加一g.elemn.popularity+; /人气加一cout%d,&f;g.elemn.score=(g.elemn.score*(g.elemn.sales-1)+f)%g.elemn.sales; /得分重新计算elsecout%d,&m;if(pushstack(s,n,m,g)coutt购买成功n;g.elemn.sales+;g.elemn.popularity+;cout%d,&f;g.elemn.score=(g.elemn.score*(g.elemn.sales-1)+f)%g.elemn.sales;void choose() /界面couttt#n;couttt# *1、查看商品 * #n;couttt# ttt #n;couttt# *2、查看已买商品 * #n;couttt# ttt #n;couttt# *3、退货 * #n;couttt# ttt #n;couttt# *4、结账 * #n;couttt# ttt #n;couttt# *5、充值 * #n;couttt# ttt #n;couttt# *6、查看余额 * #n;couttt# ttt #n;couttt# *0、退出 * #n;couttt# ttt #n;coutnext;if(!p) /无商品时直接跳出coutt您已无商品n;return 0;coutt您已购买如下商品n;coutt 序号 名字 数量n;while(p)coutelem,p-num;p=p-next;return 1;int back(Stack *s) /退货Stack p;p=(*s)-next;char a30;if(putstack(s)cout%s,a;if(strcmp(p-elem,a)=0)(*s)=p;return 1;while(p)if(p-next&strcmp(p-next-elem,a)=0)p-next=p-next-next;p=p-next;else /无商品时直接跳出coutnum)*(p-price)+a;p=p-next;*money=*money-a;void main()int money;int x,n,m;Goods g;Stack s;initstack(&s);cout%d,&money;if(init(&g)coutt初始化成功,请按任意键继续n;while(x)switch(x)case 1:cout%d,&n;switch(n)case 1:sort1(&g);PreOrder(g,&s);break;case 2:sort2(&g);PreOrder(g,&s);break;case 3:sort3(&g);PreOrder(g,&s);break;cout%d,&n;while

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论