2016-10-19 75 views
0

我是編程的2天新聞,這是我的第一篇文章,所以我非常感謝您的幫助和耐心。 :)(C++)第一次迭代後,我列中的行沒有出現

我目前的任務是讓用戶輸入從商店購買的2件商品,包括價格和數量,以生成收據。出於某種原因,我無法讓我的任何代碼在第一個項目的信息顯示後顯示。

pic of problem

#include <iostream> 
#include <iomanip> // For column organization 
#include <string> // For item names 

using namespace std; 

const float TAX = 0.08675; 

int main() 
{ 


    string itemOne, itemTwo; 
    double priceOne, priceTwo; 
    int countOne, countTwo; 


    cout << "Hello, what is the first item that you are purchasing today?" << endl; 
    cout << "Please enter the item below." << endl; 
    getline(cin, itemOne); 

    cout << endl << "Thank you." << endl; 
    cout << "Now enter the price and then the quantity of " + itemOne + "(s) purchased, separated by a space." << endl; 
    cin >> priceOne >> countOne; 
    cin.ignore(); 

    cout << endl << "What is the second item that you are purchasing today?\n"; 
    cout << "Please enter the item below." << endl; 
    getline(cin, itemTwo); 

    cout << endl << "Thank you." << endl; 
    cout << "Now enter the price and then the quantity of " + itemTwo + "(s) purchased, separated by a space." << endl; 
    cin >> priceTwo >> countTwo; 

/* Calculations for the Receipt */ 

    float subTotal, finalPriceOne, finalPriceTwo, salesTax, finalTotal; 

    finalPriceOne = countOne * priceOne; 
    finalPriceTwo = countTwo * priceTwo; 
    subTotal = finalPriceOne + finalPriceTwo; 
    salesTax = subTotal * TAX; 
    finalTotal = subTotal + salesTax; 

    /* Receipt */ 

    cout << endl << "Your receipt has been calculated and is for your viewing below..." << endl << endl; 

    cout << "---------------------------------------------------------------\n"; 

    cout << left << setw(15) << "Item"; 
    cout << right << setw(15) << "Quantity"; 
    cout << right << setw(15) << "Price"; 
    cout << right << setw(15) << "Ext. Price"; 
    cout << endl; 

    cout << "---------------------------------------------------------------\n"; 

    cout << setprecision(2) << fixed; 

    cout << left << setw(15) << itemOne; 
    cout << right << setw(15) << countOne; 
    cout << right << setw(15) << priceOne; 
    cout << right << setw(15) << finalPriceOne; 
    cout << endl; 

    cout << left << setw(15) << itemTwo; 
    cout << right << setw(15) << countTwo; 
    cout << right << setw(15) << priceTwo; 
    cout << right << setw(15) << finalPriceTwo; 
    cout << endl; 

    cout << left << setw(15) << "Tax"; 
    cout << right << setw(15) << salesTax; 
    cout << endl; 

    cout << left << setw(15) << "Total"; 
    cout << right << setw(15) << finalTotal; 
    cout << endl; 


    return 0; 
} 
+0

你可以顯示輸出([編輯]問題)? –

+0

我添加了一個圖片鏈接到我的文章。 – herryJan

+0

好的,你必須通過endl,因爲標準輸出將被刷新。現在不是。 –

回答

0

在我的計算機(Windows G ++代碼塊),一切都很好。問題肯定來自您的IDE。這裏是你的代碼輸出在我的屏幕上: enter image description here

僅供參考,嘗試使用C++功能作爲POO來設計你的對象。編碼更大的應用程序時,對您來說會更容易。

+0

謝謝!我的老師爲windows推薦了代碼塊,爲mac推薦了xcode,但是我會推薦另一個IDE。 – herryJan

+0

另外,如何在「分機價格」的下方調整我的「稅」和「全部」號碼? – herryJan

+0

把稅號和總數換成setw(45)而不是setw(15): 'cout << left << setw(45)<<「Tax」; cout << right << setw(15)<< salesTax; cout << endl; cout << left << setw(45)<<「Total」; cout << right << setw(15)<< finalTotal; cout << endl;' – Abel

0

我想你的執行只是暫停在endl的第二個項目的斷點。如果你經過它(或者只是刪除斷點),第二項的整行是否出現?如果是這樣,那是因爲有一種叫做「行緩衝」的東西,在你告訴它的時候程序並沒有真正輸出,而是直到它看到一個行結束,然後輸出整行。 (斷點,萬一偶然發生了斷點,它是交互式調試系統的一個特性,在這種系統中,在執行給定的代碼行之前可以讓整個程序暫停,它們通常通過右鍵菜單設置在IDE中,單擊菜單或點擊代碼行旁邊的空白處。)

相關問題