我正在为学校开发一个小程序来计算输入数字的阶乘。我在 Java 方面有丰富的经验,但这是我第一次接触 C++。
我的问题:我需要能够从用户那里获得单个输入,它可以是整数或字符“q”,这表示应用程序需要退出。
这是我目前的尝试:
#include <stdio.h>
#include <iostream>
#include "Header.h"
using namespace std;
int x=0;
char y;
int main(int argc, char *argv[])
{
printf("Hello, please enter a number to compute a factorial (or 'q' to quit): ");
cin >> y;
x= (y-'0');
if(y=='q')
{ printf("Thanks for playing!\n");
exit(1);
}
long result= print_Factorial(x);
cout << x << "!= " << result << "\n";
return result;
}
但是,这种铸造不起作用。如果我输入一个两位数,例如 12,它只会将两者的第一个数字转换为 x 并计算该阶乘。我确定这很简单,我错过了什么?
明确的答案或导致我可以了解更多关于这个问题的地方,任何事情都值得赞赏。