0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
|
|
1 | |
Как сделать многократный ввод данных в языке С ?15.04.2018, 12:31. Показов 4256. Ответов 6
Метки c для начинающих (Все метки)
Например ввожу данные, смотрю результаты вычислений, и должна появиться возможность повторно вводить другие данные и получать другие результаты вычислений.
0
|
15.04.2018, 12:31 | |
Ответы с готовыми решениями:
6
Как сделать ввод данных в строчку? Программа должна вычислять введенное треугольное число и позволяя пользователю многократный ввод Как сделать ввод списка с контролем вводимых данных Как сделать многократный ввод данных в языке С ? |
296 / 227 / 102
Регистрация: 11.08.2016
Сообщений: 780
|
||||||
15.04.2018, 13:13 | 2 | |||||
1
|
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
|
||||||
15.04.2018, 13:21 [ТС] | 3 | |||||
Это набросок, но нужно довести код до готовности.
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
|
15.04.2018, 13:51 | 4 |
Ошибка: в форматной строке нет фрагмента, соответствующего переменной
а . Забыли написать %i ?Ошибка: переменная а не объявленаОшибка: в форматной строке нет фрагмента, соответствующего переменной с . Забыли написать %i ?Так что является условием выхода, число 5 или строка "нет" (кстати, обычно пишут y/N и принимают все комбинации - yes, Yes, y, Y, No, no, n, N, а иногда даже да, д, Да, Д, нет, н, Нет, Н. Нажатие ентера делает выбор по умолчанию, в данном случае N. Еще тут нет считывания строки с ответом, только пустой switch. Имелось в виду break? . Вообще, зацикливание подобных программ - плохая идея. Лучше пусть отрабатывают один раз без лишних запросов ввода, а зациклить можно внешним скриптом. Как и использовать результат работы программы.
1
|
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
|
||||||
15.04.2018, 14:11 [ТС] | 5 | |||||
НЕМНОГО ПОПРАВЛЕНО
COKPOWEHEU, немного поправленный код, см выше Добавлено через 15 минут COKPOWEHEU, имеется ввиду: хотите сделать ещё одно вычисление? если выбор - да, то перемещаемся в начало цикла и все повторяется снова, но с другими входными данными если выбор - нет, то выходим из цикла и больше ничего не вычисляется
0
|
296 / 227 / 102
Регистрация: 11.08.2016
Сообщений: 780
|
|
15.04.2018, 15:50 | 6 |
Muriam, в конструкции switch отсутствует собственно значение. Вы указали пустой свитч.
В кейсе вы указали символ 'да' обрамив его в ковычки, хотя это слово. Так работать не будет.
1
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,884
|
|
15.04.2018, 18:14 | 7 |
Сообщение было отмечено Muriam как решение
Решение
Отсутствует переменная для ответа пользователя, как и ее проверка. Если не хотите связываться со строками (а пока, похоже, не стоит), ограничьтесь форматом Y/N, для этого достаточно char'а
это массив из 5 байтов {0xD0, 0xB4, 0xD0, 0xB0, 0x00} (в кодировке UTF8, конечно). А прямого сравнения массивов в Си нет - только базовых типов. Для массивов можно воспользоваться memcmp(), для строк - strcmp(), strncmp(). Но switch не умеет вызывать сторонние функции сравнения, поэтому для строк его использовать невозможно. Впрочем, возможно для отдельных char'ов. Текст на русском языке компилятором не читается. Он выдаст ошибку. Не нужно. Это DOS-подобно специфичный файл, на других системах компилятор будет ругаться. Лучше сразу привыкайте не использовать подобную каку. Если хочется сделать ожидание ЭниКея, пишите system("pause"); это тоже DOS-специфично, но может быть проигнорировано компилятором. ЭТАШТОТАКОЭ? Вроде не переменная (нет типа), не функция (те без скобок не вызываются), не структура (нет ключевого слова). Больше всего похоже на переменную с неявным типом int. Но такая запись устарела давным-давно, лучше так не делать.
1
|
15.04.2018, 18:14 | |
15.04.2018, 18:14 | |
Помогаю со студенческими работами здесь
7
Как организовать ввод данных на русском языке? Многократный ввод координат точки Многократный ввод класса через консоль Как сделать ввод данных самому ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |