#include #include #include #define M 7 #define N 33 struct magazin { char name[N]; char shop[N]; unsigned int price; }; typedef struct magazin magazin; int main() { magazin * x, b; FILE * file; FILE * fp; int p, t, whattodo; int m = 7; int i = 0, f = 0; char limit[N]; x = (magazin * ) malloc(M * sizeof(magazin)); printf("\033[1;33mПРОГРАММА ДЛЯ ПОИСКА ТОВАРА В МАГАЗИНАХ\033[0m\n"); printf("Выберите режим работы:\n1) Выводить информацию по столбцам 2) Выводить информацию по номеру\n"); printf("Введите номер: "); scanf("%d", & whattodo); //////////////////Часть для поиска номеров поезда////////////////////// printf("----{Поиск данных из структуры}----- \n(1) - Товар, (2) - Магазин, (3) - Цена\nВыберите номер: "); scanf("%d", & t); file = fopen("magazin.txt", "r"); printf("---{СТРУКТУРА}---\n"); while ((fscanf(file, "%s%s%d", x[i].name, x[i].shop, & x[i].price)) != EOF) { if (whattodo == 2) { switch (t) { case 1: printf("{%d} %s\t\n", i + 1, x[i].name); break; case 2: printf("{%d} %s\t\n", i + 1, x[i].shop); break; case 3: printf("{%d} %d\t\n", i + 1, x[i].price); break; } } else { printf("{%d} %s\t%s\t%d\n", i + 1, x[i].name, x[i].shop, x[i].price); } i++; } fclose(file); fp = fopen("magazin.dat", "wb"); fwrite( & m, sizeof(int), 1, fp); for (i = 0; i < M; i++) { fwrite( & x[i], sizeof(magazin), 1, fp); } fclose(fp); fp = fopen("magazin.dat", "rb"); fread( & m, sizeof(int), 1, fp); if (whattodo == 2) { printf("Введите номер строчки для просмотра информации: "); scanf("%d", & p); } fseek(fp, (p - 1) * sizeof(magazin), SEEK_CUR); fread( & b, sizeof(magazin), 1, fp); if (whattodo == 1) { if (t == 1) { for (i = 0; i < M; i++) { printf("Товар: %s\n", x[i].name); } } if (t == 2) { for (i = 0; i < M; i++) { printf("Магазин: %s\n", x[i].shop); } } if (t == 3) { for (i = 0; i < M; i++) { printf("Цена товара: %u\n", x[i].price); } } } if (whattodo == 2) { if (t == 1) { printf("Товар: %s\n", b.name); } if (t == 2) { printf("Магазин: %s\n", b.shop); } if (t == 3) { printf("Цена товара: %u\n", b.price); } } free(x); fclose(fp); return 0; } Наушники МВидео 575 Ноутбук МВидео 36555 Клавиатура DNS 899 Клавиатура Эльдорадо 998 Мышь Эльдорадо 585 Телефон Эльдорадо 15999