2014-01-22 84 views
0

所以我對編程和學習C/C++很陌生。這項任務是創建一個簡單的程序,用於計算物品的給定價格和數量的總和。我被難住的部分是我們不允許在創建程序時使用「if或switch語句」。我們需要詢問用戶該項目是否應納稅,使用1作爲是和0作爲否。現在我有計劃來計算兩者並讀出含稅和不含稅。任何幫助將不勝感激,我知道這是業餘和最基本的編程。C++中的簡單邏輯。不允許使用IF語句

#include <stdio.h> 

#define TAX_RATE 0.065 
int main() { 

    int item_quantity, taxable; 
    float item_price, total_with_tax, total_without_tax, a, b; 

    // Read in the price of the item 

    printf("What is the price of the item? (Should be less than $100)\n"); 
    scanf("%f<100", &item_price); 

    // Read in the quantity of the item being purchased 

    printf("How many of the item are you purchasing? (Should be less than 100) \n"); 
    scanf("%d<100", &item_quantity); 

    // Read in if it is taxable or not 

    printf("Is the item a taxed item (1 = yes, 0 = no)?\n"); 
    scanf("%d", &taxable); 

    // Calculate total with tax 

    a = item_quantity*item_price*(1 + TAX_RATE); 

    // Calculate total without tax 

    b = item_quantity*item_price; 

    printf("Your total purchase will cost $%.2f\n", a); 

    printf("Your total purchase will cost $%.2f\n", b); 

    return 0; 

} 
+0

您可以嘗試[三元操作符(HTTP: //en.wikipedia.org/wiki/Ternary_operation)。由於這是一項家庭作業,我將使用它完成實施。 – marko

回答

7

所以taxable或者是01。現在看這兩條線之間的相似性:

a = item_quantity*item_price*(1 + TAX_RATE); 
b = item_quantity*item_price; 

你怎麼可以讓這些使用的taxable值,以便它當taxable1和第二行所做的第一行所做的單行當taxable0?哪一點需要改變?你怎麼能做到這一點?

既然這是你的任務,我認爲這已經足夠了。


你似乎在掙扎。好的,請考慮以下幾行與上述兩行完全相同的行:

a = item_quantity*item_price*(1 + TAX_RATE); 
b = item_quantity*item_price*(1); 

它們之間的區別是什麼?有些東西消失了。使用基本數學運算符使某些東西消失的簡單方法是什麼?

答案與C++的特殊之處無關。這只是數學!

+0

所以谷歌搜索後如何使用三元運算符我想出瞭解決方案。 – mikeboyd941

+0

total =(應納稅== 1)? item_quantity * item_price *(1 + TAX_RATE):item_quantity * item_price; – mikeboyd941

+1

@ user3050104三元運算符比您需要的更復雜。它基本上是一個僞裝的「if」,我相信給你任務的人不希望你使用它。如果沒有「if」或三元運算符,這很容易解決。你可以用簡單的算術來做到這一點。 –

0

如果用戶給你0,你必須找到一種方法來否定TAX_RATE。這是一個簡單的數學運算,我們試圖提示你。

1

對於沒有ifswitch聲明決策最常用的選項是&&(「和」運營商),||(「或」運算符),?:(三元運算符),和*(乘法運算符)。

0

U可以更改等式:

一個= item_quantity * ITEM_PRICE *(1 + TAX_RATE);

公式中以這樣的方式添加應稅變量,當應納稅爲0,

公式變爲:

A = item_quantity * ITEM_PRICE