Телефонный справочник: повторно добавляется последняя введенная фамилия - C (СИ)
Формулировка задачи:
Задача:написать программу, которая записывает в файл имя, фамилию и номер телефона.За один сеанс работы
в файл можно добавить информацию о нескольких людях.
Код написала, проблема в том, что повторно добавляется последняя введенная фамилия. Данные правильно записывает в файл и только косяк с повтором фамилии.Как можно переделать код?
#include <stdio.h> #include <iostream> #define N 100 void main() { setlocale(0,"Russian"); FILE*f; char surname[N]; char name[N]; int a; if((f=fopen("K:\\hellome.txt","w"))==NULL) printf("Файл не найден\n"); else { printf("Добавление информации в телефонный справочник\n"); printf("Фамилия->"); scanf("%s",surname); fprintf(f,"%s ",surname); while(!feof(stdin)) { printf("Имя->"); scanf("%s",name); printf("Номер->"); scanf("%d",&a); fprintf(f," %s %d \n",name,a); puts("\nИнформация добавлена\n"); printf("Фамилия->"); scanf("%s",surname); fprintf(f,"%s ",surname); } } fclose(f); }
Решение задачи: «Телефонный справочник: повторно добавляется последняя введенная фамилия»
textual
Листинг программы
#include <stdio.h> #include <iostream> #define N 100 void main() { setlocale(0,"Russian"); FILE*f; char surname[N]; char name[N]; int a; if((f=fopen("K:\\hellome.txt","w"))==NULL) printf("Файл не найден\n"); else { printf("Добавление информации в телефонный справочник\n"); while(!feof(stdin)) { printf("Фамилия->"); scanf("%s",surname); fprintf(f,"%s ",surname); printf("Имя->"); scanf("%s",name); printf("Номер->"); scanf("%d",&a); fprintf(f," %s %d \n",name,a); puts("\nИнформация добавлена\n"); } } fclose(f); }
Объяснение кода листинга программы
Вывод информации в справочник на экран и запись в файл «hello.txt»:
- Фамилия->
- Имя->
- Номер->
- Информация добавлена
- Фамилия->
- Имя->
- Номер->
- Информация добавлена
- Фамилия->
- Имя->
- Номер->
- Информация добавлена
- Фамилия->
- Имя->
- Номер->
- Информация добавлена
- Фамилия->
- Имя->
- Номер->
- Информация добавлена
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д