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

Ввести числа формата (a,b)

26.11.2016, 20:43. Показов 644. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
С клавиатуры нужно ввести координаты формата (a,b). В переменные х2 и y2 значения не записываются.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdio.h"
 
int main()
{
        int x1, y1;
    int x2, y2;
 
    printf("Введите координаты начала отрезка\n");
    scanf("%*c%d%*c%d&*c", &x1, &y1);
    printf("Введите координаты конца отрезка\n");
    scanf("%*c%d%*c%d&*c", &x2, &y2);
    cout << x1 << " " << y1 << "\n" << x2 << " " << y2 << "\n";
        return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2016, 20:43
Ответы с готовыми решениями:

Ввести три переменные формата word с клавиатуры
Здравствуйте! уже просмотрели кучу сайтов, но никак не получается применить к нашему коду. Нужно...

Сгенерировать числа, чтобы в массиве выходили числа заданного формата
Подскажите как сгенерировать числа, чтобы в массиве выходили числа формата +-##.##. Срочно нужно!

В 2 поля ввести 2 числа и вывести все непарные числа больше первого числа и меньше второго
Нужно в 2 поля ввести 2 числа и вывести все непарные числа больше первого числа и меньше второго;

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа,...

12
7794 / 6560 / 2985
Регистрация: 14.04.2014
Сообщений: 28,681
26.11.2016, 20:51 2
C++
1
scanf("(%d,%d)", &x1, &y1);
0
13 / 13 / 6
Регистрация: 21.11.2013
Сообщений: 365
26.11.2016, 20:55 3
Цитата Сообщение от watovl Посмотреть сообщение
"%*c%d%*c%d&*c"
А это что?
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 46
26.11.2016, 21:36  [ТС] 4
не работает так, второй раз не просит вводить

Добавлено через 51 секунду
исправил на "%*c%d%*c%d%*c" но суть та же, не работает
0
7794 / 6560 / 2985
Регистрация: 14.04.2014
Сообщений: 28,681
26.11.2016, 23:04 5
Как не работает? Оба вызова надо исправить по образцу. Это же очевидно.
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 46
27.11.2016, 12:01  [ТС] 6
Да исправил я так, но там всё равно косяки при вводе следующий данных, корочи что бы всё работало мне каждый раз приходится чистить поток ввода, тогда всё норм
0
7794 / 6560 / 2985
Регистрация: 14.04.2014
Сообщений: 28,681
27.11.2016, 12:17 7
C++
1
2
3
4
printf("Введите координаты начала отрезка\n");
scanf("(%d,%d)\n", &x1, &y1);
printf("Введите координаты конца отрезка\n");
scanf("(%d,%d)\n", &x2, &y2);
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 46
28.11.2016, 19:52  [ТС] 8
бля перед тем как задать тему, я испробывал кучу вариантов, и этот тоже, хватит по 3 раза писать одно и то же, говорю же у меня поток какого-то хера загрязняется при таком вводе и приходится его чистить
0
7794 / 6560 / 2985
Регистрация: 14.04.2014
Сообщений: 28,681
28.11.2016, 21:23 9
Цитата Сообщение от watovl Посмотреть сообщение
хватит по 3 раза писать одно и то же
Слушай, а, может, у тебя руки кривые? Внимательно посмотри на это "одно и то же". Сверяй посимвольно, пока не дойдёт.
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 46
28.11.2016, 22:57  [ТС] 10
нууу, при добавлении "\n" теперь он вообще вводить не просит

Добавлено через 3 минуты
а не там по другой причине не не просит вводить

Добавлено через 3 минуты
при "\n" вторая надпись не вылезает, и требует ввода, после ввода только второе сообщение появляется и без ввода

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
printf("Введите координаты начала отрезка\n");
    scanf("(%d,%d)", &x1, &y1);
 
    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); //очистка потока
 
    printf("Введите координаты конца отрезка\n");
    scanf("(%d,%d)", &x2, &y2);
 
    printf("x1 = %d y1 = %d\nx2 = %d y2 = %d\n", x1, y1, x2, y2);
Добавлено через 26 секунд
Только там у меня работает, при любых изменения - косяк
0
7794 / 6560 / 2985
Регистрация: 14.04.2014
Сообщений: 28,681
28.11.2016, 23:16 11
Вот:
C++
1
2
3
4
    printf("Введите координаты начала отрезка\n");
    scanf("(%d,%d)", &x1, &y1);
    printf("Введите координаты конца отрезка\n");
    scanf("\n(%d,%d)", &x2, &y2);
'\n' в начале второй форматной строки. Проверено в VS.
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
29.11.2016, 05:30 12
Цитата Сообщение от watovl Посмотреть сообщение
бля перед тем как задать тему, я испробывал кучу вариантов, и этот тоже, хватит по 3 раза писать одно и то же, говорю же у меня поток какого-то хера загрязняется при таком вводе и приходится его чистить
А посмотреть что потоке остается совесть не позволяет? getchar() и на вывод?
0
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 46
29.11.2016, 16:26  [ТС] 13
работает, спасибо. Что насчёт просмотра потока, то там постояно, на всех этапах "10" остаётся, хз откуда
0
29.11.2016, 16:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2016, 16:26
Помогаю со студенческими работами здесь

Ввести два числа. Ввести число n. Найти минимум ,если n=1. Максимум,если n=2
Даны два числа.Ввести целое число n. Если n=1,то найти минимум этих двух чисел. Если n=2, то найти...

Изменение формата числа
Здравствуйте! Подскажите , как сделать шестизначное число из однозначного или двузначного, или...

Создание пользовательского формата числа
Приветствую, коллеги!!! Требуется помощь в написании правила в среде VBA для задание формата...

Поиск числа определенного формата
Здравствуйте. Помогите пожалуйста, необходимо проверить каждую ячейку таблицы на наличие набора...


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

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