Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
11 / 11 / 0
Регистрация: 24.10.2011
Сообщений: 149
1

Задачка из учебника..

16.02.2012, 03:59. Показов 2300. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно условие:
Из-за высокой цены на бензин водители озабочены затратами топлива своих автомобилей. Одтн водитель взял в рейс несколько емкостей бензина, заприсывая пройденные мили и бензин, использованный из каждой ескости. Разрабтайте программу на С++, которая вводила бы пробег в милях и бензин, использованный из каждой емкости. После ввода исходных данных программа должна расчитать и напечатать значение среднего числа миль на галлон, полученное для всех емкостей. Пример вывода:
Введите расход бензина (-1, если ввод закончен): 12,8
Введите пройденный путь: 287
Для этой емкости получено миль/галлон: 22,421875

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

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

Средний расход бензина: 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
#include <iostream>
#include <iomanip.h>
 
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    float count, g=0, m=0, sum1=0,sum2=0, mg=0;
    
    do{
        cout << "Виедите расход бензина (-1 если ввод закнчен): ";
        cin >> g;
    
        if (g!=-1){
            sum1 = sum1 + g;
            
                cout << "Введите пройденный путь: ";
                cin >> m;
                
                sum2 = sum2 + m;
                
                mg = m / g;
                cout << "Для этой емкости получено миль /галлон: " << setprecision(6)
                << setiosflags(ios::fixed|ios::showpoint) 
                << mg <<endl;
        
        }
    
    }
    while (g!=1)  
count = sum1 / sum2;
    
cout << "Средний расход бензина: " << setprecision (6)
        << setiosflags (ios::fixed|ios::showpoint)
        << count << endl;
        
        return 0;
}
но при компиляции выдает ошибки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
In file included from c:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/backward/iomanip.h:31,
                 from main.cpp:2:
c:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
main.cpp: In function `int main()':
main.cpp:33: error: expected `;' before "count"
main.cpp:40:2: warning: no newline at end of file
make[2]: *** [build/Debug/MinGW_1-Windows/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
 
 
ПОСТРОИТЬ FAILED (значение выхода 2, общее время: 880мс)
В чем беда?..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 03:59
Ответы с готовыми решениями:

Задачка из учебника второго класса!
Доброго вечера программисты. Тут такй вопрос назрел в учебнике по математике за второй класс. Даже...

Задачка из учебника. Почему ругается компилятор?
Добрый день, встретила задачку в учебнике, решила проверить ее на практике. Вроде бы все правильно...

Задачка с массивом и задачка с формулами Ньютона и Лагранжа
Прошу помочь решить две задачи

Алгоритмы из учебника
задача: допустим мы сравниваем сортировка ставками как 8*n^2 ходов, а сортировка слиянием как...

9
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.02.2012, 07:24 2
Цитата Сообщение от Гортор Посмотреть сообщение
В чем беда?..
в том, что кто-то не хочет читать сообщения об ошибках. В конце 32 строки поставь «;».
И да, заголовочные файлы с расширением *.h устарели с точки зрения актуальных стандартов языка. Так что используй iomanip вместо iomanip.h
0
11 / 11 / 0
Регистрация: 24.10.2011
Сообщений: 149
16.02.2012, 13:17  [ТС] 3
Nameless One, не не хочу, а не понимаю эти сообщения.... спасибо...
Цитата Сообщение от Nameless One Посмотреть сообщение
заголовочные файлы с расширением *.h устарели
Без .h выдает ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
main.cpp: In function `int main()':
main.cpp:22: error: `setprecision' was not declared in this scope
main.cpp:23: error: `ios' has not been declared
main.cpp:23: error: `fixed' was not declared in this scope
main.cpp:23: error: `ios' has not been declared
main.cpp:23: error: `showpoint' was not declared in this scope
main.cpp:23: error: `setiosflags' was not declared in this scope
main.cpp:36: error: `setprecision' was not declared in this scope
main.cpp:37: error: `ios' has not been declared
main.cpp:37: error: `fixed' was not declared in this scope
main.cpp:37: error: `ios' has not been declared
main.cpp:37: error: `showpoint' was not declared in this scope
main.cpp:37: error: `setiosflags' was not declared in this scope
main.cpp:41:2: warning: no newline at end of file
make[2]: *** [build/Debug/MinGW_1-Windows/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
 
 
ПОСТРОИТЬ FAILED (значение выхода 2, общее время: 1s)
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.02.2012, 13:24 4
Цитата Сообщение от Гортор Посмотреть сообщение
Без .h выдает ошибку.
значит, очень старая версия MinGW. Либо пути к заголовочным файлам указаны неправильно
1
139 / 60 / 13
Регистрация: 04.09.2011
Сообщений: 1,956
Записей в блоге: 1
16.02.2012, 13:32 5
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
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    float g;
    float m=0, sum1=0,sum2=0, mg=0;
    
    do{
        cout << " ";
        cin >> g;
    
        if (g!=-1){
            sum1 = sum1 + g;
            
                cout << "??????? ?????????? ????: ";
                cin >> m;
                
                sum2 = sum2 + m;
                
                mg = m / g;
                cout << "??? ???? ??????? ???????? ???? /??????: " << setprecision(6)
                << setiosflags(ios::fixed|ios::showpoint) 
                << mg <<endl;
        
        }
    
    }
    while (g!=1);  
float vstsumma=0;
    vstsumma= sum1 / sum2;
    
cout << "??????? ?????? ???????: " << setprecision (6)
        << setiosflags (ios::fixed|ios::showpoint)
        << vstsumma << endl;
        
return 0;
}
0
11 / 11 / 0
Регистрация: 24.10.2011
Сообщений: 149
16.02.2012, 14:41  [ТС] 6
Sylar9, зачем было переписывать мой код?

Добавлено через 16 минут
Nameless One, вобновил MinGW, теперь воспринимает без *.h, но приходится перед каждым манипулятором вывода ставить std::*
0
1 / 1 / 0
Регистрация: 12.11.2011
Сообщений: 11
16.02.2012, 14:51 7
прописав using namespace std вначале, всеравно требуется вызывать через доступ к пространству имен?
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.02.2012, 17:16 8
Цитата Сообщение от Гортор Посмотреть сообщение
Nameless One, вобновил MinGW, теперь воспринимает без *.h, но приходится перед каждым манипулятором вывода ставить std::*
так и должно быть. Если же лень явно указывать каждый раз пространство имен, то можно:
  • использовать все имена (идентификаторы) из пространства имен std: using namespace std; (не рекомендуется, т.к. при этом «засоряется» глобальное пространство имен);
  • использовать только те имена из std, которые необходимы в данном коде:
    C++
    1
    2
    
    using std::setiosflags;
    using std::ios;
0
11 / 11 / 0
Регистрация: 24.10.2011
Сообщений: 149
16.02.2012, 20:25  [ТС] 9
Nameless One, ну это я знаю. про вызов всех имен читал на форуме, что может быть неправильное восприятие класса, одноименного с фунцией. поэтому предпочитаю заранее прописывать (или не прописывать, если используется один раз) используемые имена.
0
saloedik
16.04.2012, 21:02 10
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
// Упражнение 2.16 расход бензина.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "iostream"
#include "iomanip"
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{   float rashod, rastojanie, kolichestvoVvodov = 0, sum = 0, srednee;
    cout << "Vvedite rashod benzina(-1, esli vvod okonchen): ";
    cin >> rashod;
    while (rashod != -1){
        cout << "Vvedite projdenoe rastojanie: ";
        cin >> rastojanie;
        cout << "Rashod dlja etogo baka " << setiosflags(ios::fixed | ios::showpoint) << setprecision(6) << rastojanie / rashod << " m/g" << endl;
        kolichestvoVvodov += 1;
        sum += (rastojanie / rashod);       
        cout << "Vvedite rashod benzina(-1, esli vvod okonchen): ";
        cin >> rashod;
 
        
        }
    if (kolichestvoVvodov ==0)
        cout << "vi ni4ego ne vveli"<< endl;
    else {      
    srednee = sum / kolichestvoVvodov;
    cout << "Sredniu rashod " << setiosflags(ios::fixed | ios::showpoint) << setprecision(6) << srednee << " m/g" << endl;
    }
    system("pause");
    return 0;
}
Вот такое вот решение у меня
Работает четко

P.S.: Только начинаю осваивать С++
16.04.2012, 21:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2012, 21:02
Помогаю со студенческими работами здесь

Поиск учебника
Ищу учебник OpenGL C++, посоветуйте что-нибудь, как для новичков, так и для опытных программистов....

С программа с учебника
вот код из учебника C\C++ #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &quot;dos.h&quot; void main()...

игра из учебника
столкнулся с проблемой при изучении php. в одной книге представлен пример написания игры сколько...

Пример из учебника
Добрый вечер! Пишу пример: class Box { double width; double height; double depth; //метод...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru