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

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

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

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 минуты
Вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2013, 00:28     Неправильный вывод данных
Посмотрите здесь:

C++ Неправильный вывод данных из стека С++
C++ неправильный вывод кириллицы в консоль
Неправильный вывод C++
Неправильный вывод в консоли C++
Неправильный вывод ответа C++
C++ Неправильный вывод (код есть)
C++ Неправильный вывод матрицы
Неправильный вывод C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
13.05.2013, 00:58     Неправильный вывод данных #2
осваивайте дебаг в студии.
tax_amount - неинициализированная переменная. в ней всякий хлам, поэтому и числа странные.
чтобы поправить - нужно или ее тоже вводить или инициализировать или формулы менять.
Yandex
Объявления
13.05.2013, 00:58     Неправильный вывод данных
Ответ Создать тему
Опции темы

Текущее время: 04:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru