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

Учебник Lafore. Обыкновенные дроби - C++

Восстановить пароль Регистрация
 
a1308
0 / 0 / 0
Регистрация: 27.08.2012
Сообщений: 9
09.01.2013, 22:15     Учебник Lafore. Обыкновенные дроби #1
Привет всем! Учу c++ по книги Lafore, ( раньше учился по Липман, но здесь посоветовали Lafore, оказался намного проще) ну дак вот есть задачка, не получается её не как решить, задача прикреплена во вложениях ниже задача под номером 9

Мои мысли думают так решать задачу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    int a,b,c,d,drob1,drob2, summa;
    cout << "Vvedi 1 drob" << endl;
    cin >> a >> b >> drob1;
    cout << "Vvedi 2 drob" << endl;
    cin >> c >> d >> drob2;
    summa = (a*b + b*c)/(b*d);
    cout << " Summa = " << summa << endl;
    system("pause");
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 22:15     Учебник Lafore. Обыкновенные дроби
Посмотрите здесь:

C++ Дроби
дроби C++
C++ Обыкновенные дроби
C++ Обыкновенные дроби
калькулятор с++ Обыкновенные дроби в двух формах: C++
C++ Дроби
C++ Дроби
C++ Обыкновенные задачи

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
09.01.2013, 22:24     Учебник Lafore. Обыкновенные дроби #2
Не прокатит. У вас при чтение b-целое число, а '/'-это строковый символ. Ошибка будет при чтение числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    int a,b,c,d;
char f;
    cout << "Vvedi 1 drob" << endl;
    cin >> a >> f >> b;
    cout << "Vvedi 2 drob" << endl;
    cin >> c >> f >> d;
    int chis=a*d+c*b;
int zn=b*d;
    cout << " Summa = " << chis << '/' << zn << endl;
    system("pause");
    return 0
}
Добавлено через 2 минуты
По внимательней с типами данных, если вы пишите summa = (a*b + b*c)/(b*d);, то тут знак '/' будет обозначать взять целую часть от деления, а не чаровский символ '/'. Надо в начале посчитать числитель, потом знаменатель, а потом выводить поочереди, а между ними вклинуть символ '/'.
a1308
0 / 0 / 0
Регистрация: 27.08.2012
Сообщений: 9
09.01.2013, 22:38  [ТС]     Учебник Lafore. Обыкновенные дроби #3
Цитата Сообщение от Wolkodav Посмотреть сообщение
Не прокатит. У вас при чтение b-целое число, а '/'-это строковый символ. Ошибка будет при чтение числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    int a,b,c,d;
char f;
    cout << "Vvedi 1 drob" << endl;
    cin >> a >> f >> b;
    cout << "Vvedi 2 drob" << endl;
    cin >> c >> f >> d;
    int chis=a*d+c*b;
int zn=b*d;
    cout << " Summa = " << chis << '/' << zn << endl;
    system("pause");
    return 0
}
Добавлено через 2 минуты
По внимательней с типами данных, если вы пишите summa = (a*b + b*c)/(b*d);, то тут знак '/' будет обозначать взять целую часть от деления, а не чаровский символ '/'. Надо в начале посчитать числитель, потом знаменатель, а потом выводить поочереди, а между ними вклинуть символ '/'.
Спасибо большое, сейчас буду разбираться!

Добавлено через 5 минут
Цитата Сообщение от a1308 Посмотреть сообщение
Спасибо большое, сейчас буду разбираться!
А вот смотрите, запускаю я программу, а он ввод второй дроби пропускает и сразу идёт к вычислению, скрин снизу

Добавлено через 6 минут
Цитата Сообщение от a1308 Посмотреть сообщение
Спасибо большое, сейчас буду разбираться!

Добавлено через 5 минут

А вот смотрите, запускаю я программу, а он ввод второй дроби пропускает и сразу идёт к вычислению, скрин снизу
Извиняюсь, просто прежней вид своей программы запустил)
Yandex
Объявления
09.01.2013, 22:38     Учебник Lafore. Обыкновенные дроби
Ответ Создать тему
Опции темы

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