已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计报告题目:选题四 书店存货清单专业年级:12级电子信息工程二班 学号:120101021128 姓名:钟皇平指导教师:张翼同组设计者 2013 年 6 月 问题定义书店通常使用个人电脑设置一个清单来管理书籍的存货情况,该清单记录每本书籍的书名,作者,出版社,在清单中的位置等信息。当顾客想要买某本书时,只要输入书籍的名称和作者,系统就会显示该书籍是否在清单中,如果书籍在清单中,系统会显示书籍的详细信息以及库存数量,如果不在清单中,也会显示相应的提示信息。如果顾客想买的书籍数量在库存的范围内,系统会计算总价格并显示出来,否则,会提示“所需数量不在库存范围内”。根据以上的分析,编程要求:(1) 用结构体自行定义几本书籍,要求包括书籍名称,作者,出版社,出版日期,价格,在目录中的位置;(2) 当从键盘输入某本书的名称和作者姓名,如果能查询到则显示该书籍的所有信息,并提示“请输入所需数量”,如果所需数量在库存范围内,则显示总价,否则,显示“所需数量不在库存范围内”,接着继续提示顾客是否还想买其他书籍,如果输入“y”或“Y”表示继续输入下一本书的名称和作者姓名,进行下一轮查询;如果不能查询到该书籍,则显示“谢谢,再见!”,依次类推,不断循环。开发工具Miscroft Visual c+ 6.0数据结构 char sm100,c;sm100为储存书名的数组c为是否继续查找书籍的依据,当其为y或Y时,继续查找,否则为退出查找int i=0,n=0,flag=0,j=0;i在后面的for语句中计数用n用以储存所需同种书籍的数量j用来计数,以其为5时作为提示未找到书籍的依据struct kcchar sm100;char zz100;char cbs100;long cbrq;double jg;int wz;int sl;定义储存书籍资料的结构体数组,依次为书籍名称,作者,出版社,出版日期,价格,在目录中的位置,以每个名词的首字母取成员名,如“书名”为“sm”算法描述字符串判断函数,用以判断两字符串是否相等int cmp(char str0, char str1)/比较两字符串是否相等,相等则返回0,否则返回非0int i;for(i=0;str0i!=0 & str1i!=0 & str0i=str1i;i+);return str0i-str1i;书籍查找与显示书籍资料模块flag1:printf(请输入书名n);fflush(stdin);gets(sm);j=0;/未找到书籍而跳到这里时使j清零,防止当再次没找到书籍时因j已大于5而无法进入最后的if语句,即无法得到未查找到的提示for(i=0;i5;i+)j+;/当j加到5时则说明没有找到书籍if(cmp(ai.sm,sm)=0)printf(书名 );puts(ai.sm);printf(作者 );puts(ai.zz);printf(出版社 );puts(ai.cbs);printf(出版日期 %dn,ai.cbrq);printf(价格 %lfn,ai.jg);printf(位置 %dn,ai.wz);printf(库存 %dn,ai.sl);printf(请输入所需数量n);fflush(stdin);scanf(%d,&n);if(n=ai.sl)printf(总价为 %lfn,(n*ai.jg);elseprintf(所需数量不在库存范围内n);继续查找判断模块printf(是否还想买其他书籍?(是 Y或y 否 双击回车键)n);fflush(stdin);scanf(%c,&c);if(c=y|c=Y)goto flag1;elsej=0;/当要退出时使j清零,防止当所找书籍位置为5时跳出for语句后因j也为5而误进入下面的if语句printf(谢谢,再见!n);查找失败提示模块if(j=5)j=0;printf(未查找到该书籍,是否还想买其他书籍?(是 Y或y 否 N或n)n);fflush(stdin);/清空输入缓存,防止干扰下次输入scanf(%c,&c);if(c=y|c=Y)goto flag1;elseprintf(谢谢,再见!n);最后附上完整的程序及程序的运行结果#include#includeint cmp(char str0, char str1)/比较两字符串是否相等,相等则返回0,否则返回非0int i;for(i=0;str0i!=0 & str1i!=0 & str0i=str1i;i+);return str0i-str1i;void main()char sm100,c;int i=0,n=0,flag=0,j=0;struct kc/定义结构体数组,以每个名词的首字母取成员名,如“书名”为“sm”char sm100;char zz100;char cbs100;long cbrq;double jg;int wz;int sl; ;struct kc a5=/定义书籍资料c程序设计,谭浩强,清华大学出版社,20100604,33.00,1,100,高等数学,同济大学数学系,高等教育出版社,20070606,29.40,2,100,代码的未来, 松本行弘,人民邮电出版社,20130501,79.00,3,100,51单片机入门开发扩展全攻略,电子工业出版社,郭天祥,20090101,4,100,51单片机典型应用开发范例大全,中国铁道出版社,郑锋,20111001,79.00,5,100,;flag1:printf(请输入书名n);fflush(stdin);gets(sm);j=0;/未找到书籍而跳到这里时使j清零,防止当再次没找到书籍时因j已大于5而无法进入最后的if语句,即无法得到未查找到的提示for(i=0;i5;i+)j+;/当j加到5时则说明没有找到书籍if(cmp(ai.sm,sm)=0)printf(书名 );puts(ai.sm);printf(作者 );puts(ai.zz);printf(出版社 );puts(ai.cbs);printf(出版日期 %dn,ai.cbrq);printf(价格 %lfn,ai.jg);printf(位置 %dn,ai.wz);printf(库存 %dn,ai.sl);printf(请输入所需数量n);fflush(stdin);scanf(%d,&n);if(n=ai.sl)printf(总价为 %lfn,(n*ai.jg);elseprintf(所需数量不在库存范围内n);printf(是否还想买其他书籍?(是 Y或y 否 双击回车键)n);fflush(stdin);scanf(%c,&c);if(c=y|c=Y)goto flag1;elsej=0;/当要退出时使j清零,防止当所找书籍位置为5时跳出for语句后因j也为5而误进入下面的if语句printf(谢谢,再见!n);if(j=5)j=0;printf(未查找到该书籍,是否还想买其他书籍?(是 Y或y 否 N或n)n);fflush(stdin);/清空输入缓存,防止干扰下次输入scanf(%c,&c);if(c=y|c=Y)goto flag1;elseprintf(谢谢,再见!n);程序调试情况结构体数组的构建与赋值不熟练,刚开始因为没有在结构体定义后加上分号而总是出错,费了好大劲才找出错误;刚开始不知道如何判断两数组是否相同,开始只知道用strlen函数,但是总不能得到正确的结果,最后借助百度找到了自己构建判断函数的方法;查找失败的提示算法试了好多种才找到合适,之前还用了goto语句,但都只有在一部分情况下能正确提示;函数直接跳过scanf函数。这个问题是我之前从来没有遇见过的,当时我心想应该有个清除输入缓存的函数,我就直接就百度了,还真找到了fflush(stdin)函数,在每个scanf和gets函数前加上后输入就正常了。心得及体会这次课程设计让我找到了自己很多的知识漏洞
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准版石油管道运输合同
- 2025版肺炎症状和护理技能分享
- 2025高中语文第2单元8.1荷花淀8.2玄黑结婚节选8.3党费试题含解析部编版选择性必修中
- 男性泌尿科介绍
- 2025年心肺复苏指南试题及答案
- PVC-U排水管道施工方案
- 2025医疗器械管理试题及答案
- 2025年食品营养健康管理师专业知识考试试题及答案解析
- 健之素的配比方法
- 妇产科正副高级职称考试试题库与答案
- 第十八节课-强奸罪
- 返租合同协议书
- 国开(浙江)2024年《个人理财》形考作业1-4答案
- 中医内科临床诊疗指南 噎膈
- 手工木工(木模板工)理论知识考核要素细目表一级
- 冠状动脉微血管疾病诊断和治疗中国专家共识(2023版)
- 试卷代码:802附有答案
- 《土地整治学》期末考试复习题库资料(含答案)
- “四害”消杀服务合同(2024版)
- 《沂蒙山小调》音乐教案课件
- 黑色三分钟生死一瞬间事故案例具体情况分类别 一至七部
评论
0/150
提交评论