Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
state
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 6
#1

Телефонный справочник. Не могу решить - C++

26.11.2009, 11:53. Просмотров 809. Ответов 6
Метки нет (Все метки)

Ребят помогите пожалуйста. Задачку надо решить не сложную. У меня что-то не выходит..


Составить программу телефонный справочник, которая имеет меню:
1-добавление
2-поиск
3-завершение работы
Команда "добавление" дописывает в файл-имя фамилия и номер телефона абонента.
Если файла на диске нет, то программа должна создать его.
В файле информация о каждом абоненте находиться в отдельной строке.
Команда "поиск" должна запрашивать фамилию человека и выводить его телефон,если есть люди с одинаковым именем или фамилией или телефоном, то вести список всех людей. Если нет людей то вести сообщение.


Делал, делал, но почему то он всегда выводит сообщение о том что нет таких людей, всегда. Даже когда выводятся люди, он в конце выводит это сообщение.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{file *p; int x,i,q;
char fam[30],ima[10],tel[10],fam1[30];
k:setlocale[lc_all,"russian"];
cout<<"1-добавление"<<endl<<"2-Поиск"<<endl<<"3-завершение"<<endl;
cin>>x; q=0;
{if (x==1)
{p=fopen("c:\\temp\\spravochnik.txt","a");
if (p!=NULL)
{cout<<"Введите фамилию",<<"Имя"<<"Телефон"<<endl;
setlocal(lc_all,".866");
cin>>fam>>ima>>tel;
fprintf(p,"%s%s%s\n",fam,ima,tel);
fclose(p);} else puts ("файла нет");
goto k;}
if (x==2) (p=fopen("c:\\temp\\spravochnik.txt","r");
if (p!=NULL)
{setlocal(lc_all,"russian");
cout<<"введите фамилию"<<edl;
setlocal(lc_all,".866");
cin>>fam1;
while (!feof(p)) {fscanf(p,"%s%s%s\n",&fam,&ima,&tel);
if (!strcmp(fam,fam1))
{cout<<fam<<" "<<tel<<endl;q++;}}
if (q==0) setlocale (lc_all,"russian");
cout<<"Данных нет"<<endl;fclose(p);}
else puts ("Файла нет");
goto k;}
if(x==3) return 0;}
return 0;}
могут быть ошибки, писал с листочка.

ХЕЛП!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2009, 11:53     Телефонный справочник. Не могу решить
Посмотрите здесь:

Не работает телефонный справочник - C++
Код #include &lt;iostream&gt;; #include &lt;cstdio&gt;; using namespace std; int main() { setlocale(LC_ALL,&quot;Russian&quot;); int...

Телефонный справочник консоль - C++
Помогите пожалуйста! Приложение должно выполнять основные функции телефонного справочника: - ввод сведений о новых абонентах...

Телефонный справочник города - C++
Файл содержит телефонный справочник некоторого города по следующей структуре : каждая строка содержит телефон , фамилия , название улицы,...

Создать телефонный справочник на С++ - C++
Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в базу. Удаление абонентов из базы. ...

Телефонный справочник на visual C++ - C++
Ребят, помогите. Нужно написать программу Телефонный справочник. Объявить структуру для хранения информации об элементе телефонного...

Телефонный справочник C (без классов) - C++
Написать информационную систему &quot;Телефонный справочник&quot; со следующими требованиями: - динамическое изменение размеров массива для...

Телефонный справочник (исправление ошибок) - C++
Помогите исправить ошибки. telefone.h; #ifndef TELEPHONE_H #define TELEPHONE_H #include &lt;string&gt; using namespace std; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mamedovvms
2916 / 837 / 93
Регистрация: 30.04.2009
Сообщений: 2,624
26.11.2009, 12:00     Телефонный справочник. Не могу решить #2
а может тебе надо вот так записать
C++
1
2
3
4
5
if (q==0)
{
 setlocale (lc_all,"russian");
cout<<"Данных нет"<<endl;fclose(p);
}
Добавлено через 1 минуту
у тебя же к условию нет блока по этому выполняется при условии только то что после него
state
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 6
26.11.2009, 21:01  [ТС]     Телефонный справочник. Не могу решить #3
я пробовал так писать, всяко пробовал.
Он тогда сообщение "Данных нет" вообще никогда не выводит:-(((
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.11.2009, 04:12     Телефонный справочник. Не могу решить #4
Код
setlocale[lc_all,"russian"];
регистр не соблюдён, LC_ALL (имена макросов обычно пишутся большими буквами NULL, EOF, LC_ALL и так далее)
и слишком много раз эта функция вызывается, когда одного достаточно
state
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 6
27.11.2009, 14:28  [ТС]     Телефонный справочник. Не могу решить #5
дело ведь не в этом.
Дело мне кажется в скобках, но как их расставить.
говорю же с листочка писал, мог и маленькими буквами написать, так то они большими в программе
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.11.2009, 02:35     Телефонный справочник. Не могу решить #6
проверь фигурные скобки на парность
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2009, 17:52     Телефонный справочник. Не могу решить
Еще ссылки по теме:

Разработать программу - телефонный справочник. - C++
Если можете, помогите пожалуйста! Задание такое: Разработать программу - телефонный справочник. 1. Объявить структуру &quot;RECORD&quot;...

Телефонный справочник с возможностью редактирования - C++
Помогите составить справочник. Абонент должен иметь фамилию, номер и адрес(улица и номер дома). Должны быть возможности пополнения, поиска...

Создать структуру, содержащую телефонный справочник - C++
Создать структуру, содержащую телефонный справочник. Программа должна производить: - создание и заполнение с клавиатуры полей структуры; ...

Написать программу «расширенный телефонный справочник» - C++
Написать программу «расширенный телефонный справочник». Создайте массив указателей из двух элементов. Каждый указатель массива ссылается...

Работа с файлами (создать телефонный справочник) - C++
Здравствуйте! Задание создать телефонный справочник. Какая функция используется для записи введенных данных в файл и как правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
state
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 6
28.11.2009, 17:52  [ТС]     Телефонный справочник. Не могу решить #7
По парно всё норма
Yandex
Объявления
28.11.2009, 17:52     Телефонный справочник. Не могу решить
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru