Как записать в структуре строку с пробелами? - C (СИ)
Формулировка задачи:
В структуре нужно записать строку с пробелами, но gets пропускает, а printf работает до пробела.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <windows.h> struct films { char name[60]; char actor[60]; int time; int price; }; void read(struct films *Films, int i); void read(struct films *Films, int i) { for (int j = 0; j < i; j++) { printf("Введiть назву фільма\n"); gets(&Films[j].name); printf("Имя главного героя\n"); scanf("%s",&Films[j].actor); printf("Длина фильма\n"); scanf("%d", &Films[j].time); printf("Стоимость диска\n"); scanf("%d", &Films[j].price); } } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); struct films Films[2]; read(Films, 2); printf("\n"); _getch(); return 1; }
Решение задачи: «Как записать в структуре строку с пробелами?»
textual
Листинг программы
printf("Введiть назву фільма\n"); gets(Films[j].name); // амперсенд не нужен printf("Имя главного героя\n"); scanf("%s",Films[j].actor); // тут тоже
Объяснение кода листинга программы
- Вводится название фильма с помощью функции
printf
иgets
. - Значение переменной
Films[j].name
сохраняется введенное пользователем название фильма. - Выводится запрос на ввод имени главного героя с помощью
printf
. - Используя функцию
scanf
, значение переменнойFilms[j].actor
заполняется введенным пользователем именем главного героя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д