
C/C++
C++ задача использующая Switch

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
double price(int id){
switch (id){
case 1: return 2.98;
case 2: return 4.50;
case 3: return 9.98;
case 4: return 4.49;
case 5: return 6.87;
default: return 0;
}
}
int main(){
setlocale(LC_ALL, "Russian");
int count;
cout << "Общее количество продаж: ", cin >> count;
double total = 0;
for(int i = 0, id, cnt; i++ < count; total += price(id) * cnt)
cout << "Продажа №" << setw((int)log10(count) + 1) << i << ": ", cin >> id >> cnt;
cout << "Общая стоимость: $" << total << endl;
cin.ignore();
cin.get();
return 0;
}
UPD ==========================================
>2,51 нужен а не 2,49
>Модифицируйте программу рис. 2.21...
Погоди минуту, я вхожу в транс. Ясно вижу что в твоём учебнике вырван лист с рисунком 2.21...
#include <iomanip>
#include <iostream>
using namespace std;
double price(int id){
switch (id){
case 1: return 2.98;
case 2: return 4.50;
case 3: return 9.98;
case 4: return 4.49;
case 5: return 6.87;
default: return 0;
}
}
int main(){
setlocale(LC_ALL, "Russian");
int count;
cout << "Общее количество продаж: ", cin >> count;
double total = 0;
for(int i = 0, id, cnt; i++ < count; total += price(id) * cnt)
cout << "Продажа №" << setw((int)log10(count) + 1) << i << ": ", cin >> id >> cnt;
cout << "Общая стоимость: $" << total << endl;
cin.ignore();
cin.get();
return 0;
}
UPD ==========================================
>2,51 нужен а не 2,49
>Модифицируйте программу рис. 2.21...
Погоди минуту, я вхожу в транс. Ясно вижу что в твоём учебнике вырван лист с рисунком 2.21...
К слову, задача не очень качественная. Switch в данной ситуации использовать неуместно, т. к. для всех продуктов логика вычислений абсолютно одинакова. Цены можно было занести в какой-нибудь контейнер и доставать по индексу.
Василий Никитин
да запросто в массив забить
На Степике в комментариях к задачам люди живо делятся опытом и дают советы.
Вот Вам ссылка на один из таких советов. Кстати, этот совет не главный и не единственный, но по-моему ценный.
https://stepik.org/lesson/13024/step/6?discussion=1329273&unit=4376
Примечание: хорош этот курс или отстойный — и думать не стану. Мне импонирует то, что в комментариях выражаются хорошие люди.
К сожалению страницы Степика грузятся безбожно долго, так как это псевдостраницы.
Вот Вам ссылка на один из таких советов. Кстати, этот совет не главный и не единственный, но по-моему ценный.
https://stepik.org/lesson/13024/step/6?discussion=1329273&unit=4376
Примечание: хорош этот курс или отстойный — и думать не стану. Мне импонирует то, что в комментариях выражаются хорошие люди.
К сожалению страницы Степика грузятся безбожно долго, так как это псевдостраницы.
Шынгыс Шатаев
А если Вы хотите сказать, что задача 6 шага это не то, что Вам нужно, значит Вы всё-таки потрудились прочитать условие задачи!
В таком случае прошу Вас перейти к шагу 7, это как раз задача со сложным процентом.
В таком случае прошу Вас перейти к шагу 7, это как раз задача со сложным процентом.
Шынгыс Шатаев
• ЧТО НЕСУЩЕСТВЕННО: вместо long total можно писать long long total
• ЧТО СУЩЕСТВЕННО: заголовок цикла может быть while (k--)
• ЧТО СУЩЕСТВЕННО: заголовок цикла может быть while (k--)
Шынгыс Шатаев
Приведение выражения к типу double можно опустить, поскольку один из членов выражения — вещественное число.
Также можно объявить процентную ставку с типом double.
Также можно объявить процентную ставку с типом double.
Похожие вопросы
- Помогите с кодом задачи c++. задача на фото
- C++ задача (на фотой)
- C++ задача (на фоте)
- C++ задача (на фото)
- C++ задача по контейнерам
- Составить программу C++, с помощью switch/case
- C++, как использовать информацию с сайта майкрософт
- [C++] Задача на структуры
- [C++] Задача на структуры
- C++ задача с массивом
>Модифицируйте программу рис. 2.21...
Погоди минуту, я вхожу в транс. Ясно вижу что в твоём учебнике вырван лист с рисунком 2.21...