继续接收负数

时间:2016-02-15 08:07:00

标签: visual-c++

对于此项目,您将创建一个程序,要求用户输入小于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;
&#13;
&#13;

1 个答案:

答案 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;
相关问题