![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
![]()
Захотел освежить знания по си, и решил переделать свою самую первую лабу) Задался целью написать как можно проще и меньше кода. Ошибка в строках: 6 и 11. Хотелось бы разобраться.
IntelliSense: expected a '}' 6 IntelliSense: expected a ';' 11 error C2146: syntax error : missing ';' before identifier 'sign' 11 error C2078: too many initializers 6 Код:
Как я понимаю, с #define у меня ничего не получиться так как идёт подстановка текста во время компилирования, т.е. 1 раз? Последний раз редактировалось Stilet; 24.11.2012 в 20:54. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 4
|
![]()
Ошибка в строке 6 вероятно из за "max" - вряд ли это тип char.
define в цикле не пройдёт - подставляется препроцессором один раз перед компиляцией. res надо вычислять "тупо" - в цикле по элементам sign[] проверяем значение i го элемента и выполняем соответствующее действие типа: if(sign[i] == '+') res = a + b; if(sign[i] == '*') res = a * b; // ну и так далее по всем значениям операций ... Иначе вряд ли получится. Последний раз редактировалось Andrew1961; 25.11.2012 в 17:45. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 14.11.2010
Сообщений: 138
|
![]()
Ну ведь это же символ, и ошибка начала проявляться когда я начал писать третий элемент массива.
Цитата:
Накатал новый вариант, но выводит не правильно, может проблема в printf с идентификаторами. Код:
Последний раз редактировалось hvz-; 25.11.2012 в 18:36. |
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 25.11.2012
Сообщений: 4
|
![]()
Попробуйте тип char в массив писать так '+' а не "+" - через одинарные ковычки.
Если хотите использовать switch массив sign оставьте как был и пишите: case '+': return res = a + b; и так далее. (тип type замените на char) Ваше "проще" получается значительно сложнее )). Последний раз редактировалось Andrew1961; 25.11.2012 в 19:02. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос | Kolaps | Общие вопросы C/C++ | 4 | 26.04.2012 15:15 |
Вопрос по mySQL + Вопрос по RichEdit | HTL | Общие вопросы Delphi | 4 | 01.01.2010 20:22 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |
вопрос по С# | Roberto | Фриланс | 1 | 17.05.2008 08:12 |