




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上半年小学教学工作总结模版
- 红青色扁平牙齿健康模板
- 企业合伙投资合同标准文本
- 中考物理中的“不一定”总结模版
- 高一政治必修二知识点总结模版
- 医疗AI在远程医疗中的潜力与挑战
- 体校住宿合同范例
- 信誉合同范例
- 医养结合在老年健康管理中的应用
- 上海投资咨询合同范例
- 北京市顺义区2025年中考一模语文试卷(含答案)
- 室内设计毕业作业展板设计指南
- 生产委托运营合同协议
- 经济法第三版试卷及答案
- 古诗词诵读《拟行路难(其四) 》课件统编版高二语文选择性必修下册
- 《甲烷吸附储存技术》课件
- 汛期建筑施工安全课件
- 2025年北京市西城区九年级初三一模英语试卷(含答案)
- 道路维护保养项目投标方案(技术方案)
- 广东省深圳市2025年高三年级第二次调研考试数学试题(含答案)
- 山东省山东名校考试联盟2025年高三4月高考模拟考试物理试卷+答案
评论
0/150
提交评论