100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 合肥学院C语言大作业 C语言实践课程综合大作业..doc

合肥学院C语言大作业 C语言实践课程综合大作业..doc

时间:2022-09-24 20:11:01

相关推荐

合肥学院C语言大作业 C语言实践课程综合大作业..doc

C语言实践课程综合大作业.

昆明理工大学

《程序设计基础》课程

综合设计实践教学课题报告

课程名称: C语言程序设计综合大作业

课题名称:数学计算工具程序设计

组长:学号 10401344 姓名钟伦赋

组员:学号 10401321 姓名朱潘伟

学号 10401309 姓名陆光道

学院: 信息工程与自动学院 专业班级: 自动化133

指导教师: 郑明雄

昆明理工大学计算中心

5 月 日

填写格式及说明

系统概述

(一)功能概述

主函数:大概思路:显示界面并提示选择功能函数→判断选择的正确性→调用所选功能函数→选择是否继续调用当前功能函数→判断选择的正确性→返回主菜单继续运行

实现主函数完成选项菜单集成各个计算功能函数;

实现求任意数的阶乘;

实现求组合数;

实现求任意两个整数的最大公约数和最小公倍数;

实现判断任意数是否素数;

实现显示菲波拉契数列的前N项。

各功能函数的数据输入形式和范围在显示界面上有适当提示,基输入出错或超出范围则提示重新输入。所输出的数据仅在屏幕上显示,不作保存。。

本程序的优点在于多处使用循环结构控制程序运行方向,根据需求轻松实现循环调用各功能函数。此程序没什么大的难点,而循环结构却成为本程序主函数的一大亮点。如用do-while 循环结构,或判断所输入的字符是否为所要求输入的字符,或反复调用正在运行的功能函数,或返回主菜单继续运行。整个主函数被囊括在一个大的do-while 循环结构当中,使其实现不断循环,其中借助getchar语句实现运行的停顿。因而每个getchar语句既起到了录入字符的作用又起到了运行停顿的作用,当用户一输入数据时,程序便可立刻运行,快捷完成其功能,而不需要重新启动程序。本程序利用菜单显示提供了较好的人机交互界面。

(二)算法概述:

从主菜单中选择相对应的数字,使程序进入不同的程序模块,用switch实现其功能,程序共分为五个模块,分别为:主函数、jicheng( )函数(求阶乘)、comb( )函数(求组合数)、qiubeishu ( )函数(求最小公倍数和最大公约数)、qiusushu( )函数(求素数)、Fibonacci( )函数(求菲波拉契数列)、 remenu() 函数(返回主菜单) 各函数主要算法见个流程图

2、数据结构设计

数据的定义:主要定义了int、ouble 、#define MAX 48char 、unsigned long int

数据的输出形式:%d(整形)

模块设计

1、说明

、用for循环求由实参传给形参的数

、用do-while循环

、Switch函数实现功能的选择

、调用Fibonacci数列函数

2、功能要求及分工:各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。主函数完成选项菜单集成各个计算功能函数;

求任意数的阶乘;

求组合数;

求任意两个整数的最大公约数和最小公倍数;

判断任意数是否素数;

显示菲波拉契数列的前N项。

各功能函数的数据输入形式和范围在显示界面上有适当提示,基输入出错或超出范围则提示重新输入。所输出的数据仅在屏幕上显示,不作保存。

3、程序的控制流程入下图所示。

N

N

1Y2YY4Y 5

3

Y

Y

NNN

4.调试运行及操作说明

(一)、调试

错误:

原因:在输出语句printf()中格式控制输出的输出了类型写错了将%f写成了%d,导致数据丢失才会导致这个错误。

void comb()

{

int m,n;

double result,a,b,c;

do {

scanf("%d%d",&m,&n);}

while(m>n);

result=a/(b*c);

printf("所要求的组合数为=%d\n",result);

}

改正:

printf("所要求的组合数为=%0.f\n",result);

(二)、程序测试

1、菜单界面

//菜单主界面组员共同设计//

2、求阶乘://本人设计

求阶乘和组合数的部分是由我完成的,首先定义自定义求阶乘函数,然后写入代码实现功能,代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。