【发布时间】:2016-01-03 12:54:53
【问题描述】:
好的,所以我正在做一项任务并且感到很沮丧。作业要我向用户询问一个数字,然后说出该数字是偶数还是奇数,但如果用户键入“完成”,程序将退出。
所以我的问题是如何同时检查字符/int 的输入,然后决定它是什么。
// ConsoleApplication2.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
bool isEven(int userAnswer);
using namespace std;
int userAnswer;
int main()
{
cout << "Which number would you like to check?" << endl;
cin >> userAnswer;
if (isEven(userAnswer) == false)
{
cout << userAnswer << " is a odd number." << endl;
}
else if (isEven(userAnswer) == true)
{
cout << userAnswer << " is a even number." << endl;
}
cin.get();
cin.get();
return 0;
}
bool isEven(int userAnswer)
{
if (userAnswer % 2 == 0)
{
return true;
}
else
{
return false;
}
}
【问题讨论】:
-
int userAnswer;应该在main中声明而不是全局变量,并且您不需要else if而只需要else因为函数调用只有两种可能性(== false和它的否定。更惯用的是!isEven(userAnswer))。 -
我建议您先检查“完成”字符串,如果没有完成,将字符串转换为 int 并进行偶数/奇数检查
标签: c++ loops if-statement while-loop evaluation