C语言课程设计报告模板.pdf
文本预览下载声明
C语言课程设计报告
班级: 16 物联网
一、题目说明
(1)读取输入信息,能正确进行数字运算
(2 )拥有记忆功能,可查询最近几次计算结果并继续进行
数字运算。
二、基本功能实现
(1)能实现两个数之间的加减,乘,除,乘方,开方等运
算。
(2 )实现记忆功能,可保留近十位结果,可用 #键查看。
(3 )* 键作为清 0 键,清除当前屏幕上的值为 0 表示重新开
三、设计流程(可以画流程图,可以直接写说明)
开始
1.
输入值
判断
如果输入的是数字 如果输入的是字符
输入索要执行的操作符和操 判断
作数 2 如果为 q
调用 yunsuan() 计算并输出结 如果为 #
果
查看历史结果 结束
调用 putres() 将结果保存
四、代码
#include stdio.h
#include stdlib.h
#include string.h
#include math.h
double yunsuan(double a, char operate, double b); // 处理数值之间的
运算
void PutRes(double array[], double res, int *i); // 保存该次运算结
果
int main()
{
char str[40];
double a = 0;
double b = 0;
double res = 0;
double history[10] = {0,0,0};
char opt;
int i = 0;
printf( 欢迎进入计算功能( eg: 1 \n+ 1 ; # :查询历史结果 ; q: 退
出程序)····\n);
while(1){
fgets(str,40,stdin); // 将从键盘的一整行标准输入保存在
字符串 str 中
if(sscanf(str,%lf, a) == 1){ // 将 str 以长浮点型的格式放入
a 中,如果返回值为 1,说明输入的是数值,
scanf(%c %lf, opt, b); // 获取操作符的值和另外一个操
作数的值
res = yunsuan(a,opt,b); // 调用 yunsuan ()函数计算,
并将结果给 res
printf(%lf %c %lf = %lf\n\n,a, opt, b, res);
PutRes(history, res, i); // 调用函数 PutRes() 将本次结果
保存到数组 history 中(i 用引用传递)
// printf(%d\n, i);
}else if(sscanf(str,%c,opt) == 1){ // 将 str 以字符型的格式放
入 opt 中,如果返回值为 1,说明输入的是字符
if(opt == #){
显示全部