Изменение заданной структуры в массиве структур - C (СИ)

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

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

Добрый день! Интересует вопрос по поводу изменения уже существующей структуры. Нужно просто изменить значение полей. Буду рад любой помощи.Код функции изменения(Передаю в нее нужную структуру).
void edit(General general)
{
    printf("Enter the typography:    ");
    gets(general.typography);
    printf("Enter the price:     ");
    scanf("%d",&general.price);
    getchar();
    printf("Enter the type of object (1 Book 2 Calendar):    ");
    scanf("%d",&general.typeObj);
    getchar();
    
    if(general.typeObj==1)
    {
        printf("Enter the headline:  ");
        gets(general.choice.book.name);
        printf("Enter the author:    ");
        gets(general.choice.book.author);
        printf("Enter the number of pages:   ");
        scanf("%d",&general.choice.book.pages);
        getchar();
    }   else {
        printf("Enter the type:     ");
        gets(general.choice.calendar.type);
        printf("Enter the format:    ");
        gets(general.choice.calendar.format);
        printf("Enter the size:     ");
        scanf("%d",&general.choice.calendar.size);
        getchar();
    }
 
    puts("");
}
А вот объявление структур
typedef struct Book {
    char name[20];
    char author[20];
    int pages;
}Book;
typedef struct Calendar {
    int size;
    char type[20];
    char format[20];
}Calendar;
typedef union Choice {
    Book book;
    Calendar calendar;
}Choice;
typedef struct General {
    Choice choice;
    TypeObj typeObj;
    char typography[20];
    int price;
}General;
Данные не меняются. При печати данной структуры поля остаются преждними.

Решение задачи: «Изменение заданной структуры в массиве структур»

textual
Листинг программы
Book books;

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

  1. Объявляется переменная books типа Book (предполагается, что это структура или класс с именем Book)
  2. Инициализируется переменная books (предполагается, что это делается с помощью присваивания значения переменной books значениям полей структуры Book)
  3. В цикле изменяются поля структуры Book (предполагается, что это делается с помощью указания полей структуры и присвоения им новых значений)
  4. Цикл выполняется до тех пор, пока условие истинно (предполагается, что это условие проверяется перед каждой итерацией цикла)
  5. Значения полей структуры Book изменяются (предполагается, что это делается с помощью присваивания новых значений полям структуры)
  6. Цикл завершается (предполагается, что это происходит после выполнения всех итераций цикла)
  7. Результат изменения структуры Book возвращается (предполагается, что это делается с помощью возврата значения переменной books)

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


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

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

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