С помощью других, я переделал код с нуля из-за них, указав многочисленные ошибки и все, что не сработает. Таким образом, я изменил код в массовом порядке.струнная программа для магазина мороженого (Отредактировано снова)
У меня есть программа, которая отличается от двух настроек форматирования, и я не могу понять, как работать.
Мне нужно только распечатать «DAILY SCOOP REPORT» один раз в верхней части вывода, но я переместил его, но из-за того, как настроены массивы, я не знаю, куда его поместить.
Вот мой код:
#include <iostream>
включает
включает
включают
включают
включаютс использованием namespace std;
int main() { string flavor_input, Capitalize; струнные ароматы [] = {«Шоколад», «Ваниль», «Клубника», «Монетный двор», «Роки-роуд», «Мокка»}; int scoop_count [6] = {0, 0, 0, 0, 0, 0}, scoops = 0, j, k;
bool valid_option;
cout << "Welcome to Frozen Tongue Ice Cream Shop\n"<<endl;
cout << "Flavors avaliable: "<<endl;
cout << "Chocolate "<<endl;
cout << "Valnilla "<<endl;
cout << "Strawberry "<<endl;
cout << "Mint "<<endl;
cout << "Rocky Road "<<endl;
cout << "Mocha \n"<<endl;
while(true) {
cout << "Please enter the flavor of icecream sold or 'STOP' to exit.\n"<<endl;
getline (cin, flavor_input); // getline causes rocky road to be accepted with a space between the words.
string::iterator it(flavor_input.begin()); //converting the first letter of input to uppercase if not already.
if (it != flavor_input.end())
flavor_input[0] = toupper((unsigned char)flavor_input[0]);
while(++it != flavor_input.end())
{
*it = tolower((unsigned char)*it);
}
if (flavor_input == "STOP" || flavor_input == "Stop")
break;
valid_option = false;
for(int i=0;i<6;i++) //Checks to see if input matches those of possible inputs.
if(!flavor_input.compare(flavors[i]))
{
valid_option = true;
break;
}
if(!valid_option)
{
cout << "Invalid Flavor. Try again.\n\n";
flavor_input.clear();
continue;
}
for(int i=0;i<6;i++)
{
if(!flavor_input.compare(flavors[i]))
{
cout << "Enter how many scoops were sold: ";
cin >> scoops;
cin.ignore();
scoop_count[i] += scoops;
scoops = 0;
cout << '\n';
break;
}
}
}
for(int i=0;i<6;i++)
{
if(!scoop_count[i])
continue;
else
{
cout << "\nDAILY SCOOP REPORT: "<<endl;
cout << setiosflags(ios::left)
<< setw(11) << flavors[i]
<< resetiosflags(ios::left)
<< setw(4) << scoop_count[i] << endl;
}
}
cin.get();
return 0;
}
Еще раз спасибо за все помощи. Это очень ценно.
Спасибо всей помощи и указал мне в направлении того, что учиться, я программа завершены, кроме одной последней части.
Я выяснил, почему он не работал, когда я переместил строку «DAILY SCOOP REPORT». Я переименовал файл, и когда я его скомпилировал, он выдавал «последнюю рабочую конфигурацию», если это имеет смысл. Поэтому я создал новый проект (файл .cpp должен иметь определенное имя для отправки) и поместить в него код. Теперь строка печатается только один раз.
В нижнем кодовом блоке у меня есть он, где он опускает корпус для всех других букв, кроме первого или около того, как это кажется. Причина, по которой я имею дело, кодирующую то, как я это делаю, заключается в том, что инструкции требуют, чтобы отчет о вкусе распечатывался с первой буквой каждого слова и ниже. Я собираюсь изучить, как укусить 2-й «R» в Rocky Road, но кроме игнорирования пробела я действительно не знаю, как это сделать. Нужно ли разбирать строку?
Любой, кто указал бы мне в правильном направлении, был бы оценен.
Я пробовал, но он дает ошибку, что в первом случае "синтаксическая ошибка: идентификатор" flavor_input ".
//converting the first letter of input to uppercase if not already.
string :: iterator it (flavor_input.начать());
if flavor_input = "rocky road"
(it != flavor_input.end())
flavor_input[6] = toupper((unsigned char)flavor_input[6]);
if (it != flavor_input.end())
flavor_input[0] = toupper((unsigned char)flavor_input[0]);
while(++it != flavor_input.end())
{
*it = tolower((unsigned char)*it);
}
Вы говорите, что вы не можете получить программу для компиляции. Пожалуйста, опубликуйте ошибки компилятора. Кроме того, это домашнее задание? – atk
Это должно быть помечено как задание домашней работы. –
+1 для совершения покупок перед публикацией. –