C 课程设计报告

发布 2022-09-30 19:05:28 阅读 2744

c++课程设计报告。

学院:信息工程学院。

姓名:班级:

学号:指导老师:

实习题目一。

需求规格说明】

1、福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:abcde * edcba。他对华生说:

“abcde应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!

”。于是,两人沉默了好久,还是没有算出合适的结果来。请你利用编程技术,找到破解的答案。

问题描述:abcde代表一个五位数,edcba代表这个五位数倒过来输出,用一个五位数乘以一个个位数等于这个五位数倒序输出。

问题分析:abcde从最小的符合条件的五位数开始遍历,j从1开始遍历,用两个循环控制。

算法设计】1)设计思想:

写一个整型函数invertedorder,功能是将一个五位数倒序输出,方便下面if语句判断条件的编写。

用for循环从最小的、最后一位不是零且没有重复数字的五位数开始,每循环一次加1,内部套一个for循环,控制?代表的数字从1开始,每次加1。若不符合题设条件继续执行下一次循环,如果符合条件,就用if语句控制跳出循环,最后输出想要的等式。

2)设计表示:

调试报告】未出现错误。

附录】源程序清单:

#include ""

#include

using namespace std;

int n[5];

int invertedorder(int num) /将一个5位数倒序输出。

int i,m;

n[4]=num%10;

m=num/10;

for(i=3;i>=0;i--)将5位数的每一位分开,依次储存在整型数组n中。

int invertedordered=n[4]*10000+n[3]*1000+n[2]*100+n[1]*10+n[0];/倒序输出。

return invertedordered;

int _tmain(int argc, _tchar* ar**)

int i,j;

for(i=10234;i<100000;i++)从最小的没有重复数字的五位数开始循环。

if(i*j==invertedorder(i)&&n[0]!=n[1]&&n[0]!=n[2]&&n[0]!=n[3]&&n[0]!=n[4]&&

n[1]!=n[2]&&n[1]!=n[3]&&n[1]!=n[4]&&n[2]!=n[3]&&n[2]!=n[4]&&n[3]!=n[4])

break接着上个跳出继续跳出。

cout< return 0;

运行结果:实习题目二。

需求规格说明】

2、小明带两个妹妹参加元宵灯会。别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。

小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。” 请你写出:

小明的较小的妹妹的年龄。

问题描述:设两个人的年龄分别为s、l,s代表年龄较小的妹妹,l代表年龄较大的妹妹。

两人的年龄符合s*l=6*(s+l)和l+s<8,即可解得s和l的值。

问题分析:s和l都从1开始遍历,用两个循环控制。

算法设计】1)设计思想:

用for循环控制s从1开始,每循环一次加1,内部套一个for循环,控制l从1开始,每次加1。若不符合题设条件继续执行下一次循环,如果符合条件,就用if语句控制跳出循环,最后输出想要的等式。

2)设计表示:

调试报告】未出现错误。

附录】源程序清单:

#include ""

#include

using namespace std;

int _tmain(int argc, _tchar* ar**)

int s,l;//s代表年龄较小的妹妹,l代表年龄较大的妹妹。

for(s=1;s<100;s++)从s=1岁开始循环,最大到99

if((s+l)*6==s*l)//接着上个跳出继续跳出。

break;

cout<<"妹妹的年龄为"< return 0;

运行结果:实习题目三。

需求规格说明】

3、(a+b)的n次幂的展开式中各项的系数很有规律,对于n=2,3,4时分别是:1 2 1, 1 3 3 1,1 4 6 4 1。这些系数构成了著名的杨辉三角形:

试计算给定n对应的杨辉三角形,输出到文件中。

问题描述:计算杨辉三角中的每一个数,按格式输出到文件中。n由用户输入。

问题分析:根据排列组合计算(a+b)的n次幂的展开式中各项的系数,需要调用计算阶乘的函数。

算法设计】1)设计思想:

编写函数factorial计算n的阶乘,调用这个函数在主函数中进行计算,每算出一个就输出到文件中,设置空格和域宽。

2)设计表示:

调试报告】一开始每个需要空的地方只输出了一个空格,因为数字位数不同导致三角形是歪的。设置域宽为5后解决。

附录】源程序清单:

#include ""

#include

#include

#include

using namespace std;

inline double factorial(int n) /计算n的阶乘。

double n=1;

for(int i=1;i<=n;i++)

n=n*i;

return n;

int _tmain(int argc, _tchar* ar**)

ofstream fout("d:\\

int n;

cout<<"n=";

cin>>n;

for(int i=0;i<=n;i++)控制输出n+1行。

for(int j=0;j<=i;j++)依次输出第i行的数字。

fout< }

cout<<"请打开d:\\查看输出结果"< return 0;

运行结果:实习题目四。

需求规格说明】

4、假设图书馆的图书包含书名、编号、作者属性;读者包含姓名和借书证属性;每位读者最多可借5本书,编写程序列出某读者的借书情况。

提示:设计一个基类cobject,从它派生出书类cbook和读者类creader,在creader类中有一个rentbook()成员函数用于借阅图书。基类和测试**已经给出,请完成cbook,creader类。

问题描述:根据基类和给出的测试**写两个派生类,完成要求的功能。

问题分析:在不同的类中通过函数的相互调用,实现借阅功能。

算法设计】1)设计思想:

写cbook类和creader类,分别用于存放书籍和读者的信息。cbook类新增string型的变量author,用于储存书籍作者的名字。creader类新增int型的变量bookquantity,用于存储读者借书的数量,cobject类的对象数组book,大小为5,存储读者借的书。

另外creader类还新增rentbook函数和showreader函数,分别用于借书和显示读者信息。

rentbook函数的参数设置为cbook类对象,在函数中判断bookquantity的大小,如果小于4就借书,将这个对象赋给成员book[bookquantity],如果大于4就提示已达到上限,实现了控制借阅数量的功能。

showreader函数中直接调用基类的show函数可以显示当前读者的姓名和编号信息,再用一个for循环,循环中用book[i]调用show函数,显示所借书籍的书名和编号。

2)设计表示:

调试报告】一开始不知道如何控制借阅数量,新增一个数据成员后解决。

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...