Форум программистов, компьютерный форум CyberForum.ru

Задание "Заказ пиццы" (на английском языке) - C++

Восстановить пароль Регистрация
 
wypyr
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 19
02.09.2013, 23:45     Задание "Заказ пиццы" (на английском языке) #1
Здравствуйте, уважаемые Программисты. Я учусь на первом курсе, поэтому я еще новичок. Прошу вашей помощи в модификации программы. Тут у меня программа на английском. Задание таково:

Я написал программу самостоятельно, и вот, что у меня получилось:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
const double PI = 3.14159; //математическая постоянная Пи
const double SLICE_AREA = 14.125;//постоянная, утверждающая площадь каждого куска
const int AVG_SLICES_PER_PERSON = 4; //постоянная, утверждающая, что в среднем один человек ест 4 куска пиццы
 
int main() {
 
    double pizzaDiameter; //диаметр пиццы (ввод)
    double pizzaRadius; //радиус пиццы (половина диаметра; для облегчения работы с pow функцией)
    double area; //площадь пиццы
    int numSlices; //количество кусков в одной пицце (вывод)
    int numPersons; //количество людей которые придут на "вечеринку"
    double totalSlices; //общее количество кусков пиццы (если один человек в среднем ест 4 куска)
    double numPizzas; // количество пицц, нужной для того, чтобы прокормить всех людей (вывод)
    
 
    cout << "Number of People: "; //количество людей, которые придут на "вечеринку"
    cin >> numPersons; 
 
    cout << "Pizza Diameter: "; //диаметр пиццы
    cin >> pizzaDiameter; 
 
    pizzaRadius = pizzaDiameter/2; //радиус пиццы
 
    area = PI * pow (pizzaRadius, 2); //площадь пиццы
 
    numSlices = area/SLICE_AREA; //количество кусков в одной пицце
 
    cout << "Slices per Pizza: " << numSlices; //вывод количества кусков в одной пицце на дисплей
    cout << endl; 
 
    totalSlices = numPersons * AVG_SLICES_PER_PERSON; //рассчет общего количества кусков пиццы (если один человек в среднем ест 4 куска)
 
    numPizzas = totalSlices/numSlices; // рассчет количества пицц, нужной для того, чтобы прокормить всех людей
 
    cout << "Number of Pizzas: " << numPizzas; //вывод количества пицц
    cout << endl; 
 
 
 
    system("pause");
    return 0; 
}
Программа работает. Но моя училка хочет, чтобы я ее модифицировал. Вот ее правила:

1. Сделать программу итеративной (повторяющейся) для того, чтобы пользователь мог вводить несколько наборов данных, завершающейся, когда пользователь введет sentinel value -1 на количество людей (numPersons). Нужно иметь только 2 вводных значений - numPersons и pizzaDiameter.

2. Использовать именованные постоянные (constants) для ВСЕХ переменных, значение которых не будет меняться во время программы. НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ! (я эту часть уже сделал)

3. Задать тип int для всех вводных и выводных переменных.
Рассчитайте количество кусков пиццы (numSlices) и количество пиццы (numPizzas) до целого числа, но программа должна отображать numSlices и numPizzas с одним значением после запятой (т.е. функция setprecision).

4. Используйте функцию pow для нахождения площади пиццы (area). Так как Visual Studio требует, чтобы первый аргумент в функции pow был double, используйте Приведение Типа (type casting) для промежуточных процессов.

5. Используйте Modulus Operator % в части программы, когда вы находите количество пиццы (numPizzas).

6. После завершения расчетов, отобразите все вводные и выводные значения начиная с названия и формата, используя 2-колонки, как показано ниже (заметьте левое и правое выравнивание):

C++
1
2
3
4
5
6
     Party Pizza Requirements:
           
             Number Of People:         20
             Pizza Diameter:            9
             Slices per Pizza:        4.0
             Number Of Pizzas:       20.0
Используйте setw для ширины каждой колонки. Ширина должна превышать вывод.

Помогите пожалуйста. Буду очень благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2013, 23:45     Задание "Заказ пиццы" (на английском языке)
Посмотрите здесь:

Есть в языке "С" аналоги функций Pos() и Delete()? C++
В произвольной тексте на русском языке вывести строки, содержащие более 5 букв "о" C++
Вопросы по книге С. Бобровского "Самоучитель программирования на языке С++" C++
Нужен диск, что шел с книгой "Ф. Глассборо, Р. Аллен. Как научиться программировать на языке C++" C++
C++ Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста
C++ Дайте ссылку на книгу "C++ For Dummies: Stephen R. Davis" 4е издание на английском
Задание: разработать "Интерпретатор языка". С чего начать? C++
Программа "Комплексные числа" на языке программирования С++ C++
C++ Олимпиадное задание "Сильные мира сего"
"Кто хочет стать миллионером?" на языке C++ C++
C++ Синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"
Реализация команды "tail" на Windows на языке C++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
03.09.2013, 00:41     Задание "Заказ пиццы" (на английском языке) #2
Цитата Сообщение от wypyr Посмотреть сообщение
4. Используйте функцию pow для нахождения площади пиццы (area). Так как Visual Studio требует, чтобы первый аргумент в функции pow был double, используйте Приведение Типа (type casting) для промежуточных процессов.
Оно автоматом скастит. Если хочется просто написать лишний код, то
C++
1
static_cast<double>(переменная)
Вообще не советую pow использовать для квадрата, да и вообще целых степеней. Он создан для дробных степеней и с целыми работает неэффективно.
Bend3r
 Аватар для Bend3r
144 / 131 / 18
Регистрация: 29.07.2012
Сообщений: 704
03.09.2013, 00:50     Задание "Заказ пиццы" (на английском языке) #3
Цитата Сообщение от wypyr Посмотреть сообщение
6. После завершения расчетов, отобразите все вводные и выводные значения начиная с названия и формата, используя 2-колонки, как показано ниже (заметьте левое и правое выравнивание):
C++
1
2
3
#include  <iomanip.h>‎
 
cout << setw(10) << "Текст ваш текст" << endl;
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
03.09.2013, 02:33     Задание "Заказ пиццы" (на английском языке) #4
Цитата Сообщение от wypyr Посмотреть сообщение
Я учусь на первом курсе, поэтому я еще новичок

Не по теме:

а какая связь между опытом программиста и курсом ВУЗа?

Yandex
Объявления
03.09.2013, 02:33     Задание "Заказ пиццы" (на английском языке)
Ответ Создать тему
Опции темы

Текущее время: 00:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru