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

Неправильный вывод данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать алгоритм и программу для решения задачи http://www.cyberforum.ru/cpp-beginners/thread863028.html
помогите написать программу по этой задаче:
C++ Составить программу вычисления суммы любого количества произвольных чисел Задача составить программу вычисления суммы любого количества произвольных чисел #include "time.h" #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "locale" #include "math.h" using namespace std; int main(void) { http://www.cyberforum.ru/cpp-beginners/thread863021.html
преобразование строки целое C++
#include <iostream> using std::cout; using std::cin; using std::endl; int my_atoi(char*); int main() { char* data="2013";
Генерация случайных чисел с поиском максимального значения C++
Как создать генератор случайных цифр, который будет введен с циклом в МИЛЛИОН раз, и надо найти максимальное из этих значений?
C++ Нарисовать алмаз http://www.cyberforum.ru/cpp-beginners/thread863012.html
Нарисуйте алмаз ромбовидной формы при помощи символов '*'. Технические условия Входные данные Во входных данных содержится несколько строк тестовых данных. Каждый тест в отдельной строке содержит единственное целое неотрицательное число N (N ≤ 100), строка со значением N равным нулю сигнализирует об окончании входных данных. Выходные данные
C++ Чортировка данныых бинарного файла без заполнения массива Здравствуйте. Нужно отсортировать данные бинарного файла без занесения их в массив. Начинает сортировать нормально, но на втором ходу зависает и не меняет считываемое значение. Посмотрел сам файл и в нем после замены значений образовывается после 8-ми байт пустой фрагмент "HHHH". #include "stdafx.h" #include "windows.h" #include <conio.h> #include <stdio.h> #include <iostream> подробнее

Показать сообщение отдельно
pashqaaa
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 12
13.05.2013, 00:28     Неправильный вывод данных
Программа о авторе книги и его, собственно, книге. Надо подсчитать заработок за все переиздательства книги и общий налог. Формуы подставил, но выводит неправильное число. Нужен взгляд эксперта

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
65
66
67
68
69
#include "stdafx.h"
#include <iostream> 
using namespace std;
char s;
class book {
    char author[40], //Имя автора
        printing[40], //Издательство
        edition[10], //Номер издания
        tax[15], //Налог (в процентах)
        price[15], //Цена книги
        printing_year[10]; //Год, в котором 1ый раз вышла книга
public:
    int num_of_reedition, //Количество переизданий
        reedition_money; //Заработок за одне переиздание
    void data_output(); //Вивод данных
    void data_input(); //Ввод данных
};
 
class info: public book { 
    int earned_money, //Заработанные деньги
           tax_amount; //Налог общий
public:
    void main_info();
    void calculate();
};
 
void book::data_output() { //Вывод
    cout<<"Author's name: "<<author<<endl;
    cout<<"Printing year: "<<printing_year<<endl; 
    cout<<"Printing: "<<printing<<endl; 
    cout<<"Edition: "<<edition<<endl; 
    cout<<"Amount of money earned for re-edition: "<<reedition_money<<endl;
    cout<<"Number of re-edition(s): "<<num_of_reedition<<endl; 
    cout<<"Book's price: "<<price<<endl; 
    cout<<"Amount of tax: "<<tax<<endl<<"\n\n"; 
};
 
void book::data_input()  { //Ввод
cout << "Input author's full name: "; cin.get (author, 39, '\n'); cin.get(s);
cout << "Input book's printing year: "; cin.get(printing_year, 39, '\n'); cin.get(s);
cout << "Input printing: "; cin.get (printing, 39, '\n'); cin.get(s);
cout << "Input edition: "; cin.get (edition, 9, '\n'); cin.get(s);
cout << "Input amount of money earned for re-edition: "; cin>>reedition_money; cin.get(s);
cout << "Input number of re-edition(s): "; cin>>num_of_reedition; cin.get(s);
cout << "Input book's price: "; cin.get (price, 9, '\n'); cin.get(s);
cout << "Input amount of tax: "; cin.get (tax, 14, '\n'); cin.get(s); cout<<"\n\n";
};
 
void info::calculate() { //Подсчет прыбили и налога
    tax_amount=(reedition_money*num_of_reedition)/100*20;
    earned_money=(reedition_money*num_of_reedition)-tax_amount;
};
 
void info::main_info() { //Вывод их на экран
    cout << "Earned money for all time: " << earned_money << endl; 
    cout << "Amount of tax for all time: " << tax_amount << endl; 
};
 
 
int main() { 
info object1;
book object2;
cout << "-----Input Info-----\n"; object2.data_input();
cout << "-----Output Info-----\n"; object2.data_output();
object1.calculate();
object1.main_info();
system("pause");
return 0;
}
Вся проблема в этой части кода, скорей всего.
C++
1
2
3
4
5
6
7
8
9
void info::calculate() { //Подсчет прыбили и налога
    tax_amount=(reedition_money*num_of_reedition)/100*20;
    earned_money=(reedition_money*num_of_reedition)-tax_amount;
};
 
void info::main_info() { //Вывод их на экран
    cout << "Earned money for all time: " << earned_money << endl; 
    cout << "Amount of tax for all time: " << tax_amount << endl; 
};
Выводит на экран бесконечные числа. Уже пробовал разные типы данных. Прошу помочь, так как это срочно. Спасибо

Добавлено через 32 минуты
Вверх
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru