Как записать в структуре строку с пробелами? - C (СИ)

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

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

В структуре нужно записать строку с пробелами, но gets пропускает, а printf работает до пробела.
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <windows.h>
  5. struct films
  6. {
  7. char name[60];
  8. char actor[60];
  9. int time;
  10. int price;
  11. };
  12. void read(struct films *Films, int i);
  13.  
  14. void read(struct films *Films, int i)
  15. {
  16. for (int j = 0; j < i; j++)
  17. {
  18. printf("Введiть назву фільма\n");
  19. gets(&Films[j].name);
  20. printf("Имя главного героя\n");
  21. scanf("%s",&Films[j].actor);
  22. printf("Длина фильма\n");
  23. scanf("%d", &Films[j].time);
  24. printf("Стоимость диска\n");
  25. scanf("%d", &Films[j].price);
  26. }
  27. }
  28. int main()
  29. {
  30. SetConsoleCP(1251);
  31. SetConsoleOutputCP(1251);
  32. struct films Films[2];
  33. read(Films, 2);
  34. printf("\n");
  35.  
  36. _getch();
  37. return 1;
  38. }

Решение задачи: «Как записать в структуре строку с пробелами?»

textual
Листинг программы
  1.        printf("Введiть назву фільма\n");
  2.         gets(Films[j].name); // амперсенд не нужен
  3.         printf("Имя главного героя\n");  
  4.         scanf("%s",Films[j].actor); // тут тоже

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

  1. Вводится название фильма с помощью функции printf и gets.
  2. Значение переменной Films[j].name сохраняется введенное пользователем название фильма.
  3. Выводится запрос на ввод имени главного героя с помощью printf.
  4. Используя функцию scanf, значение переменной Films[j].actor заполняется введенным пользователем именем главного героя.

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


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

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

15   голосов , оценка 3.733 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы