实验报告范例
更新时间: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
创意软文:自驾游的快乐与不快乐04-13
2022年远景目标心得体会大学生优秀7篇04-03
读余华《兄弟》有感12-11
实行“实耗法”的公告的解读11-08
2.7(2)分数与小数的互化05-09
2017-2018学年人教版五年级音乐上册全册教案(含教学反思)05-02
水浒传绰号06-01
计科实验六多态的应用参考答案10-07
小学三年级健康教育教学教案计划06-28
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 范例
- 实验
- 报告
- amaor搜集整理-形近字
- 英国近代民主政治的确立及发展
- 研究生英语综合教程下册课文翻译
- 2015执业医师考试专业系统英文全汇总
- 学风建设活动策划方案3篇
- 对修改后的《婚姻法》第四十六条第二款的思考
- 技术交底(独立柱基) - 图文
- 企业战略管理单选题(13准过版)
- 表面工程与技术复习题
- 煤炭洗选企业低税负及预警面偏高原因剖析
- 电力拖动控制系统xiti题库
- 广西版四年级上册 美术教案(表格式) - 图文
- 进销存管理系统需求分析说明书
- 从精准卡航浅析德邦物流发展
- 2016台州黄岩区事业单位招聘公告 - 报名 - 考试时间 - 招考计划 - 岗位表
- 12数学分析3练习题
- 2015-2020年中国教学仪器行业分析及投资策略报告
- 系解提纲
- PDCA在护理质量持续改进中的运用案例分析
- 1咨询师职业认识与学习方法1 - 图文