对于此项目,您将创建一个程序,要求用户输入小于20的正整数值。
如果用户输入的数字大于20,则用户应该收到错误。
如果用户输入的数字等于或小于20,则显示每个值的两倍,从1开始直到所选数字(将每个数字乘以2),然后提供所有双打的总和。
例如,如果用户输入数字5,则应显示以下内容:
加倍1 = 2
加倍2 = 4
加倍3 = 6
加倍4 = 8
加倍5 = 10
总计= 30
最低要求:
创建一个具有3个公共函数的类。 mutator函数应该从用户获取数字并将其存储在私有变量中。 另一个函数应执行计算,显示double up结果并将total存储在私有变量中。此函数必须使用循环。 访问者功能应显示总数。 创建一个main函数,用于创建类的对象并调用该类的每个函数。
#include <iostream>
#include "Helloworld.h"
int main()
{
Double DF;
DF.getnumber();
DF.cal();
DF. getTotal();
system("pause");
}
&#13;
#include <iostream>
#include <string>
class Double
{
public:
void getnumber();
void Double::cal();
void getTotal();
private:
int int1;
int counter;
int total;
};
void Double::getnumber()
{
std::cout << "Enter a positive integer value that is less than 20. ";
std::cin >> int1;
while(int1 > 20)
{
std::cout << "Error, Please enter a valid positive integer value less than 20: ";
std::cin >> int1;
}
}
void Double::cal()
{
for ( int counter=1; counter<= int1; counter++)
{
std::cout <<"Double up = " << counter *2 <<std::endl;
}
}
void Double::getTotal()
{
total = counter;
std::cout << " The total amount for the double up " << int1 << " is " << total<<std::endl;
}
&#13;
答案 0 :(得分:0)
要计算这些双数的和,请使用数学公式(n*(n+1))
您在getTotal()
中使用的变量计数器永远不会初始化,因为函数cal()
中的变量计数器只是同一函数的局部变量。
由于变量counter
未初始化其给定的垃圾值。
void Double::getTotal()
{
total = (int1*(int1+1)); // use this formula to get total
std::cout << " The total amount for the double up " << int1 << " is " << total<<std::endl;
}
假设int1 = 5
然后
Total = (int1 * (int1 + 1));
Total = (5 * (5 + 1))
Total = (5 * 6);
Total = 30;