




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、面向过程第五题:1. 题目:编程序,使 用户任意输入一个年份以及该年的1月1日是星期几,而后任意指定某一天(再输入该年的任意一个月份日期),由程序计算出这一天是星期几。2. 需求分析:本题要求计算所给日期是星期几,需要计算该日期到一月一号有多少天,根据一星期七天的循环,然后计算所求,前提是必须给定一月一号是星期几,同时还要判断本年是否为瑞年。测试数据:【输入数据】:2009 1 2 一月一号:friday【输出数据】:saturday【输入数据】:2011 3 1 一月一号:saturday【输出数据】:tuesday3.设计概要:1、编写函数体int days(int year,int month ,int day )用来统计所计算的日期到一月一号的天数;2、编写主函数,输入日期,输入一月一号是星期几;3、调用函数计算总天数;4、利用一星期七天的循环 a=days(year,month,day)%7,计算该日期是星期几;3. 详细设计与编码(1) 流程图:主函数输入所判断的日期输入一月一号是星期几调用函数days()计算利用数组存放星期str,days%7,计算结果(2)源程序:#include #includeusing namespace std ;int days(int year,int month ,int day )int d; if(year%4=0)&(year%100!=0)|(year%400=0) switch(month) case 1:d=day;break;case 2:d=31+day;break;case 3:d=60+day;break;case 4:d=91+day;break;case 5:d=121+day;break;case 6:d=152+day;break; case 7:d=182+day;break;case 8:d=213+day;break;case 9:d=244+day;break;case 10:d=274+day;break;case 11:d=305+day;break;case 12:d=335+day;break; default:couterrorn; else switch(month) case 1:d=day;break;case 2:d=31+day;break;case 3:d=59+day;break;case 4:d=90+day;break;case 5:d=120+day;break;case 6:d=151+day;break; case 7:d=181+day;break;case 8:d=212+day;break;case 9:d=243+day;break;case 10:d=273+day;break;case 11:d=304+day;break;case 12:d=334+day;break; default:couterrorn; return d-1;void main() string str=monday,tuesday,wednesday,thursday,friday,saturday,sunday,weekday;int year,month,day,i,a;cout年、月、日:yearmonthday;coutweekday; for(i=0;i=6;i+) if (stri=weekday) break; a=days(year,month,day)%7; int h=(i+a)%7; coutyear年month月day日为:strhendl;5.调试分析编写此程序,主要编写一月一号到所给日期的天数,其次就是根据一星期七天的循环,计算在一月一日是星期几的基础上,实质上又过去几天。编写天数要考虑到是否为瑞年等等,用数组str存放星期一到星期日,若星期i就是stri-1,再过a天是str(i-1+a)%7。6.用户使用说明【step1】打开源程序【step2】输入一个日期【step3】输入一月一号是星期几7.测试分析输入数据:2009 1 2 一月一号:friday结果 输入数据:2011 3 1 一月一号:saturday结果:分析:输出结果与预设值完全一致,证实了程序的正确性!8.实验体会 通过此题的编写加深了我对switch()结构的运用,同时对瑞年的判断的算法也更为熟悉。第五题1.题目:编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。2.需求分析可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。3概要设计1、编写四个关于四则运算的正确判断的函数,其函数有统计用户做题正确与错误的个数的作用,并且用户可以控制该函数的停止与运行,同时用户可以选择一位运算或者是两位运算;2、定义主函数,让用户选择所要测试的运算符号;3、调用对应的函数体进行测试;4、用户有自主停止,且改换其他运算测试的机会;5、结束运行。4.详细设计与编码(1)流程图:(略)(2)源程序:#include using namespace std;#include #include void f1(int t);void f2(int t);void f3(int t);void f4(int t);void main() char a=+,h=Y;int t,i; for(i=1;h!=N;i+) cout选择类型(+,-,*,/):a; cout一位运算或两位运算(1或2):t; if(a=+) f1(t); else if(a=-) f2(t); else if(a=*) f3(t); else if(a=/) f4(t); else couterror!endl; cout是否进行其他运算(Y/N):h; void f1(int t)int x,y,s,i,a=0;char h=Y;for(i=1;h!=N;i+) if(t=1) x=rand()%10; y=rand()%10; coutx+y= s; if(s=x+y) coutgood!endl;a+; else couterror!endl; else x=rand()%100; y=rand()%100; coutx+y= s; if(s=x+y) coutgood!endl;a+; else couterror!endl; cout是否继续进行(Y/N):h; if(h=N) cout做题总数:i,正确数:aendl;break;void f2(int t)int x,y,s,i,a=0;char h=Y;for(i=1;h!=N;i+) if(t=1) x=rand()%10; y=rand()%10; coutx-y= s; if(s=x-y) coutgood!endl;a+; else couterror!endl; else x=rand()%100; y=rand()%100; coutx-y= s; if(s=x-y) coutgood!endl;a+; else couterror!endl; cout是否继续进行(Y/N):h; if(h=N) cout做题总数:i,正确数:aendl;break;void f3(int t)int x,y,s,i,a=0;char h=Y; for(i=1;h!=N;i+) if(t=1) x=rand()%10; y=rand()%10; coutx*y= s; if(s=x*y) coutgood!endl;a+; else couterror!endl; else x=rand()%100; y=rand()%100; coutx*y= s; if(s=x*y) coutgood!endl;a+; else couterror!endl; cout是否继续进行(Y/N):h; if(h=N) cout做题总数:i,正确数:aendl;break;void f4(int t)int x,y,s,i,a=0;char h=Y;for(i=1;h!=N;i+) if(t=1) x=rand()%10; y=rand()%10; coutx/y= s; if(s=x/y) coutgood!endl;a+; else couterror!endl; else x=rand()%100; y=rand()%100; coutx/y= s; if(s=x/y) coutgood!endl;a+; else couterror!endl; cout是否继续进行(Y/N):h; if(h=N) cout做题总数:i,正确数:aendl;break;6.用户使用说明【step1】打开源程序按照说明输入数据。7.测试分析分析:经过比较可以发现输出结果与程序设计之初预想的结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育行业数字化营销策略与招生团队建设报告
- 现场可视化管理培训知识课件
- 河北省定州市2022-2023学年五年级上学期期中考试科学试题(含答案)
- 2025年导游资格证考试冲刺试卷 导游旅游目的地讲解技巧解析
- 2025年小学数学毕业升学考试应用题解题技巧冲刺实战试卷
- 陕西省商洛市丹凤县丹凤中学2026届化学高一上期末监测试题含解析
- 2025年公务员行测国际事务专项训练试卷 事务知识冲刺押题
- 2025年注册测绘师考试测绘案例分析模拟试卷 测绘技术专项训练
- 新中国直接选举制度的发展探讨与研究
- 王者冷门知识培训课件
- 2023年单螺杆泵的结构设计与性能分析全套图纸
- 无创正压通气护理
- GB/T 20481-2017气象干旱等级
- 《C++程序设计教程》PPT Chapter-5
- 风电发电机组电控系统知识-安全链部分课件
- PMBOK指南第6版中文版
- 医疗质量管理工具课件
- 急性上呼吸道感染病人的护理
- 小学教师量化考核表
- 房建监理平行检查记录表格模板(参考版)
- 计算机操作系统(第四版)-汤小丹-课后习题答案
评论
0/150
提交评论