标签:
第三次作业
题目:
请编写一个能自动生成小学四则运算题目的“软件”。让程序能接受用户输入答案,并判定对错。最后给出总共对/错的数量。
需求分析:
1、 该软件是针对学生有限的计算能力,计算效率,计算精确度而制作的软件;
2、 该软件可以进行简单的四则运算并进行判断;
扩展功能:
1、 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数。
2、 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。
设计:
根据四则运算法则本“软件”在设计上使用C语言实现,在VC++6.0运行。
代码实现:
1、采用模块化设计思想,修改之前的code,将 “计算功能” 封装起来.
2、在C语言环境下,将函数声明与具体实现分别存放在头文件(.h)和源文件(.c)中;
头文件(.h)代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void jia();
void jian();
void cheng();
void chu();
源文件(.cpp)代码:
// my.cpp : Defines the entry point for the console application.
//
//#include <iostream>
//#include "stdafx.h"
#include "01.h"
int wrong=0,right=0;
int main(int argc, char* argv[])
{
int x,y=0;
srand(time(NULL));
while(1) {
printf("请选择:\n加法运算(输入1)\n减法运算(输入2)\n乘法运算(输入3)\n除法运算(输入4)\n");
if(y==0)
scanf("%d",&x);
switch(x) {
case 1:jia();break;
case 2:jian();break;
case 3:cheng();break;
case 4:chu();break;
}
printf("\n重新选择(输入1),退出运算(输入2)");
scanf("%d",&y);
if(y==1)y=0;
if(y==2)break;
}
printf("做对%d道题,做错%d道题!\n",right,wrong);
return 0;
}
void jia()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请输入你的运算结果:%d+%d=",a,b);
scanf("%d",&c);
if(a+b==c){
printf("结果正确\n");
right++;
}
else {
printf("结果错误\n");
wrong++;
}
}
void jian(){
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请输入你的运算结果:%d-%d=",a,b);
scanf("%d",&c);
if(a-b==c){
printf("结果正确\n");
right++;
}
else {
printf("结果错误\n");
wrong++;
}
}
void cheng(){
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请输入你的运算结果:%d*%d=",a,b);
scanf("%d",&c);
if(a*b==c){
printf("结果正确\n");
right++;
}
else {
printf("结果错误\n");
wrong++;
}
}
void chu(){
int a,b;
double c;
a=rand()%100;
b=rand()%100+1;
printf("请输入你的运算结果:%d/%d=",a,b);
scanf("%lf",&c);
double d = (int((a / (b * 1.0)) * 100 + 0.5))/100.0;
printf("d = %lf", d);
if(d==c){
printf("结果正确\n");
right++;
}
else {
printf("结果错误\n");
wrong++;
}
}
运行效果:
两人合作步骤:
1、需求分析,建立在第二次作业的基础上进行加工与完善;
2、在代码规范设计方面,我们根据老师的要求修改了我们的原代码,并符合 “代码风格和设计规范”的基本要求,采用模块化的思想,我们将函数封装起来,将函数声明存放在头文件(.h),具体实现存放在源文件(.cpp)中;
PSP:
PSP |
Personal Software Process Stages |
Time(%) Senior Student |
Time(%) SDE |
Planning |
计划 |
6 |
4 |
Analysis |
需求分析 |
6 |
4 |
Dsign Spec |
生成设计文档 |
3 |
5 |
Dsign Review |
设计复审 |
4 |
6 |
Coding Standard |
代码规范 |
3 |
5 |
总结:
通过这次作业,我们发现要想设计出一个好的软件真的非常困难。该软件不仅要实现各种运算,并且该程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数。
可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号;统计出运算对错的数目。虽然勉强完成了这次作业,但我们知道里面一定还有很多不足之处,望各位老师指出,我们也会继续更正。谢谢!!
标签:
原文地址:http://www.cnblogs.com/ldlmt1689/p/4445822.html