![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 30.11.2012
Сообщений: 43
|
![]()
SOS SOS SOS
Ответил препод. вот,что он написал ![]() "Уже почти все в порядке.ПРограмма некорректно работает при задании типа "12/a" .Еще использована неудобная функция gets(),вместо нее лучше использовать fgets(),также лучше использовать getchar() вместо getch(),после этого не нужно INCLUDOVAT(ИНКЛУДИРОВАТЬ,ВТФ ЧТО ЗА СЛОВО Я НЕ ЗНАЮ)нестандартный файл conio.h. И последнее - обратите внимание на переменную в скобках цикла for - в СИ это не работает" Вот версия,которую ты кинул в тему..Скажи пожалуйста,это сильно сложно исправить так,как он написал? Код:
Последний раз редактировалось ACE Valery; 28.12.2012 в 21:04. |
![]() |
![]() |
![]() |
#12 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Скажу по поводу 2 последних замечаний:
1) Не нужно писать #include <conio.h> 2) for(int i=0;... - так можно писать только начиная со спецификации C99 (не уверен в терминологии, но если простым языком, то в "обычном" си так нельзя). Нужно написать int i; for (i=0;... и т.д.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 30.11.2012
Сообщений: 43
|
![]()
<BDA>,понял,а как быть с остальными замечаниями?
спасибо. |
![]() |
![]() |
![]() |
#14 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Вместо gets(str); использовать fgets(str, 50, stdin);
Вместо getch(); использовать getchar(); Насчет неправильности 12/a. Я бы сделал, как советовал <- DelpHIFanat ->, т.е. посимвольный разбор. Буквально пару недель назад писал "красивый" разбор (с использованием scanf) строки на параметры для учебной задачи - 6 строчек кода потребовали около 2 часов времени (в этот день сделал только эти 6 строчек). Вы должны обрабатывать количество распознанных параметров (число, которое возвращается sscanf).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 30.11.2012
Сообщений: 43
|
![]()
BDA,
вот что получилось,но теперь калькулятор не считает..где я ошибся? Код:
|
![]() |
![]() |
![]() |
#16 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]() Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 30.11.2012
Сообщений: 43
|
![]()
ошибка..
ISO C++ forbids comparison between pointer and integer и это же С++..а нельзя как-нибудь исправить то,что я прислал?. |
![]() |
![]() |
![]() |
#18 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Во-первых, на какой строке выдается предупреждение?
Во-вторых, это Вы используете (имхо) с++ компилятор вместо с компилятора - в самом коде, имхо, нет никаких "фишек" с++. В-третьих, это и есть Ваш исправленный код, просто во это: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 03.01.2013 в 16:32. |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 30.11.2012
Сообщений: 43
|
![]()
BDA,
ошибка выдается на 20 строчке. str[i] == l_ptr->decimal_point || вот здесь не буду с вами спорить,просто выглядит замудренно,не поверит,что я такое написал сам. |
![]() |
![]() |
![]() |
#20 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Я добавил l_ptr->decimal_point, чтобы получать десятичный разделитель от системы, но Вы можете это выбросить:
Код:
Считываем строку и переносим ее в буфер по правилам - если цифра или разрешенный символ, то переносим, иначе, если не пробельный символ, то ошибка. На самом деле, можно было бы читать посимвольно в буфер.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
калькулятор | Татьяна22 | JavaScript, Ajax | 9 | 06.05.2012 13:21 |
калькулятор | Hilda | Помощь студентам | 2 | 28.04.2010 22:50 |
Калькулятор | Hilda | Помощь студентам | 3 | 25.04.2010 16:04 |
Калькулятор | manick | Общие вопросы Delphi | 8 | 23.04.2010 20:42 |
калькулятор | Bat{CMD}_Men | Общие вопросы Delphi | 1 | 22.04.2010 09:36 |