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

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

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

Разработайте программу на С++, которая вводила бы пробег в милях и бензин, использованный из каждой емкости - C++

28.02.2014, 21:10. Просмотров 290. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста! Программа работает, но не правильно немного, с меткой проблемы, результат выводит не верно на последних шагах. Очень хочется понять свои ошибки, но сама не справлюсь.

Из-за высокой цены бензина водители озабочены затратами топлива своих автомобилей. Один водитель взял в рейс несколько емкостей бензина, записывая пройденные мили и бензин, использованный из каждой емкости. Разработайте программу на С++, которая вводила бы пробег в милях и бензин, использованный из каждой емкости. Программа должна рассчитывать и выводить на экран число миль на галлон для каждой емкости. После ввода исходных данных программа должна рассчитать и напечатать значение среднего числа миль на галлон, полученное для всех емкостей.

Пример вывода:

Введите расход бензина (-1, если ввод закончен): 12.8
Введите пройденный путь: 287
Для этой емкости получено миль / галлон 22.421875

Введите расход бензина (-1, если ввод закончен): 10.3
Введите пройденный путь: 200
Для этой емкости получено миль / галлон 19.417475

Введите расход бензина (-1, если ввод закончен): 5
Введите пройденный путь: 120
Для этой емкости получено миль / галлон 24.000000

Введите расход бензина (-1, если ввод закончен): -1

Средний расход бензина 21.601423

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <Windows.h>
 
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    
    int contentCounter = 0, //счетчик ёмкостей
        
        summ = 0;           //сумма     
    
 
    double  average,            //число с десятичной точкой для расхода бензина
            content,        //ёмкость
            mile,               //путь  
            x;              //путь / бензин
 
    //фаза обработки
    cout << "Введите расход бензина (-1, если ввод закончен): ";
    cin >> content;
    
    cout << "Введите пройденный путь: ";
    cin >> mile;
 
    x = mile / content;
 
    cout << "Для этой ёмкости получено миль / галлон " << setprecision(6)
         << setiosflags(ios::fixed | ios::showpoint) << x << endl;
 
    while (content != -1)
    {
        summ += content;
        contentCounter += 1;        
 
        cout << "Введите расход бензина (-1, если ввод закончен): "<< endl;
        cin >> content;
 
        cout << "Введите пройденный путь: " << endl;
        cin >> mile;
 
        x = mile / content;
 
        cout << "Для этой ёмкости получено миль / галлон " << setprecision(6)
             << setiosflags(ios::fixed | ios::showpoint) << x << endl;
    }
 
    //фаза завершения
    if (contentCounter != 0)
    {
        average = static_cast<double>(summ) / contentCounter;
        cout << "Средний расход бензина: " << setprecision(6)
            << setiosflags(ios::fixed | ios::showpoint)
            << average << endl;
    }
    else
        cout << "Нет введенных данных" << endl;
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 21:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разработайте программу на С++, которая вводила бы пробег в милях и бензин, использованный из каждой емкости (C++):

Разработайте программу на С, которая вводила бы пробег в милях и бензин, использованный из каждой емкости - C (СИ)
Всем привет! прошу строго не судить, помогите найти ошибку. Задача: Из-за высокой цены бензина водители озабочены затратами топлива...

Написать программу, которая бы вводила с клавиатуры строку, удаляла из нее 1-й и 3-й - Turbo Pascal
Написать программу, которая бы вводила с клавиатуры строку, удаляла из нее 1-й и 3-й символы и выводила результат на экран (использовать...

Написать программу, которая бы вводила число с экрана и анализировала его на делимость - Free Pascal
Написать программу, которая бы вводила число с экрана и анализировала его на делимость нацело на 2,3,5 и выводила на экран соответствующее...

Разработайте программу, которая выводит на экран коды следующихсимволов - Turbo Pascal
Разработайте программу, которая выводит на экран коды следующих символов, введённых с клавиатуры: a)Десятичные цифры 0,1,2..., 9; ...

Разработайте программу-органайзер, которая выполняет указанные функции - Delphi
В программу можно вносить данные людях: фамилия, имя, отчество, дата рождения (из календаря); на выбранную дату календаря программа выводит...

Разработайте программу, которая находит все разбиения заданного числа - Delphi
нужно оформить на формах, и с процедурами. Разработайте программу, которая находит все разбиения заданного числа.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
28.02.2014, 21:48 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
48
49
50
#include <iostream>
#include <Windows.h>
 
#include <iomanip>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    double distance = 0, //счетчик расстояния
        summ = 0;           //счетчик бензина   
 
 
    double  average,            //число с десятичной точкой для расхода бензина
        content=0,        //ёмкость
        mile,               //путь  
        x;              //путь / бензин
 
    //фаза обработки
 
    while (1)
    {
        cout << "Введите расход бензина (-1, если ввод закончен): ";
        cin >> content;
        if (content == -1) break;
        summ += content;
        cout << "Введите пройденный путь: ";
        cin >> mile;
        distance += mile;
 
        x = mile / content;
 
        cout << "Для этой ёмкости получено миль / галлон " << setprecision(6)
            << setiosflags(ios::fixed | ios::showpoint) << x << endl;
    }
    //фаза завершения
    if (summ != 0)
    {
        average = distance / summ;
        cout << "Средний расход бензина: " << setprecision(6)
            << setiosflags(ios::fixed | ios::showpoint)
            << average << endl;
    }
    else
        cout << "Нет введенных данных" << endl;
    system("pause");
    return 0;
}
1
sophia1930
0 / 0 / 0
Регистрация: 02.09.2012
Сообщений: 7
28.02.2014, 22:46  [ТС] #3
Спасибо большое! Поняла фиху.)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 22:46
Привет! Вот еще темы с ответами:

Разработайте программу, которая, используя тип структура, формирует массив - C++
У меня есть задание: Разработайте программу, которая, используя тип структура, формирует массив данных о сотрудниках отдела, содержащий...

Разработайте программу, которая, используя тип структура, формирует массив - C++ - C++
Вновь создаю тему,потому что в прошлый раз никто,к сожалению,не откликнулся помочь. Есть у меня задание: Разработайте программу,...

Разработайте программу, которая формирует массив записей о студентах некоторой группы - C#
Разработайте программу, которая формирует массив записей о студентах некоторой группы, содержащий следующую информацию: фамилию, оценки за...

Разработайте программу, которая, используя тип структура, формирует массив данных - C#
Разработайте программу, которая, используя тип структура, формирует массив данных о сотрудниках отдела, содержащий следующую информацию:...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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