- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言课程设计》报告
题目:选题四 书店存货清单
专业年级:12级电子信息工程二班
学号:120101021128
姓名:钟皇平
指导教师:张翼
同组设计者
2013 年 6 月
[问题定义]
书店通常使用个人电脑设置一个清单来管理书籍的存货情况,该清单记录每本书籍的书名,作者,出版社,在清单中的位置等信息。当顾客想要买某本书时,只要输入书籍的名称和作者,系统就会显示该书籍是否在清单中,如果书籍在清单中,系统会显示书籍的详细信息以及库存数量,如果不在清单中,也会显示相应的提示信息。如果顾客想买的书籍数量在库存的范围内,系统会计算总价格并显示出来,否则,会提示“所需数量不在库存范围内”。
根据以上的分析,编程要求:
用结构体自行定义几本书籍,要求包括书籍名称,作者,出版社,出版日期,价格,在目录中的位置;
当从键盘输入某本书的名称和作者姓名,如果能查询到则显示该书籍的所有信息,并提示“请输入所需数量”,如果所需数量在库存范围内,则显示总价,否则,显示“所需数量不在库存范围内”,接着继续提示顾客是否还想买其他书籍,如果输入“y”或“Y”表示继续输入下一本书的名称和作者姓名,进行下一轮查询;如果不能查询到该书籍,则显示“谢谢,再见!”,依次类推,不断循环。
[开发工具]
Miscroft Visual c++ 6.0
[数据结构]
char sm[100],c;
sm[100]为储存书名的数组
c为是否继续查找书籍的依据,当其为y或Y时,继续查找,否则为退出查找
int i=0,n=0,flag=0,j=0;
i在后面的for语句中计数用
n用以储存所需同种书籍的数量
j用来计数,以其为5时作为提示未找到书籍的依据
struct kc{ {
char sm[100];
char zz[100];
char cbs[100];
long cbrq;
double jg;
int wz;
int sl;}
定义储存书籍资料的结构体数组,依次为书籍名称,作者,出版社,出版日期,价格,在目录中的位置,以每个名词的首字母取成员名,如“书名”为“sm”
[算法描述]
字符串判断函数,用以判断两字符串是否相等
int cmp(char str0[], char str1[]) //比较两字符串是否相等,相等则返回0,否则返回非0
{
int i;
for(i=0;str0[i]!=0 str1[i]!=0 str0[i]==str1[i];i++);
return str0[i]-str1[i];
}
书籍查找与显示书籍资料模块
flag1: printf(请输入书名\n);
fflush(stdin);
gets(sm);
j=0; //未找到书籍而跳到这里时使j清零,防止当再次没找到书籍时因j已大于5而无法进入最后的if语句,即无法得到未查找到的提示
for(i=0;i5;i++)
{
j++; //当j加到5时则说明没有找到书籍
if(cmp(a[i].sm,sm)==0)
{
printf(书名 );
puts(a[i].sm);
printf(作者 );
puts(a[i].zz);
printf(出版社 );
puts(a[i].cbs);
printf(出版日期 %d\n,a[i].cbrq);
printf(价格 %lf\n,a[i].jg);
printf(位置 %d\n,a[i].wz);
printf(库存 %d\n,a[i].sl);
printf(请输入所需数量\n);
fflush(stdin);
scanf(%d,n);
if(n=a[i].sl)
printf(总价为 %lf\n,(n*a[i].jg));
else
printf(所需数量不在库存范围内\n);
继续查找判断模块
printf(是否还想买其他书籍?(是 Y或y 否 双击回车键)\n);
fflush(stdin);
scanf(%c,c);
if(c==y||c==Y)
goto flag1;
else
{
j=0; //当要退出时使j清零,防止当所找书籍位置为5时跳出for语句后因j也为5而误进入下面的if语句
printf(谢谢,再见!\n);
}
}
查找失败提示模块
if(j==5)
{
j=0;
您可能关注的文档
- 公路工程案例分析题汇总(不得不会做的12类题).doc
- 六上环境教育课案.doc
- 六上语文期中测试题.doc
- 2012认识你真好教学设计.doc
- 2012认证瑞士通用公证行.docx
- 2012认证申请书修改.doc
- 2012认识自己教案.doc
- 2012认识计算机说课稿.doc
- 2012让代码书写健步如飞.doc
- 2012让你的会说话.doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- “红旗杯”竞赛总题库-4班组长计划管理能力考试题库(附答案).docx VIP
- 物业管理实务练习题物业的承接查验(三).pdf VIP
- 食品配送行业货物运输质量保障措施.docx VIP
- 2025入党积极分子发展对象培训考试试卷题库(含答案).docx VIP
- 地下室金刚砂地坪施工方案.docx VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- “红旗杯”竞赛总题库-2班组长成本绩效管理能力考试题库(附答案).docx VIP
- 轨道交通收益权质押价值评估研究--以xx市地铁x号线为例.pdf VIP
- 5. 国威人工智能产业学院建设方案V1.5.pdf VIP
- 中国AIGC应用全景图谱报告.pptx VIP
文档评论(0)