我希望有人可以帮助我。以下是我目前的代码。请保持温和,这是我在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";
}
答案 0 :(得分:0)
要清除的项目数量最多是多少?...我认为它是100 ..而不是制作一个字符数组,你可以创建一个字符串数组,所以将行char itemName[25];
更改为{{ 1}}然后在for循环中将itemname的输入和输出更改为string itemName[100];
然后你可以这样输出项目的名称:
cin >> itemName[i];
cout << "What is the unit price for " << itemName[i] << "? ";