Получить от пользователя фамилию и вывести из этого файла инициалы и год рождения этого человека - 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 );
Объяснение кода листинга программы
- Вводится фамилия с помощью функции scanf.
- Фамилия сохраняется в переменной s типа char.
- Выводится фамилия с помощью функции printf.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д