Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement