Получить от пользователя фамилию и вывести из этого файла инициалы и год рождения этого человека - C (СИ)

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

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

Здравствуйте. Имеется файл, из которого считываются строки вида
Ivanov A.A. 1234.
Требуется получить от пользователя фамилию и вывести из этого файла инициалы и год рождения этого человека. Что сделано: построчное считывание из файла при помощи

fgets

, разбиение строки при помощи

strtok

. Не работает только

strcmp

из условия: допустим, ввожу 'Ivanov' и(по идее) условие должно выполняться только тогда, когда ps будет равен 'Ivanov', но оно выполняется ВСЕГДА. Где я напутал, есть какие-нибудь идеи? спасибо.
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char str[256]={0}, name[256]={0};
    char *ps={0};
    int year=0; 
 
    FILE *f=fopen("input.txt", "r+");
    
    scanf("%s", name);
 
    while(!feof(f))
    {
        fgets (str , 256 , f);
        ps = strtok (str,".");
        while (ps != NULL)//
        {
            if((strcmp(name, ps))!=0)
            {       
                printf("%s\n",ps);
            }
            ps = strtok (NULL, ".");
        }
        
    }
 
    fclose(f);//закрываем файл
    getch();
    return 0;
}

Решение задачи: «Получить от пользователя фамилию и вывести из этого файла инициалы и год рождения этого человека»

textual
Листинг программы
printf( "\"%s\"\n", s );

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

  1. Вводится фамилия с помощью функции scanf.
  2. Фамилия сохраняется в переменной s типа char.
  3. Выводится фамилия с помощью функции printf.

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


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

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

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