带有用户输入的C ++文本数组,然后打印输入

时间:2017-09-16 03:52:22

标签: c++ arrays

我希望有人可以帮助我。以下是我目前的代码。请保持温和,这是我在C ++中的第一个程序,自从我上次接触C以来已经有一年了。是的,这是为了做作业〜我已经用这个页面足以知道它被问了很多;)< / p>

我遇到的问题是什么,并且正在努力寻找适合它的方面,我如何创建一个数组来存储用户输入文本?

从代码流程中可以看出:我询问用户想要购买多少件物品...然后指示循环,询问用户购买的商品名称,每件商品的成本以及总数数量。我对数学部分很好〜我已经购买了总项目并且运行小计打印非常准确。但是,我想要做的是按顺序打印所购买商品的名称。

当前代码输出:

How many items do you want to enter? 3
What is the item name? Honey
What is the unit price for Honey? 5.99
How many purchased? 3
What is the item name? Milk
What is the unit price for Milk? 2.79
How many purchased? 2
What is the item name? chocolate
What is the unit price for chocolate? 1.97
How many purchased? 5

Bill Date: 
Items Purchased: 10
Subtotal: 33.4

在“Bill Date”和“Items Purchased”之间,我想逐行列出(3)购买的商品:蜂蜜,牛奶和巧克力。这是项目名称的存储并递增它,我非常坚持。如果有人能指出我正确的方向,我将非常感激。而且,你解释的方式和原因越长,对我来说就越好。文本/字符数组和我只是熟人,而数字int数组和我喝酒的朋友。

谢谢!! :d

所需的代码输出:

Bill Date: 
Honey
Milk
chocolate
Items Purchased: 10
Subtotal: 33.4

我的代码:

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <cstring>
#include <time.h>

using namespace std;

int main()
{
    int itemCount = 0, i, itemQty;
    int numOfItems = 0;
    char itemName[25];
    double itemCost;
    double itemSub;
    double subtotal = 0;

    cout << "How many items do you want to enter? ";
    cin >> itemCount;

for(i = 0; i < itemCount; i++)
{
    cout << "What is the item name? ";
    cin >> itemName;
    cout << "What is the unit price for " << itemName << "? ";
    cin >> itemCost;
    cout << "How many purchased? ";
    cin >> itemQty;

    numOfItems = numOfItems + itemQty;
    itemSub = itemQty * itemCost;
    subtotal = subtotal + itemSub;
}

cout << "\n\tItems Purchased: " << numOfItems;
cout << "\n\tSubtotal: " << subtotal << "\n";
}

1 个答案:

答案 0 :(得分:0)

要清除的项目数量最多是多少?...我认为它是100 ..而不是制作一个字符数组,你可以创建一个字符串数组,所以将行char itemName[25];更改为{{ 1}}然后在for循环中将itemname的输入和输出更改为string itemName[100]; 然后你可以这样输出项目的名称:

cin >> itemName[i];
    cout << "What is the unit price for " << itemName[i] << "? ";