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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wypyr
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 19
#1

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

02.09.2013, 23:45. Просмотров 1027. Ответов 3
Метки нет (Все метки)

Здравствуйте, уважаемые Программисты. Я учусь на первом курсе, поэтому я еще новичок. Прошу вашей помощи в модификации программы. Тут у меня программа на английском. Задание таково:

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

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 для ширины каждой колонки. Ширина должна превышать вывод.

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

В чем разница между "Порядок выполнения программ на языке C" и "Структура программы на языке C" - C++
в конспектах у себя не нашел, хоть и записывал все, что объяснял преподаватель. вот, собственно, сам вопрос: Структура программы на...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в &quot;код операции&quot;; обнаружено...

Класс "Задание" - Перенос "выполненного" задания из одного списка в другой - C++
Вопрос из &quot;базового курса&quot;. Код: #include&lt;iostream&gt; using namespace std; class Stack; class Datetime { int day; int month; ...

Наследование классов "Заявка", "Техническое задание", "Техническое предписание" - C++
Создать базовый класс ТЕХНИЧЕСКОЕ ЗАДАНИЕ со свойствами: номер, описание и методами: вывести всю информацию об объекте, добавить описание....

Дайте ссылку на книгу "C++ For Dummies: Stephen R. Davis" 4е издание на английском - C++
У меня уже есть русская книга 4 е издание хочу еше подучить и английский дайте ссылку на английскую версию этой книги желательно 4е издание

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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 использовать для квадрата, да и вообще целых степеней. Он создан для дробных степеней и с целыми работает неэффективно.
1
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
03.09.2013, 00:50 #3
Цитата Сообщение от wypyr Посмотреть сообщение
6. После завершения расчетов, отобразите все вводные и выводные значения начиная с названия и формата, используя 2-колонки, как показано ниже (заметьте левое и правое выравнивание):
C++
1
2
3
#include  <iomanip.h>‎
 
cout << setw(10) << "Текст ваш текст" << endl;
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
03.09.2013, 02:33 #4
Цитата Сообщение от wypyr Посмотреть сообщение
Я учусь на первом курсе, поэтому я еще новичок

Не по теме:

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

2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 02:33
Привет! Вот еще темы с ответами:

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.09.2013, 02:33
Ответ Создать тему
Опции темы

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