Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2019, 20:26   #1
skuttbin
 
Регистрация: 17.02.2019
Сообщений: 3
Стрелка Калькулятор

Хотел бы доработать программу на СИ по условиям, саму программу написал, но она не полностью соответствует некоторым условиям и не могу довести до этих условий (не судите строго, я начинающий): 1)Вычисления с целыми числами неограниченной размерности. Числа хранятся в виде символьных строк. 2) Операции сложения, вычитания, умножения и деления. 3) Вычисление выражений со скобками.

Код:
#include <stdio.h>
 
int check (char c) {        // возвращает номер действия
    int i;
    char a[6] = "+-*/:";
    for (i=0; a[i]; i++)
        if (a[i] == c) return i+1;
    return 0;
}
 
int main (void) {
    char c;
    float a, b, result;
    int d;
 
    while(1) {
        printf("> ");   // введите строку, например 2.11 + 0.04
        scanf("%f %c %f", &a, &c, &b);
        fflush(stdin);
        if ((d = check(c)) > 0) break;
    }
    
 
    if (d == 1) result = a+b;
    if (d == 2) result = a-b;
    if (d == 3) result = a*b;
    if (d == 4) result = a/b;
    if (d > 3) {
        if (!b) return -1;      // деление на 0
        result = a/b;
    }
 
    printf("%f %c %f = %f\n", a, c, b, result);
    return 0;
}
skuttbin вне форума Ответить с цитированием
Старый 06.09.2019, 20:27   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так делайте.
Вопрос-то какой?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.09.2019, 20:36   #3
skuttbin
 
Регистрация: 17.02.2019
Сообщений: 3
По умолчанию

Вопрос прекрасно описан выше! Так как я не очень опытный в этом, есть ли идеи как можно доработать её по условиям? Как именно написать это на СИ
skuttbin вне форума Ответить с цитированием
Старый 06.09.2019, 20:43   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Нет там вопроса, там задание.

Если кто-то просто сделает за вас, это вряд ли поможет вам разобраться.
Покажите свои наработки по каждому пункту, конкретные вопросы по ним и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.09.2019, 21:08   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

skuttbin
Цитата:
Сообщение от skuttbin Посмотреть сообщение
1)Вычисления с целыми числами неограниченной размерности. Числа хранятся в виде символьных строк.
Использовать бибилотеку для работы с длинными числами. Либо взять код из статей, книг.

1] Алгоритм деления
http://comp-science.narod.ru/DL-AR/okulov.htm
2] Алгоритмы длинных чисел
http://cybern.ru/category/csharp/long-math

Цитата:
Сообщение от skuttbin Посмотреть сообщение
3) Вычисление выражений со скобками.
Переводишь в обратную польскую запись и вычисляешь выражения. Алгоритм называется, алгоритм сортировочной станции.

http://algolist.manual.ru/maths/misc/revpn.php

Вообще тут вам надо научиться писать рекурсивные функции. А затем прочитать про алгоритм сдвиг-свёртка. Считаю вам обязательно надо прочитать
https://www.opennet.ru/docs/RUS/biso...n_8.html#SEC77
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 06.09.2019 в 21:14.
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Калькулятор Windows не правильно считае, а может калькулятор гугл не правильно считает? xexxex Windows 8 05.09.2019 13:26
Калькулятор lokere Фриланс 7 07.08.2013 05:31
Калькулятор. Cos и Sin Ruz34 Общие вопросы Delphi 1 09.02.2013 18:13
калькулятор LeoDevel Помощь студентам 1 19.01.2013 21:31