我正在用C ++做初学者工作,我很难理解我正在写的一个简单程序我做错了什么。到目前为止,我已经将程序写得恰到好处,但我对如何在IF函数中放置变量占位符感到困惑。当然,假设这应该使它正常工作。
首先介绍一下程序应该如何运作。用户输入一个4位数的代码,只要代码的最后一位是“7”,它就应该显示“Origin:Florida”。 IF功能的第二部分是,如果用户输入一个4位数字,并且代码的最后一位是“4”,则它应显示“Origin:California”。我用else语句完成了任何其他条目以显示“无效”。我遇到的问题是弄清楚如何为代码的前3位添加可变数字,当输入最后一位数字时,“7”或“4”显示某个“原点”。我搜索并搜索了互联网上的指南以寻求帮助,但我的运气很少。如果有人能帮助我,我将非常感谢你的帮助。
下面是我编写的代码,当然错误存在于IF语句中:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int Digits = 0;
cout << " ..:::Grocery Program:::.. " << endl;
cout << " ..::Created By Justin::.. " << endl;
cout << "\n";
cout << " Enter the orange's 4-digit code: ";
cin >> Digits;
if ( Digits == 7 )
{
cout << " Origin: Florida ";
}
else if ( Digits == 0004 )
{
cout << " Origin: California ";
}
else
{
cout << " Origin: Invalid ";
}
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
system("pause");
return 0;
}
答案 0 :(得分:1)
一个有用的&#34;技巧&#34;是使用模(%
)运算符来获取数字的数字。说你想得到最后一个......
int n = 1234;
int last_digit = n % 10; // last_digit == 4
要获得最后一个,将数字除以10(这使得最后一位数字消失)并执行相同操作:
n /= 10;
int second_to_last = n % 10; // second_to_last == 3
答案 1 :(得分:0)
看看这是否有帮助: 首先,您可能需要验证输入的位数是否为4, 像这样的东西: //“number”是unsigned int,因此我们删除了输入-ve number的可能性 int digits = 0; 而(数字) { 数/ = 10; 数字++; }
如果数字!= 4显示无效,否则使用@Faranwath所述的Modulo运算符检查最后一位数字。 是的,还有一件事需要保存,因为您稍后需要它来检查最后一位数字。