对于指定具体年月日所在本年的第多少天,有如下算法。 int sum_day(int month,int day) { int i; int day_tab[12]={ }; for(i=0;i 求解平年还是闰年的算法如下: int leap(int year) { int leap; leap=((year%4==0&&year0!=0)||(year@0==0)); return (leap); } 求解指定日期是周几的算法如下: days=sum_day(month,day); if(leap(year)&&month>=3) days=days+1; s=s+(days-1)%7; if(s>7) s=s%7; cout< 1.3详细设计与编码: #include int sum_day(int,int); int leap(int); int year,month,day,days,s; cout<<\年,1月1日星期:\cin>>year>>s; cout<<\指定月日:\cin>>month>>day; days=sum_day(month,day); if(leap(year)&&month>=3) days=days+1; s=s+(days-1)%7; if(s>7) s=s%7; cout< 6 } int sum_day(int month,int day) { int i; int day_tab[12]={ }; for(i=0;i int leap(int year) { int leap; leap=((year%4==0&&year0!=0)||(year@0==0)); return (leap); } no yes 1.4调试分析 1. year,month,day,days,s的类型是int型的。 2.对于平年闰年的分析,要分别对待,加以区分。 3. 注意体会尝试程序的健壮性。 4.尝试用其他方法完成该程序 1.5用户说明 用户可直接通过键盘向界面输入你指定年份1月1日是星期几,然后输入本年 7 的月日,即可在屏幕上得到本年指定年月日是周几了。 1.6 设计心得: 在这个程序设计中,所用的都是最基本的知识,对于最基本的知识一定要达到熟练的程度,才能熟中生巧,设计出高质量的程序。 2.面向过程 第7题将输入的罗马数据化为10进制数。假设罗马数据中 只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。 2.1需求分析: 我们在生活中常会遇见用罗马数字表示的代码或者数学、物理等学习过程中,往往会遇到将罗马数字转化为十进制数的计算,设计一个简单的转换程序是很有意义的 2.2概要设计 将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。显然是一个翻译程序,肯定是将一种表达形式换算成另一种表达形式。该题是把罗马数字转换成十进制数,初步设想:对于每个输入的字母,用一个算法返回一个指定的数值,算法如下: case 'M':return 1000;break; case 'D':return 500;break; case 'C':return 100;break; case 'L':return 50;break; case 'X':return 10;break; case 'V':return 5;break; case 'I':return 1;break; 对于罗马数据中每个字母对应数据累加过程,我们有如下算法: while((y=getchar())!='\\n') { if(f(x) m=m+f(x); cout< 2.3详细设计与编码: #include int f(char); int m=0; 8 char x,y; cout<<\输入罗马数字:\ cin>>x; while((y=getchar())!='\\n') { if(f(x) m=m+f(x); cout< int f(char c) { switch(c) { case 'M':return 1000;break; case 'D':return 500;break; case 'C':return 100;break; case 'L':return 50;break; case 'X':return 10;break; case 'V':return 5;break; case 'I':return 1;break; } } 运行结果如下: 9 2.4调试分析 1程序开始不可少语句 int f(char); int m=0; char x,y;设“基值”并作零初始化,若不做初始化,字母输出任意值。 2.将对应的字母返回对应的值,然后把数值累加起来,除了对应之外没有其他难点 3.尝试着用其他方法编写 2.5用户使用说明: 用户直接从键盘输入罗马数字,按回车键可以方便得到输出的阿拉伯数字。 2.6设计心得: 此程序在设计之前,一定要分析好设计思路,分析每个罗马字母中返回的数值,做好相应的处理。 第三题 1. 自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类可以完成复数的加法以及对复数的输出。 请完成类定义,并编制主函数,说明complex类对象,对定义的各成员函数进行调用。 3.1需求分析 运用对象实现该算法,说明complex类对象,对定义的各成员函数进行调用,是很有必要的。 3.2概要设计 class Complex 10 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件毕业课程设计总结报告1(2)在线全文阅读。
相关推荐: