Сбой при вводе элементов структуры - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Есть структура:
struct goods {
  char name[20];
  int price;
  int amount;
  char customer[20];
  char customer_adress[20];
  } data;
Необходимо её инициализировать с клавиатуры, делаю следующее:
    printf(" Name: "); scanf("%s",data.name);
    printf(" Price: "); scanf("%d",&data.price);
    printf(" Amount: "); scanf("%d",&data.amount);
    printf(" Customer: "); scanf("%c",data.customer);
    printf(" Customer adress: "); scanf("%c",data.customer_adress);
Теперь о проблеме...Компилирую запускаю...Пример работы программы:
Name: milk Price: 25 Amount: 100 Customer: Customer adress: Alyaska
Т.е. первые три значения(name,price,amount) вводятся нормально, а вот когда доходит до
printf(" Customer: "); scanf("%c",data.customer);
программа почему то "совершает ввод за меня", т.е. попросту проскакивает этот ввод, и переходит к следующей строке...Кто подскажет в чём дело?

Решение задачи: «Сбой при вводе элементов структуры»

textual
Листинг программы
printf(" Customer: "); scanf("%c",data.customer);

Объяснение кода листинга программы

  1. Программа использует функцию printf для вывода сообщения Customer: в консоль.
  2. Затем программа использует функцию scanf для чтения одного символа из стандартного ввода и сохранения его в переменной data.customer.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы