Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.03.2009, 17:59   #1
Cdevelop
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 43
По умолчанию Поиск в файле

Код:
#include <fstream>
#include <iostream>
#include <atlbase.h>
#define RUS(x) CW2A(L ## x, 866)
using namespace std;
class telephon
{
private:
	char book[255];
	int number;
	char name[64];
	char pos[64];
	char familia[64];
public:
telephon(char *name)
{
     strcpy(book,name);
}
	int dob_zanic()/*добавить запись в конец файла*/
	{
		ofstream book_file(book, ios::app);
			cout<<RUS("Введите фамилию")<<endl;
		cin>>familia;
		book_file<<familia<<" ";
			cout<<RUS("Введите номер")<<endl;
		cin>>number;
		book_file<<number<<endl;
		book_file.close();
		return 0;
	}
	int poisk()/*ввели фамилию выводит номер*/
	{
		ifstream input_file(book);
		cout<<RUS("Введите фамилию")<<endl;
		cin>>pos;
		while(!input_file.eof())
			input_file.getline(familia,sizeof(familia));
		if(familia==pos)
		input_file>>number;
		cout<<number<<endl;
		return 0;
	}
};
int main()
{
	int k;
	char g[255];
    cout<<RUS("Имя файла  ");
	cin>>g;
	telephon A(g);
	cout<<RUS("Есле хотьте добавить запись нажмите 1")<<endl;
	cout<<RUS("Есле хотьте найти номер нажмите 2")<<endl;
	cin>>k;
	switch(k)
	{
		case 1:
	A.dob_zanic();
	break;
		case 2:
	A.poisk();
	break;
	}
	cin.get();
}
Где ошыбка в поиске?!
Cdevelop вне форума
Старый 15.03.2009, 18:24   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

строки так: (familia==pos) не сравнивают. if (!strcmp(familia, pos))
pu4koff вне форума
Старый 15.03.2009, 18:47   #3
Cdevelop
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 43
По умолчанию

Спасибо!Токо чтото не выводит.Сразу закрывает!
UPD by MaTBeu
//за "Помогите!" получишь предупреждение

Последний раз редактировалось MaTBeu; 15.03.2009 в 22:55.
Cdevelop вне форума
Старый 16.03.2009, 18:30   #4
Cdevelop
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 43
По умолчанию

Ввел фамалиию и сразу закрывет!
Код:
int poisk()/*ввели фамилию выводит номер*/
	{
		ifstream input_file(book);
		cout<<RUS("Введите фамилию")<<endl;
		cin>>pos;
		while(!input_file.eof())
		input_file.getline(familia,sizeof(familia));
		if(!strcmp(familia, pos))
		input_file>>number;
		cout<<number<<endl;
		return 0;
	}
Cdevelop вне форума
Старый 16.03.2009, 19:41   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Глупость какая-то написана.
Код:
while(!input_file.eof())
input_file.getline(familia,sizeof(familia));
Считываем весь файл, доходим до его конца. В familia будут содержаться не более 64 последних байт файла.
Код:
if(!strcmp(familia, pos))
input_file>>number;
Проверяем эти последние 64 байта с искомой фамилией. Если они идентичны, значит пытаемся из конца файла прочитать число. А файл то уже кончился.
Должно быть как-то так:
Код:
while(!input_file.eof())
{
  //1. Считываем из файла фамилию
  //2. Считываем из файла номер
  if (!strcmp(familia, pos))
  {
    cout << number << endl;
  }
}
pu4koff вне форума
Старый 16.03.2009, 19:49   #6
Cdevelop
Пользователь
 
Регистрация: 14.03.2009
Сообщений: 43
По умолчанию

Спасибо!вот балда.
Cdevelop вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в файле Zandrey Microsoft Office Excel 8 05.09.2008 12:23
поиск в файле Elm0 Паскаль, Turbo Pascal, PascalABC.NET 14 07.06.2008 22:41
Поиск в файле lin Помощь студентам 3 25.05.2007 08:40
Поиск в файле asale Microsoft Office Excel 1 15.05.2007 23:33