Двоичные файлы: вывести информацию о клиентах, фамилии которых начинаются на "Шев" - C (СИ)

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

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

Не знаю как исправить ошибку. Не выводит людей фамилии которых начинаются на «Шев». Задание Информация к файлу: ФИО, номер телефона, адрес, стоимость переговоров. Вывести информацию о клиентах, фамилии которых начинаются на «Шев». Это часть программы
//-------------------------------------------------------------------------------------------------------------------
int PoiskShev(FILE *p)
{   int l=0;
    anketa x;
    fread(&x, sizeof(anketa), 1, p);    
    while (!feof(p))        
    {   if (x.familia=="Shev")  
        {   l=1;
            IzmeneniyeStruct(&x);
            printf ("%20s%10s%20s\n", x.familia, x.imia, x.otchestvo);
            printf ("ул.%20s, д.- %3d, кв.-%3d, ном.-%6d, c.-%10lf\n", x.prz.ulica, x.prz.nomerdoma, x.prz.nomerkvart, x.nomer, x.stoimost);
        }
        fread(&x, sizeof(anketa), 1, p);
    }
    fclose(p);              
    return l;
}

Решение задачи: «Двоичные файлы: вывести информацию о клиентах, фамилии которых начинаются на "Шев"»

textual
Листинг программы
#include <string.h>
...
if ( strcmp(x.familia, "Shev") == 0)

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

  1. Подключена библиотека string.h, которая содержит функции для работы со строками.
  2. В коде присутствует переменная x, которая, скорее всего, представляет собой структуру или объект, содержащий информацию о клиентах.
  3. В условии if используется функция strcmp для сравнения строки Shev с полем familia объекта x.
  4. Если значение поля familia начинается на Shev, то выполняется действие, которое не указано в представленном коде.

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


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

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

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