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

Непонятки с плавающей точкой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разработать шаблон класса для работы со стеком реализованным в виде связного списка http://www.cyberforum.ru/cpp-beginners/thread1134058.html
Разработать шаблон класса для работы со стеком реализованным в виде связного списка. Тип эле-ментов задается как параметр шаблона. Написать тестовую программу. stl
C++ Реализовать генератор случайных чисел линейным конгруэнтным способом Реализовать генератор случайных чисел линейным конгруэнтным способом посчитать дисперсию и мат ожидание,нарисовать графики проверить периодичность http://www.cyberforum.ru/cpp-beginners/thread1134048.html
Перегрузка оператора C++
Здравствуйте. Нужна помощь) Есть такой класс: class vect { public: float *items; vect() { items = new float; for(int i = 0;i<5;i++) items = 0;
C++ Табличный процессор
Нужно создать табличный процессор, который мог бы читать таблицы из файла, записать таблицы в файл, перемещать курсор по клеткам таблицы, запись в клетку числа, запись в клетку текста. Вопрос- с чего начать, (что почитать), как создать данную таблицу, что бы перемещался курсор и с помощью него реализовывались действия? В интернете ничего по этой теме не нашла. Буду благодарна за помощь. (так же...
C++ Создать класс Integral, в котором реализовано вычисление определенного интеграла методом прямоугольников, методом трапец http://www.cyberforum.ru/cpp-beginners/thread1134009.html
Должны быть реализованы безаргументные и инициализирующие конструкторы, в том числе конструктор с двумя аргументами – итераторами, конструктор копирования, деструктор, операция присваивания, ввод-вывод. Подходящие операции реализуются как методы класса, а остальные - как внешние дружественные функции. Должна быть поддержана обработка исключений по нехватке памяти: все конструкторы обязаны иметь...
C++ Нужен сборник задач по С++ Ребят, посоветуйте сборник задач по С++, на базе консольных приложений Желательно что бы задания были разного уровня сложности. Заранее спасибо :) подробнее

Показать сообщение отдельно
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8

Непонятки с плавающей точкой - C++

30.03.2014, 18:35. Просмотров 385. Ответов 2
Метки (Все метки)

Обучаюсь С++ по книге Дейтелов. Работаю в IDE Dev-c++ v4.9.9.2
в четвертой главе есть вот такое вот упражнение:
Кликните здесь для просмотра всего текста
4.16. Разработайте программу на C++, которая должна определять заработную плату
для каждого из нескольких служащих. Компания выплачивает каждому
служащему повременную зарплату за первые 40 часов работы и выплачивает в
полуторном размере за сверхурочные свыше 40 часов. Вам дан список сотрудников
компании, число часов, отработанных каждым за последнюю неделю, и
почасовая ставка каждого сотрудника. Программа должна ввести эти данные для
каждого сотрудника, рассчитать и вывести на экран его суммарную зарплату.

Написал вот такую вот программку:
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>
using std::cin;
using std::cout;
using std::fixed;
 
#include<iomanip>
using std::setprecision;
 
int main()
{ setlocale(LC_ALL, "Russian");
   int chas;
   double stavka;
   double zp;
   
   cout << "Введите число рабочих часов (-1, если ввод закончен): ";
   cin >> chas;
   
   while ( chas != -1 )
   {
      cout << "Введите почасовую ставку работника ($00.00): ";
      cin >> stavka;
      
      if ( chas <= 40 )
      {
        zp = chas * stavka;
        cout << "Зарплата: $" << zp << setprecision (2) << fixed;
      }      
      else
      {
         zp = 40 * stavka + (chas - 40) * (1.5 * stavka);
         cout << "Зарплата: $" << zp << setprecision (2) << fixed;
      }
      
      cout << "\n\nВведите число рабочих часов (-1, если ввод закончен): ";
      cin >> chas;
   }
   
   system ("pause");
   return 0;
}
На первый взгляд программа работает правильно, НО при первом выводе зарплаты число выводится типа int, а в последующие выводы типа double с двумя знаками после запятой, т.е. как нужно по условию.
Скрин консоли прилагаю.

Умы С++ помогите разобраться )
Миниатюры
Непонятки с плавающей точкой  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru