【发布时间】:2014-03-15 23:38:27
【问题描述】:
我被分配了一个问题域。编写一个程序,询问用户他想购买哪些水果以及数量。根据用户的输入,它产生一个账单。 交互示例: 你要买水果吗?是的
什么水果?橙色
多少磅? 2
您要购买其他水果吗?是的
什么水果?苹果
多少磅? 1.5
您要购买另一种水果吗?没有
感谢您的光临。
这是您的帐单:
每磅价格的水果数量价格
橙色 2 磅 1.5 3
苹果 1.5 磅 2 3
总金额 6
#include <iostream>
#include <string>
using namespace std;
struct fruitData
{
string fruitName;
float price;
};
struct invoiceData
{
char fruit_ordered;
float price1;
float quantity_ordered;
float totalFruitprice;
} ;
int main()
char choice;
string fruit_choice;
float pounds_choice;
int count=0;
fruitData fruits[5];
invoiceData customers[5];
strcpy(fruits[0].fruitName, "Banana");
strcpy(fruits[1].fruitName, "Apple");
strcpy(fruits[2].fruitName, "Pears");
strcpy(fruits[3].fruitName, "Oranges");
strcpy(fruits[4].fruitName, "Papaya");
fruits[0].price=1;
fruits[1].price=2;
fruits[2].price=2.5;
fruits[3].price=1.5;
fruits[5].price=1.40;
strcpy(customers[0].fruitName, "Banana");
strcpy(customers[1].fruitName, "Apple");
strcpy(customers[2].fruitName, "Pears");
strcpy(customers[3].fruitName, "Oranges");
strcpy(customers[4].fruitName, "Papaya");
customers[0].price=1;
customers[1].price=2;
customers[2].price=2.5;
customers[3].price=1.5;
customers[4].price=1.40;
cout << "Welcome to the fruit market" << endl;
cout << "Would you like to purchase fruit?" << endl;
cin >> choice >> endl;
while (choice == 'Y')
{
cout << "Which fruit?" << endl;
cin >> fruit_choice >> endl;
cout << "How many pounds?" << endl;
cin >> pounds_choice >> endl;
if (fruit_choice == "Banana")
{
customers[0].quantity_ordered = pounds_choice;
customers[0].total_price = customers[0].quantity_ordered * customers[0].price;
}
else if (fruit_choice == "Apple")
{
customers[1].quantity_ordered = pounds_choice;
customers[1].total_price = customers[1].quantity_ordered * customers[1].price;
}
else if (fruit_choice == "Pears")
{
customers[2].quantity_ordered = pounds_choice;
customers[2].total_price = customers[2].quantity_ordered * customers[2].price;
}
else if (fruit_choice == "Oranges")
{
customers[3].quantity_ordered = pounds_choice;
customers[3].total_price = customers[3].quantity_ordered * customers[3].price;
}
else (fruit_choice == "Papaya")
{
customers[4].quantity_ordered = pounds_choice;
customers[4].total_price = customers[4].quantity_ordered * customers[4].price;
}
}
for (count = 1 ; count <=5 ; count++)
{
if (customers[0].total_price != 0)
{
cout << customers[0].fruit_name <<
cout << customers[0].quantity_ordered <<
cout << customers[0].price <<
cout << customers[0].total_price <<
}
}
}
我遇到了很多错误。其中一个是“string fruit_chioce”中的字符串并没有像它应该的那样变成蓝色。并且编译器说字符选择应该以“;”开头.我也无法为这些结构关联一个数组。任何帮助将不胜感激,谢谢。
【问题讨论】:
-
对于初学者来说没有开放 { for main()。
-
fruits[5] 和 fruits[5] 一样。价格超出范围。
-
您不能(轻松)混合 C++ 字符串和“C”字符串。坚持使用 C++。尝试
fruits[0].fruitName = "Banana"等。或者更好,将数组初始化为fruitData fruits[] = { "Banana", "Apple", ... }; -
建议:重新检查所有代码。有很多问题不仅仅是你问的。未完待续。