Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Определить номер первого из максимальных элементов в последовательности (заданной в текстовом файле) Необходимо написать программу на C без использования массивов которая будет определять номер первого из максимальных элементов в последовательности. Последовательность целых чисел задана в текстовом документе. Числа могут быть любыми целыми. Помогите... https://www.cyberforum.ru/ c-beginners/ thread2333014.html C (СИ) Динамическое выделение памяти
Необходимо выделить память с помощью функции melloc под 5 символов char. При вводе пользователем строки, в случае если выделенное место заканчивается необходимо выделить еще место под 5 символов функцией realloc. Так до введения пользователем '\n'.
C (СИ) Массив: С помощью одномерного массива организовать стек и реализовать набор команд для работы с ним... https://www.cyberforum.ru/ c-beginners/ thread2332979.html
С помощью одномерного массива организовать стек и сделать следующие действия с ним: Элементами стека являются слова не более чем из 20 букв _Добавление нового элемента на вершину стека(Команда Push) _Извлечение элемента с вершины стека(Команда Pop) _Просмотр вершины стека без ее извлечения (Команда top) _Вывод всех элементов стека на экран(Команда print) _Вывод количество элементов в...
C (СИ) Определить, в каком из заданных чисел больше различных цифр... https://www.cyberforum.ru/ c-beginners/ thread2332963.html
Вводятся два натуральных числа m и n 1.Определить в каком из этих числе больше различных цифр 2.Написать функцию, которая по переданному ей натуральному числу возвращает различное количество цифр из которых состоит это число Помогите пожалуйста
Вычислить цифровой корень числа C (СИ)
Доброго времени суток Мне надо разработать функцию, которая вычисляет цифровой корень заданного долгого рандомного натурального числа. Не знаю с чего начать. :( Надеюсь на вашу помощь! Заранее спасибо!
C (СИ) Простой телефонный справочник https://www.cyberforum.ru/ c-beginners/ thread2332925.html
нужно решить такую задачу Write a program which implements a very simple computerized telephone directory. The two-dimensional array numbers holds pairs of names and numbers. Array elements are following: "Tom", "555-3322", "Mary", "555-8976", "Jon", "555-1037",
C (СИ) Решение уравнения ax4 + bx2 + c = 0 (a ≠ 0) Решить уравнение ax4 + bx2 + c = 0 (a ≠ 0). Спасите:( нужен рабочий вариант решения на Си( https://www.cyberforum.ru/ c-beginners/ thread2332840.html C (СИ) Верно ли высказывание, что слон, расположенный на поле (x, y) шахматной доски, «бьет» поле (x1, y1)
Верно ли высказывание, что слон, расположенный на поле (x, y) шахматной доски, «бьет» поле (x1, y1) (x1, y1, x, y – целые от1 до 8); Как наиболее лаконично, через массив, например, в данном коде установить ограничения для вводимых x и y? #include "pch.h" #include <iostream> #include <cmath> void main() {
C (СИ) Оператор switch: вычислить для отрезка - длину, для четырехугольника - периметр и площадь https://www.cyberforum.ru/ c-beginners/ thread2332799.html
помогите пожалуйста написать такую программу: Создать программу, которая по введенной количеством вершин плоской фигуры (2 - отрезок, 4 - четырехугольник), вычисляет для отрезка - длину, для четырехугольника - периметр и площадь. Ввести координаты вершин и выполнить необходимые вычисления.
C (СИ) Сформировать квадратную матрицу порядка n (где n – четное число) по заданному образцу: Надо на Си написать программу, заранее всем спасибо https://www.cyberforum.ru/ c-beginners/ thread2332796.html
C (СИ) Заполнение матрицы по спирали
Вывести на языке СИ такую матрицу (5 на 5, размерность можно изменять) 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 Помогите плиииз:cry:
C (СИ) Посоветуйте текстовый редактор с возможностью отладки программ Здравствуйте, я часто работаю за разными пк. В день могу на 2-3 разных работать. я новичок в программировании. и хотел бы услышать ваш совет. Какой можете посоветовать портативный текстовый редактор + еще чтоб можно было в нем настроить отладку. или возможно уже есть готовые сборки. https://www.cyberforum.ru/ c-beginners/ thread2332674.html
2302 / 1128 / 702
Регистрация: 25.04.2016
Сообщений: 3,219
11.10.2018, 20:43 0

Проверка на количество введенных чисел - C (СИ) - Ответ 12964224

11.10.2018, 20:43. Показов 6387. Ответов 3
Метки (Все метки)

Лучший ответ Сообщение было отмечено chpokhead как решение

Решение

В терминале по умолчанию используется буфферизация ввода, т.е. все, что вы вводите с клавиатуры, сначала попадает в буфер и только затем этот буфер передается в программу и анализируется. И из-за этого функции ввода ждут поступления сигнала EOF, т.е. такие функции как scanf() или getchar() будут ждать поступления символа вечно, пока вы не введете что-нибудь с клавиатуры. Поэтому сделать так, чтобы программа прерывалась, если введено меньше чисел, практически невозможно.

Сделать так, чтобы программа завершалась, если введено больше значений, чем нужно, тоже нельзя, потому что функции ввода будут просто игнорировать все лишние символы.

А значит, вам нужно использовать неканоничный режим терминала без буфферизации ввода. Для этого придется воспользоваться сторонними библиотеками, вроде ncurses. Но даже тогда не получится сделать так, чтобы программа завершалась, если введено неправильное количество символов.

Единственный способ реализовать эту идею - использовать не стандартный ввод значений с клавиатуры, а передавать их аргументами функции main(), например. Тогда вы спокойно можете контролировать количество поступивших значений:
Добавлено через 5 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main (int argc, char*argv[])
{
    if (argc != 4)
    {
        printf("передано %d аргументов вместо трех\n", argc-1);
        return -1;
    }
    else
    {
        ;/* записываем полученные аргументы в переменные */
    }
    return 0;
}
пример работы:
prog.exe 1 2
передано 2 аргументов вместо трех

Добавлено через 59 секунд
easybudda, я тоже думал об этом способе, но он будет ждать ввода третьего числа, елси введено только 2, и будет возвращать 3, даже если введено 4, 5 или 10 чисел, лишние просто отбрасываются.

Вернуться к обсуждению:
Проверка на количество введенных чисел C (СИ)
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2018, 20:43
Готовые ответы и решения:

Посчитать количество введенных чисел и количество положительных и отрицательных
Привет. Нужна помощь с программой. в общих чертах: Нужно, считать целые числа из стандартного...

Вывести на экран значение суммы, количество чисел, вошедших в нее и количество введенных чисел
Написать программу, которая вводит целые числа с клавиатуры и находит сумму тех из них, которые...

Определить количество отрицательных, положительных чисел и количество нулей среди введенных чисел
Цель задачи: С клавиатуры вводятся n чисел. Составьте программу, которая определяет кол-во...

Составьте программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел
С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных,...

3
11.10.2018, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2018, 20:43
Помогаю со студенческими работами здесь

Составте программу которая определяет количество отрицательных, количество положительных и количество нулей среди введённых чисел
С клавиатуры вводятся N чисел.Составте программу которая определяет количество отрицательных,...

Составьте программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел
С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных,...

Определить количество отрицательных, количество положительных и количество нулей среди введенных чисел
1) С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных,...

Определить количество отрицательных, количество положительных и количество нулей среди введенных чисел
С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных,...

Проверка введенных чисел
Всем привет У меня есть несколько input и там можно ввести только цифры Но в один input нужно...

Проверка MaskEdit на количество введенных знаков
Подскажите как проверить введены ли все знаки в MaskEdit, используется маска для ввода телефона вот...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru