#include #include struct BigData { int year; char country[100]; char metal[100]; int nomenal; double price; }; struct List { struct BigData data; struct List *next; }; struct List *begin = NULL; struct BigData AddBigData() { struct BigData data; printf("Введите год\n"); scanf("%d", &data.year); printf("Введите номинал\n"); scanf("%d", &data.nomenal); printf("Введите цену\n"); scanf("%lf", &data.price); printf("Введите страну\n"); scanf("%s", data.country); printf("Метал\n"); scanf("%s", data.metal); return data; } void AddBegin() { struct List *list = malloc(sizeof(struct List)); system("clear"); if(begin == NULL) { list->data = AddBigData(); list->next = NULL; begin = list; } else { list->data = AddBigData(); list->next = begin; begin = list; } } void Print() { struct List *list = begin; system("clear"); while(list) { printf("Год\n"); printf("%d\n", list->data.year); printf("Номинал\n"); printf("%d\n", list->data.nomenal); printf("Цена\n"); printf("%lf\n", list->data.price); printf("Страна\n"); printf("%s\n", list->data.country); printf("Метал\n"); printf("%s\n", list->data.metal); list = list->next; } } int main() { char menu; char run = 1; do { system("clear"); puts("1.Вывести содержимое на экран\n2.Добавить элемент\n3.Выход"); menu = getchar(); switch(menu) { case '1': Print(); break; case '2': AddBegin(); break; case '3': run = 0; break; } }while(run); return 0; }