实验报告范例
更新时间:2023-10-21 23:39:01 阅读量: 综合文库 文档下载
实 验 报 告
课程名称 程序设计基础 实验项目 实验仪器
实验五 函数的简单应用 计算机
系 别 专 业
计算机学院 软件工程
班级/学号 软工0901/2009011260 学生姓名 蒋玉茹 实验日期 2009/12/15 成 绩 指导教师 蒋玉茹
函数的简单应用 一、实验目的
1.掌握函数的定义、函数的说明和调用。
2.掌握函数的参数及其传递方式,函数值的正确返回。 二、实验内容
编写一个自动出题程序,该程序可以给出任意两个数的+、-、×、/运算式子,当用户输入运算结果时,程序可以判断正误。当用户做完十道题目之后,程序给出最终的统计结果。
三、程序的总体设计
因为本程序要求运用函数实现,因此设计了四个用户自定义函数,分别为:加法、减法、乘法、除法。这四个自定义函数和主函数之间的调用关系参见图1:
主函数加法减法乘法除法
图1 自动出题程序的模块结构图
为了完成这个程序还需要利用系统提供的函数:scanf、printf、srand、rand四个函数。
对各个函数功能的说明: 1. main主函数
功能:负责程序与用户的接口部分,即数据的输入和输出;负责程序的主要逻辑;负责随机生成两个随机数和一个运算符号。 2. 加法
功能:计算两个数相加的结果 输入:两个数 输出:两个数的和 3. 减法
功能:计算两个数相减的结果 输入:两个数 输出:两个数的差 4. 乘法
功能:计算两个数相乘的结果 输入:两个数 输出:两个数的乘积 5. 除法
功能:计算两个数相除的结果 输入:两个数 输出:两个数的商 四、每个函数的详细设计
1.main函数
begininti,j,x;x=0x<10生成第一个随机数j生成第二个随机数I生成运算符op生成运算式子、接收用户输入、判断正误x++printf(\你答对了%d个题\
当然大家也可以画非常详细的流程图,比如:
begininti,j,x;x=0x<10j=rand();j<1||j>100i=rand();i<1||i>100op=rand();op<1||op>=5op=1printf(\);ed==add(i,j)op=2printf(\%d=\printf(\ed==jian(i,j)op=3printf(\;printf(\ed==cheng(i,j)printf(\break;op=4printf(\;printf(\ed==chu(i,j)printf(\break;printf(\break;printf(\printf(\break;x++printf(\你答对了%d个题\结束
注:这个流程图似乎太复杂了。我们更倾向于将程序中的部分代码段用文字描述其功能,而不是在流程图中将每条语句都画出来。因为这样才能体现流程图的意义:它是详细设计的辅助工具而不是代码的反转,它能帮助我们理清详细设计的思路。
2.加法等自定义函数的流程图,如图2:
加法 减法 乘法 除法开始开始开始开始计算两个数的和将和返回主调函数计算两个数的差将差返回主调函数计算两个数的乘积将积返回主调函数计算两个数的商将商返回主调函数结束
结束结束结束
图2 加法、减法、乘法、除法的程序流程图
四、源代码
#include
int z; z=x+y; return(z);
int jian(int x,int y) { }
int cheng(int x,int y)
int z; z=x-y; return(z);
{ int z; z=x*y; return(z);
}
int chu(int x,int y) { int z; z=x/y; return(z);
}
void main() { int i,j,x; int op; int ed; int z=0;
srand((unsigned)(time(NULL))); for(x=0;x<10;x++) {
do { j=rand();
}
while(j<1||j>100); do { i=rand();
}
while(i<1||i>100); do { op=rand(); }
while(op<1||op>=5);
switch(op) { case 1:
printf(\ scanf(\
if(ed==add(i,j))
{
printf(\ z+=1;
} else
printf(\
break;
case 2:
printf(\ scanf(\ if(ed==jian(i,j)) {
printf(\ z+=1;
} else
printf(\
break;
case 3:
printf(\ scanf(\ if(ed==cheng(i,j)) {
printf(\ z+=1;
} else
printf(\
break;
case 4:
printf(\ scanf(\ if(ed==chu(i,j)) {
printf(\ z+=1;
} else
printf(\
五、运行过程
NO0:5-65=60 ERROR!
NO1:97/32=2 ERROR!
NO2:26/15=1 RIGHT!
NO3:7-77=70 ERROR!
NO4:4-48=40 ERROR!
NO5:60*95=5700 RIGHT!
NO6:21*12=100 ERROR!
NO7:19/29=0 RIGHT!
NO8:34+82=116 RIGHT!
break;
}
}
printf(\你答对了%d个题\
}
NO9:77/74=1 RIGHT!
你答对了5个题Press any key to continue
注:阴影部分为用户输入,其余为系统显示
六、实验心得体会
本次实验学习了如何自定义函数,如何调用函数的C语言知识;学习了关于函数调用的模块结构图的绘制方法;掌握了实参向形参的单向值传递过程和函数的返回值的意义。
在实验中遇到的主要问题是对随机函数的理解和运用。Srand是系统定义的函数,作为程序员,如果能够熟知系统定义的函数并且适当的运用将得到事半功倍的效果。
程序遗留问题:如何让减法的结果为整数;如何让相除的两个数可以整除。
正在阅读:
实验报告范例10-21
RTL综合技术06-02
腹腔镜胆囊切除术388例临床分析10-26
【高考调研】2016届高三一轮复习习题 第十章 化学实验 题组层级快练3105-19
月经期间喝柠檬水好吗04-15
抗菌药物使用规范及管理制度11-25
实验四 数字解调与眼图解析12-30
百湖小偏方01-28
纯弯曲梁的正应力实验报告06-04
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 范例
- 实验
- 报告
- amaor搜集整理-形近字
- 英国近代民主政治的确立及发展
- 研究生英语综合教程下册课文翻译
- 2015执业医师考试专业系统英文全汇总
- 学风建设活动策划方案3篇
- 对修改后的《婚姻法》第四十六条第二款的思考
- 技术交底(独立柱基) - 图文
- 企业战略管理单选题(13准过版)
- 表面工程与技术复习题
- 煤炭洗选企业低税负及预警面偏高原因剖析
- 电力拖动控制系统xiti题库
- 广西版四年级上册 美术教案(表格式) - 图文
- 进销存管理系统需求分析说明书
- 从精准卡航浅析德邦物流发展
- 2016台州黄岩区事业单位招聘公告 - 报名 - 考试时间 - 招考计划 - 岗位表
- 12数学分析3练习题
- 2015-2020年中国教学仪器行业分析及投资策略报告
- 系解提纲
- PDCA在护理质量持续改进中的运用案例分析
- 1咨询师职业认识与学习方法1 - 图文