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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
#1

Структурный тип - C++

12.03.2012, 18:42. Просмотров 532. Ответов 6
Метки нет (Все метки)

Заданы две дроби (числитель и знаменатель – поля структуры). Напишите функции вычисления сложения, вычитания, умножения и деления дробей. Каждая из перечисленных функций должна возвращать несократимую дробь, которая получается при выполнении соответствующей арифметической операции.
Работа программы должна происходить по следующей схеме: ввод числителя первой дроби, ввод знаменателя первой дроби, ввод знака арифметической операции, ввод числителя второй дроби, ввод знаменателя второй дроби, результат.
Например, вычисление выражения ⅜ + ⅔ на экране должно выглядеть следующим образом:
>3
>8
>+
>2
>3
25/24
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2012, 18:42     Структурный тип
Посмотрите здесь:

Структурный тип данных C++
тип cout-a ostrieam? соответствено тип cin-a istream? C++
Восьмибитный тип переменной (что за тип, но не BYTE и не CHAR? C++
C++ Определить структурный тип, содержащий информацию
Структурный тип данных. Описать структуру с именем STUDENT C++
Опишите вложенный структурный тип "Лес" C++
C++ Описать структурный шаблон для представления комплексного числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,111
12.03.2012, 19:22     Структурный тип #2
@Макси@, немного вещей подправить и все:
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
70
71
72
73
74
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
struct fraction
{
    fraction(int _a = 1, int _b = 1) {a = _a; b = _b;}
    int a;
    int b;
};
 
void socr(fraction &a)
{
    for (int i = 2; i <= a.a; i++)
        if ((a.a % i == 0) && (a.b % i == 0))
        {
            a.a /= i;
            a.b /= i;
        }
}
 
void umn(fraction a, fraction b)
{
    fraction c(a.a*b.a, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void del(fraction a, fraction b)
{
    fraction c(a.a*b.b, a.b*b.a);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void pl(fraction a, fraction b)
{
    fraction c(a.a * b.b + b.a * a.b, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
void min(fraction a, fraction b)
{
    fraction c(a.a * b.b - b.a * a.b, a.b*b.b);
    socr(c);
    cout << c.a << "/" << c.b << endl;
}
 
int main(int argc, char *argv[])
{
    fraction a, b;
    char c;
    cin >> a.a >> a.b >> c >> b.a >> b.b;
    socr(a);
    socr(b);
    cout << "result = " << endl;
    switch (c)
    {
        case '*': umn(a, b);
        break;
        case '/': del(a, b);
        break;
        case 43: 
            pl(a, b);
        break;
        case '-': min(a, b);
        break;
        default: cout << "Incorrect sign" << endl;
    }
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 19:40  [ТС]     Структурный тип #3
если я не ошибаюсь, это уж точно не для начинающих!???

Добавлено через 1 минуту
_a - что это значит????
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,111
12.03.2012, 19:51     Структурный тип #4
Цитата Сообщение от @Макси@ Посмотреть сообщение
_a - что это значит????
просто переменная.
Цитата Сообщение от @Макси@ Посмотреть сообщение
если я не ошибаюсь, это уж точно не для начинающих!???
Ну вы же попросили:
Цитата Сообщение от @Макси@ Посмотреть сообщение
Напишите функции вычисления сложения, вычитания, умножения и деления дробей.
Правда сокращение дробей я сделал немного по своему, но это поправимо. Кстати, единственный косяк, который я пока нашел, может вывести запись вида:
4/1, 6/1 и.т.д, просто добавьте условие в каждой функции.
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 19:54  [ТС]     Структурный тип #5
но это ведь раздел С++ для начинающих! я тут многое не поняла
например a.a, я еще так никогда не писала
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,111
12.03.2012, 20:00     Структурный тип #6
Цитата Сообщение от @Макси@ Посмотреть сообщение
например a.a, я еще так никогда не писала
Многое в этой жизни приходиться делать в первый раз. Вы написали надо реализовать программу со структурой. Вот я и реализовал:
C++
1
2
3
4
5
6
struct fraction
{
    fraction(int _a = 1, int _b = 1) {a = _a; b = _b;}  //конструктор
    int a;
    int b;
};
А потом просто создал переменную типа fraction
C++
1
2
fraction a;
cout << a.a; //получаем поле нашей переменной
с тем же успехом:
C++
1
2
fraction frac;
cout << frac.a;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2012, 20:05     Структурный тип
Еще ссылки по теме:

C++ Описать структурный тип для представления геометрической фигуры кругюнаписаты програмуяка определяет, падает точка с заданными декартовыми координатам
C++ структурный тип
C++ Структурный вывод матрицы в консоль
Создать структурный шаблон, хранящий сведения о комплектации, стоимости и количества компьютеров на складе C++
Какой символьный тип использует тип std::string? C++

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

Или воспользуйтесь поиском по форуму:
@Макси@
0 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 18
12.03.2012, 20:05  [ТС]     Структурный тип #7
спасибо большое я просто еще первокурсница
Yandex
Объявления
12.03.2012, 20:05     Структурный тип
Ответ Создать тему
Опции темы

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