Вывод содержимого массива структур на экран - C (СИ)
Формулировка задачи:
Сваял структуру:
Как содержимое на экран вывести?
#include <stdio.h> #include <string.h> #define SIZE 25 struct date_by_date { char girlfriend [SIZE]; char meeting [SIZE]; }diary[5]; void girlfriends() { int i, j; for(i=0;i<5;i++) {puts ("Enter her name:"); gets (diary[i].girlfriend);} } void meetings() { int i, j; for(i=0;i<5;i++) {puts ("\nEnter the meeting place:"); gets (diary[i].meeting);} } int main() { girlfriends(); meetings(); }
ф-и printf и gets, при обращении к diary[i].girlfriend и diary[i].meeting работать не желают, в чем ошибка?
Решение задачи: «Вывод содержимого массива структур на экран»
textual
Листинг программы
#include <stdio.h> #define SIZE 25 typedef struct _date_by_date { char girlfriend [SIZE]; char meeting [SIZE]; } date_by_date; int main() { date_by_date* z; int i,k=0; printf("Enter size of diary:\n"); scanf ("\n%d",&k); if( k<=0 ) return 0; // выделение памяти z = (date_by_date*) malloc( k * sizeof(date_by_date)); for(i=0;i<k;i++) { printf("Enter her name:\n"); scanf("%s", z[i].girlfriend); printf("Enter the meeting place:\n"); scanf ("\n%s", z[i].meeting); } printf("----------------------------\n"); for(i=0;i<k;i++) { printf("%s"" ", z[i].girlfriend); printf("%s\n", z[i].meeting); printf("----------------------------\n"); } free(z);// освобождение памяти return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива в переменной SIZE
- Создаем структуру date_by_date, которая содержит два массива символов
- В функции main() объявляем указатель z на структуру date_by_date и переменную k для хранения размера массива
- Запрашиваем у пользователя размер массива и проверяем его на корректность
- Выделяем память под массив структур date_by_date
- В цикле запрашиваем у пользователя данные для заполнения структуры date_by_date и сохраняем их в массиве z
- Выводим разделительную строку
- В цикле выводим на экран содержимое массива z
- Освобождаем память, выделенную под массив z
- Завершаем функцию main() и программу
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д