Изменение заданной структуры в массиве структур - 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;
Объяснение кода листинга программы
- Объявляется переменная
booksтипаBook(предполагается, что это структура или класс с именемBook) - Инициализируется переменная
books(предполагается, что это делается с помощью присваивания значения переменнойbooksзначениям полей структурыBook) - В цикле изменяются поля структуры
Book(предполагается, что это делается с помощью указания полей структуры и присвоения им новых значений) - Цикл выполняется до тех пор, пока условие истинно (предполагается, что это условие проверяется перед каждой итерацией цикла)
- Значения полей структуры
Bookизменяются (предполагается, что это делается с помощью присваивания новых значений полям структуры) - Цикл завершается (предполагается, что это происходит после выполнения всех итераций цикла)
- Результат изменения структуры
Bookвозвращается (предполагается, что это делается с помощью возврата значения переменнойbooks)