Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/17: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
1

Калькулятор на С

08.12.2010, 15:09. Просмотров 3099. Ответов 18
Метки нет (Все метки)

калькулятор в принципе готов, надо только сделать деление на дробные числа, помогите кто чем может пожалуйста
0
Вложения
Тип файла: txt кальк.txt (5.8 Кб, 153 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 15:09
Ответы с готовыми решениями:

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include <iostream> int main(){ int a = 0; int b = 0; char...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький...

Калькулятор
Всем привет ) Пожалуйста подскажите почему мы пишем " scanf ("%c", &oper); ...

Калькулятор в С++
Ребята, у кого есть код калькулятора, киньте пожалуйста. Буду очень благодарен.

калькулятор
подскажите, как сделать чтоб при вводе с клавиатуры, можно было вводить только...

18
AshBringer4eg
26 / 26 / 4
Регистрация: 25.11.2010
Сообщений: 72
08.12.2010, 15:30 2
Ну по идее для деления на дробные числа необходимо использовать переменные типа float для результата и дробного числа.
Хотя там насколько вижу результат и так в флоате... довольно громоздкая реализация калькулятора.
Что собственно не получается?
0
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
08.12.2010, 15:56  [ТС] 3
Я незнаю как написать чтобы он делил на дробные числа,калькулятор у друга брал, не я писал, т.к. плохо в программировании пока разбераюсь
0
Kastaneda
Jesus loves me
Эксперт С++
4949 / 3026 / 346
Регистрация: 12.12.2009
Сообщений: 7,627
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 16:13 4
Цитата Сообщение от Rafaelloo Посмотреть сообщение
чтобы он делил на дробные числа
А что, не делит? Там вроде все в float'ах, по идеи должен... Хотя в суть особо не вникал.
0
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
08.12.2010, 16:28  [ТС] 5
он делит,но ответ 0,а мне надо чтобы ответ был правильный
0
AshBringer4eg
26 / 26 / 4
Регистрация: 25.11.2010
Сообщений: 72
08.12.2010, 18:27 6
Эх вспомнить бы... там были функции для задания точности, походу дело в них... щя покопаюсь может найду.
0
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
08.12.2010, 18:35  [ТС] 7
Цитата Сообщение от AshBringer4eg Посмотреть сообщение
Эх вспомнить бы... там были функции для задания точности, походу дело в них... щя покопаюсь может найду.
буду тебе ооочень благодарен
0
AshBringer4eg
26 / 26 / 4
Регистрация: 25.11.2010
Сообщений: 72
08.12.2010, 18:51 8
setprecision(n)
setiosflags(ios::fixed | ios::showpoint)
вот 2 функции почитайте про них, и про их использование, я через 1-1.5 часа вернусь домой, если к тому времени не разберетесь, попробую обьяснить.
Вот, нашел пример их использования:
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
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
 
int main()
{float average;
int counter, grade,total;
total=0;
counter=0;
cout << "BBeDuTe 6aJI uJIu -1 DJI9l Bbl4ecJIeHu9l CyMMbl ";
cin >> grade;
while (grade !=-1){
    total+=grade;
    counter+=1;
    cout << "BBeDuTe 6aJI uJIu -1 DJI9l Bbl4ecJIeHu9l CyMMbl ";
    cin >> grade;
    }
    if (counter !=0){
        average=total/counter;
        cout << "Average= " << setprecision(2)      
        << setiosflags(ios::fixed | ios::showpoint) 
        << average << endl;
        }
        else
            cout << "No data" << endl;
            getch();
            return 0;
            }
Программа вычисляет средний бал, и выводит в формате 2 точки после запятой, запятую показывать даже если дробная часть равна 0.
0
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
08.12.2010, 19:26  [ТС] 9
К сожалению это С++ а мне надо написать на чистом С
0
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
08.12.2010, 19:29 10
AshBringer4eg, одна проблемка... Калькулятор-то пишут на Си, а это плюсовые плюшки. Да и не в этом, я думаю, дело.
0
Kastaneda
Jesus loves me
Эксперт С++
4949 / 3026 / 346
Регистрация: 12.12.2009
Сообщений: 7,627
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 19:36 11
Да, дело не в этом. Скомпилил, там ответ выводит в вещественном виде, но деление происходит как целочисленное. Сейчас попробую разобраться.
П.С. для выхода из программы пришлось ctrl+c жать, что есть не хорошо.
0
AshBringer4eg
26 / 26 / 4
Регистрация: 25.11.2010
Сообщений: 72
08.12.2010, 19:37 12
Хм... тогда беда. Лан подумаю что еще можно сделать.
0
Kastaneda
Jesus loves me
Эксперт С++
4949 / 3026 / 346
Регистрация: 12.12.2009
Сообщений: 7,627
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 19:46 13
Вобщем просто потестил с различными значениями, диагноз - код косячный. Вот посмотрите:
Калькулятор на С

Он иногда даже дробные числа выводит, полученные при делении, так что с этим проблем нет. НО иногда и не выводит)) Разберитесь со скриншотом, я думаю нужно весь код переписывать (ну или править)
0
Kastaneda
Jesus loves me
Эксперт С++
4949 / 3026 / 346
Регистрация: 12.12.2009
Сообщений: 7,627
Записей в блоге: 2
Завершенные тесты: 1
08.12.2010, 19:50 14
ответы иногда вообще не адекватные) У меня ощущение, что автрор кода хотел реализовать отдельно целочисленное деление и дробное. Т.е. 10/4 и 10.0/4.0 дает разный результат (), а если деление идет первой операцией, то ответ вообще 0.
1
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
08.12.2010, 20:29 15
Да плюс ко всему, где-то что-то не сбрасывается перед очередной итерацией, потому что на последовательность 10,0/4,0 (ответ нуль), а затем 10/4 он мне выдал WHAT ARE YOU DOING?
Честно говоря, код лучше переписать, алгоритм странноватый тут...
1
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
09.12.2010, 06:57  [ТС] 16
Цитата Сообщение от silent_1991 Посмотреть сообщение
Честно говоря, код лучше переписать, алгоритм странноватый тут...
Код не я писал,мне друг дал,а мне просто надо сдать этот калькулятор, потом я его как нибудь переделаю...
0
fasked
09.12.2010, 07:06
  #17

Не по теме:

Цитата Сообщение от Rafaelloo Посмотреть сообщение
мне просто надо сдать этот калькулятор, потом я его как нибудь переделаю...
ну да, ну да :D

0
Rafaelloo
0 / 0 / 0
Регистрация: 08.12.2010
Сообщений: 8
09.12.2010, 07:12  [ТС] 18
Цитата Сообщение от fasked Посмотреть сообщение

Не по теме:


ну да, ну да :D

тот у кого я брал говорит что полностью его переделал, а я пока плохо соображаю в этом, чтобы самому сделать...вот и попросил у вас помощи.
0
silent_1991
Эксперт С++
5011 / 3071 / 271
Регистрация: 11.11.2009
Сообщений: 7,045
Завершенные тесты: 1
09.12.2010, 11:49 19
Rafaelloo, ну значит он его помимо полной переделки ещё и сломал, потому что баги проявляются разные и в неожиданные моменты времени, а это говорит об ошибках в алгоритме.
0
09.12.2010, 11:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2010, 11:49

калькулятор
Здравствуйте!! У меня возникла проблема. Мне нужно ввести выражение и занести...

калькулятор
Всем привет, извините, что постю сюда эту тему, но выхода нет((( Проблема...

Калькулятор
нужен калькулятор на языку С. уровень знания первый курс


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru