2014-02-25 112 views
0

我正在做C++的初學者工作,我很難理解我在做什麼,我正在寫一個簡單的程序有什麼問題。到目前爲止,我已經編寫了一些適當的程序,但我很困惑如何在IF函數中放置可變佔位符。當然,假設這是正確的。C++在if函數中添加變量

首先介紹一下程序應該如何工作的背景知識。用戶輸入一個4位代碼,只要代碼的最後一位數字是「7」,它應該顯示「Origin:Florida」。 IF函數的第二部分是,如果用戶輸入一個4位數字,並且代碼的最後一位數字是「4」,它應該顯示「Origin:California」。我用其他語句完成了其他任何條目以顯示「無效」。我遇到的問題是如何爲代碼的前三位數字添加可變數字,以及如何使用「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; 
} 
+2

嘗試使用'Digits%10 == 7' –

+1

這裏沒有什麼區別,但是'0004'是一個八進制文字,相當於'04',它只是4。 ,'0014',它的值爲12. – chris

+0

有沒有辦法將佔位符或變量放在If函數中?所以有人可以輸入3324或1274,並顯示「Origin:Florida」。 – TranquilityByDesign

回答

1

一個有用的「絕招」是使用模(%)運算符來得到一個數字的位數。假設你想要得到的最後一個...

int n = 1234; 
int last_digit = n % 10; // last_digit == 4 

爲了得到一個倒數第二,除以10的數量(這使得最後一位走開),做相同的:

n /= 10; 
int second_to_last = n % 10; // second_to_last == 3 
+0

這似乎是通過這樣做,你只能接收整數的第一個數字,而不會碰到雙打。我正在尋找這種情況下,讓4位代碼的最後一個數字成爲提供顯示哪個答案的公式中的KEY。如進入1234或2234或5564「產地:佛羅里達」,並進入1237或2237或5567「產地:加州」。因此,無論4位代碼的前3位是什麼,我都需要最後一位數字作爲顯示哪個消息的決定因素。是否有我可以使用絕對第四位數字的變量類型 – TranquilityByDesign

+0

@TranquilityByDesign:計算機不存儲數字(基數爲10),它們存儲位(基數2)。這就是爲什麼你需要明確的'%10'。 – MSalters

0

看看這有助於: 首先,您可能需要驗證,如果數字輸入的數字是4, 事情是這樣的: //「數」是unsigned int類型,所以我們去掉進入-ve數量的可能性 int digits = 0; while(number) { number/= 10; digits ++; }

如果數字!= 4顯示無效,否則使用@Faranwath提到的Modulo運算符檢查最後一位數字。 是的,還有一件事需要保存號碼,因爲稍後您需要檢查最後一位數字。

+0

對不起。我相信每個人都會給我提供這個問題的奇妙答案,但我不知道如何將這個問題貫徹到我的工作中。我會谷歌一點執行,並希望弄清楚你們是什麼意思大聲笑謝謝你的幫助! – TranquilityByDesign