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

Подскажите пожалуйста, что не так - C++

Восстановить пароль Регистрация
 
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
05.03.2013, 01:29     Подскажите пожалуйста, что не так #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
#include<iostream>
#include<conio.h>
using namespace std;
 
int main()
{
    double a,b,c,d,r;
    char znak;
    char i;
 
    do
    {
    cout << "Vvedite pervui operand,znak i vtoroi operand: "; cin >> a >> b >> znak >> c >> d;
 
   switch(znak)
    {
        case '+': r= (a*d + b*c)/(b*d); break;
        case '-': r= (a*d-b*c)/(b*d); break;
        case '*': r= (a*c)/(b*d); break;
        case '/': r= (a*d)/(b*c); break;
 
    }
    cout << "Rezyl'tat raven : " << r;
    cout << "\nEwe raz?n/y\n";
    i = getche();
    cout << endl;
 
    }
    while(i != 'n');
 
    return 0;
}

 Комментарий модератора 
Запрещено размещать задания в виде картинок и других файлов с их текстом. Перепечатайте.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
05.03.2013, 06:50     Подскажите пожалуйста, что не так #2
всё правильно считает программа разве что результат в дробях не выдаёт
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
05.03.2013, 15:30  [ТС]     Подскажите пожалуйста, что не так #3
Ввожу к примеру 8, 85 + 8 , 85 показывает что сумма равна 0.188235
Нашел топ на форуме Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
"Решение глава 3 задача №12" парень чуть по другому сделал. Так вот его программа показывает 3.2.
Непонятно.
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
05.03.2013, 15:42     Подскажите пожалуйста, что не так #4
8/85 + 8/85 = 0.188235

поэтому у вас правильные результаты - это факт
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
05.03.2013, 19:02  [ТС]     Подскажите пожалуйста, что не так #5
А почему тогда разница у нас такая? У нас формулы одинаковые. Единственное не могу понять зачем он там 2 переменные char подставил под ввод данных из клавиатуры (cin >>a >>d1 >>b >>ch >>c >>d2 >>d). Причем именно у него программа не запрашивает во время ввода. Т.е. вводятся только a,b,c,d. Если же я подставлял себе их то у меня вводятся все 7 переменных и если введу что-то не то, сразу же зацикливание : )
ijonhson
 Аватар для ijonhson
47 / 47 / 1
Регистрация: 09.03.2011
Сообщений: 584
05.03.2013, 19:48     Подскажите пожалуйста, что не так #6
в программу надо вводить 4 цифры,пример: 8,85 1,0 далее знак +или-или*или/ дплее 8,85 1,0 программа производит математические действия с дробями действительных чисел

Добавлено через 6 минут
программа не выдаёт ошибки если пользователь не ввёл числитель или знаменатель или вместо +-*/ ввёл другой символ я бы добавил проверку правильности ввода
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 19:54     Подскажите пожалуйста, что не так
Еще ссылки по теме:

Подскажите, что не так C++
Подскажите,пожалуйста ,что не так с кодом! C++
Подскажите пожалуйста что не так C++

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

Или воспользуйтесь поиском по форуму:
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
05.03.2013, 19:54  [ТС]     Подскажите пожалуйста, что не так #7
А у него в программе получается 7 операндов фигурируют в процессе ввода. Но вводятся только 5. Если я так делаю как у него, то у меня вводятся все 7. Что для меня и странно.

Спасибо что отозвались! Кликнул на "спасибо" обоим.
Yandex
Объявления
05.03.2013, 19:54     Подскажите пожалуйста, что не так
Ответ Создать тему
Опции темы

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