| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1096 人关注过本帖
标题:[求助]哪路高手来帮帮!
只看楼主 加入收藏
yan_69
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-5-17
收藏
得分:0 
请问,怎么这么长啊!
上面是不是有四种编法来的?
2005-06-20 09:58
775885
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-5-14
收藏
得分:0 
能不能省一点呢???!
请教!!
2005-06-20 15:02
775885
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-5-14
收藏
得分:0 
能不能用模板做呀??
2005-06-20 15:02
剑人
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-9-21
收藏
得分:0 
我现在才看到这个贴

我也写一个,马上就好

等一会儿
2005-10-06 13:09
剑人
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-9-21
收藏
得分:0 

定义在"calculate.h"中。 #include <iostream> #include <ctime> #include <cstdlib> #include <cmath> using namespace std;

class Calculate { private: int level; //计算级别。 char type; //计算类型。 //参与计算的参数1,参数2, 计算结果,统计正确个数,统计错误个数。统计个数的变量如果用int型,计算结果都是0,取整了! float parameter1, parameter2, numofcorrect, numoffalse; double answer; public: Calculate(); void Stat(); //统计计算的结果. void GetParameter(int Level); //取得参与计算的参数 void Addition(); //加 void Subtration(); //减 void Multiplication(); //乘 void Division(); //除 inline IncNumOfCo(){ numofcorrect +=1; cout<<"RIGHT!"<<endl;} inline IncNumOffa(){ numoffalse +=1; cout<<"WRONG!"<<endl;} inline Judge() { char temp; cout<<"继续练习? y\\n "; cin>>temp; if ((temp != 'n')&&(temp !='y')) exit(1); else if(temp == 'n') Stat(); } }; Calculate::Calculate() { numofcorrect = numoffalse = answer = parameter1 = parameter2 = 0.0; level = 0; type=' '; cout<<"请选择计算类型(加法 + 减法 - 乘法 * 除法 / 否则退出):"; cin>>type; switch(type) { case '+': Addition(); case '-': Subtration(); case '*': Multiplication(); case '/': Division(); default: cout<<"在选择运算类型上出现错误!请重新运行程序!"; cout<<endl; exit(1); } } void Calculate::Addition() { cout<<"请输入运算级别(1,2 3):"; cin>>level; while(1) { GetParameter(level); cout<<parameter1<< type <<parameter2<<"="; cin>>answer; if(answer == parameter1+parameter2) IncNumOfCo(); //答案正确,numofcorrect加1; else IncNumOffa(); //答案错误,numoffalse 加1; Judge(); //判断是否继续练习! } } void Calculate::Subtration() { cout<<"请输入运算级别(1,2 3):"; cin>>level; while(1) { GetParameter(level); cout<<parameter1<< type <<parameter2<<"="; cin>>answer; if(answer == parameter1-parameter2) IncNumOfCo(); else IncNumOffa(); Judge(); } } void Calculate::Multiplication() { cout<<"请输入运算级别(1,2 3):"; cin>>level; while(1) { GetParameter(level); cout<<parameter1<< type <<parameter2<<"="; cin>>answer; if(answer == parameter1*parameter2) IncNumOfCo(); else IncNumOffa(); Judge(); } }

void Calculate::Division() { cout<<"请输入运算级别(1,2 3):"; cin>>level; while(1) { GetParameter(level); if(parameter2 == 0) //除数如果是0,重新取数! continue; cout<<parameter1<< type <<parameter2<<"="; cin>>answer; if( fabs(answer-parameter1/parameter2)<0.001 ) //有个缺陷: IncNumOfCo(); else IncNumOffa(); Judge(); } } void Calculate::GetParameter(int Level) { srand( (unsigned)time(NULL) );

switch (Level) { case 1: parameter1 = rand() %10; parameter2 = rand() %10; break; case 2: parameter1 = rand() %50; parameter2 = rand() %50; break; case 3: parameter1 = rand() %100; parameter2 = rand() %100; break; default: cout<<"在选择运算级别上出现错误!请重新运行程序!"; cout<<endl; exit(1); //退出程序 } } void Calculate::Stat() { cout<<"您计算的正确率是:"<<numofcorrect/(numofcorrect+numoffalse)<<" 下次继续努力!"<<endl; exit(1); } #include "calculate.h"

int _tmain(int argc, _TCHAR* argv[]) { Calculate a; return 0; }

2005-10-06 13:17
剑人
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-9-21
收藏
得分:0 
上面的缺陷是:

比如,2÷6=0.666667。

你写0.666可以,写0.667也可以!
2005-10-06 13:23
weilight2008
Rank: 1
等 级:新手上路
帖 子:111
专家分:4
注 册:2005-10-5
收藏
得分:0 
我在运行15楼的程序时计算机提示有错误,提示内容为:
fatal error C1083: Cannot open include file: 'calculate.h': No such file or directory

请问是怎么回事?!!!!!

生活不相信眼泪,勇敢去拼。
2005-10-08 10:39
lcm
Rank: 4
等 级:贵宾
威 望:13
帖 子:140
专家分:0
注 册:2005-2-4
收藏
得分:0 
出现这种问题一般有以下的原因:
    1、输入错误,例如应该包含'calculate.h',而不是'calculate12.h'。
    2、文件虽然存在,但目录不对。你可以将'calculate.h'和 .cpp放置在一个目录中,或在#include语句中加上路径

从 小 事 做 起,脚 踏 实 地 ~
2005-10-08 13:36
快速回复:[求助]哪路高手来帮帮!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018182 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved