Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 6
1

Как прочитать числа с клавиатуры в определенной форме в Си?

29.10.2017, 15:23. Показов 572. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. У меня пустяковая проблема. Уже около полугода занимаюсь Си, с синтаксисом знаком. Но возникла следующая ситуация:
Необходимо с клавиатуры считать шесть ДЕЙСТВИТЕЛЬНЫХ чисел a,b,c,d,e,f в форме:

Введите a,b:
[10,15.34]
Введите c,d:
[18.14,13]
Введите e,f:
[19.02,11]
Вторая, четвертая и шестая строчки - примеры ввода

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

C
1
2
3
4
5
6
7
8
   
    float a,b,c,d,e,f;
    printf("Введите a,b:\n");
    scanf("[%g,%g]",&a,&b);
    printf("Введите c,d:\n");
    scanf("[%g,%g]",&c,&d);
    printf("Введите e,f:\n");
    scanf("[%g,%g]",&e,&f);
Добавлено через 21 час 43 минуты
Ответ оказался очень простым:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//у всех переменных действительное значение
double a,b,c,d,e,f;
//добавляем вспомогательные знаковые переменные
char r1,r2,r3;
printf("Введите a,b:\n");
//проверяем, все ли пять переменных успешно ковертировались и равны ли наши символы желаемым
    if ((scanf(" %c %Le %c %Le %c", &r1, &a, &r2, &b, &r3)!=5)||(r1 != '[')||(r2!=',')||(r3!=']')) printf("Неправильный ввод."); 
    else
    {
printf("Введите c,d:\n");
//проверяем следующие два числа
    if ((scanf(" %c %Le %c %Le %c", &r1, &c, &r2, &d, &r3)!=5)||(r1!='[')||(r2!=',')||(r3!=']')) printf("Неправильный ввод.");
    else
    {
printf("Введите e,f:\n");
//И последние два число
    if ((scanf(" %c %Le %c %Le %c", &r1, &e, &r2, &f, &r3)!=5)||(r1!='[')||(r2!=',')||(r3!=']')) printf("Неправильный ввод.");
    else
    {
          //здесь находится весь следующий желаемый код для работы с переменными
    }
    }
    }
Надеюсь, мой ответ-вопрос был кому-то полезен.
Итого, программа игнорирует пробелы и ентеры, между числами и работает только для заданного нами формата. Вуаля! Программистам слава!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2017, 15:23
Ответы с готовыми решениями:

Как прочитать файл с определенной строчки?
Подскажите,пожалуйста,можно ли найти строку по индексу в файле и начать чтение файла с...

Как выбрать документы по определенной форме
Подскажите pls. как можно выбрать документы не все, как делает это команда db.AllDocuments, а по...

Как привязать button к определенной клавише клавиатуры
Никак не могу сообразить как привязать button к определенной клавише клавиатуры, есть исходный код...

Как создать старт приложения на определенной кнопки клавиатуры
Вот например есть таймер как сделать так чтобы таймер запустился\остановился(остановился и...

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

Как прочитать строку с клавиатуры с пробелами
как сделать так чтобы программа считывала с клавиатуры строку с пробелами в переменную name? ...

Как вывести вдругой форме значения определенной записи
Имеется форма Главная, и там есть список, из трех солбцов ФИО, необходимо при выборе строки и...

Как прочитать значение n-го inputa в форме ?
Здравствуйте ! Опять столкнулась с проблемой синтаксиса при переводе приложения с ASP на...

Как прочитать из порта клавиатуры введённый символ
Подскажите, пожалуйста, какой номер у порта клавиатуры и как определить, какой символ введён.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru