Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не получается сделать поиск в базе данных ! 
:(
    Опции темы
dizel003
Дата 24.1.2008, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Здраствуйте! вот база данных где есть ввод и вывод всех записей!

Код

//Подключение библиотек
#include <iostream.h> 
 #include <fstream.h>
 #include <windows.h>
 #include <iomanip.h>
 //Русификация
 char bufRus[256]; 
 char *Rus (const char* text)
 {CharToOem(text,bufRus);
 return bufRus;
 }
 //Описание структуры
 struct Tovar 
 {
 //Ф.И.О.
 char name[50];
 char lastname[50];
 char firstname[50];
 //ДАТА
 int chislo;
 int masyac;
 int god;
 //Номер документа.
 char NomDokum[100];

 //адрес.
 char ylica [50];
 char dom[20];
 int korpus;
 double Kvartira;
 //Телефон.
 char tel[50];
 //Примечания
  int ColVo;
 double Cena;
 int Data;
 };
 //Прототип функции
 void read(Tovar); 
 void write(Tovar);
 
 //Функция main
 int main()
 {Tovar t;
 int menu;
 //Интерфейс
 cout<<Rus("1)Добавление новой записи")<<endl;
 cout<<Rus("2)Просмотр существующих записей")<<endl;

 
 cout<<Rus("Выбор: ");
 cin>>menu;
 switch(menu)//Вызовы функций
 {
 case 1:
     write(t);
     break; 
 case 2:
     read(t);
     break;
 default:cout<<Rus("Смотри что вводишь!");break;
 }
 return 0;
 }
 

 
 //Описание функции записи
 void write(Tovar t) 
 {
 ofstream fout("BD.txt",ios::app);
 int ENTER;
 do
 {
     //ИНИЦИАЛЛЫ.
 cout<<Rus("Введите фамилию ученика-")<<endl;
 cin>>t.lastname;
 cout<<Rus("Введите имя ученика-")<<endl;
 cin>>t.name;
 cout<<Rus("Введите отчество ученика-")<<endl;
 cin>>t.firstname;
//ДАТА.
 cout<<Rus("Введите число-")<<endl;
 cin>>t.chislo;
 cout<<Rus("Введите месяц-")<<endl;
 cin>>t.masyac;
 cout<<Rus("Введите год-")<<endl;
 cin>>t.god;
 //НОМЕР ДОКУМЕНТА
 cout<<Rus("Введите первую часть номера документа")<<endl;
 cin>>t.NomDokum;

 //Адрес.
 cout<<Rus("Введите улицу-")<<endl;
 cin>>t.ylica;
 cout<<Rus("Введите дом-")<<endl;
 cin>>t.dom;
 cout<<Rus("Введите корпус-")<<endl;
 cin>>t.korpus;
 cout<<Rus("Введите квартиру-")<<endl;
 cin>>t.Kvartira;
 //ТЕЛЕФОН.
 cout<<Rus("Введите телефон ( ВНИМАНИЕ! без пробелов и -) - ")<<endl;
 cin>>t.tel;
 //ПРИМЕЧАНИЕ.
 fout<<"\n"<<t.lastname<<"\n"<<t.name<<"\n"<<t.firstname<<"\n"<<t.chislo<<"\n"<<t.masyac<<"\n"<<t.god<<"\n" <<t.NomDokum<<"\n"<<t.ylica<<"\n"<<t.dom<<"\n"<<t.korpus<<"\n"<<t.Kvartira<<"\n"<<t.tel;
 cout<<Rus("Добавить ещё запись? 1-да, 2-нет")<<endl;
 cout<<Rus("Выбор: ")<<endl;
 cin>>ENTER;}
 while(ENTER!=2);
 fout.close();
 fout.clear();
 }
 
 
 /*---------------------------------------------------------------------------------*/
//Описание функции чтения
 void read(Tovar t) 
 {
 ifstream fin("BD.txt",ios::in);
 while (!fin.eof())
 {fin>>t.lastname>>t.name>>t.firstname>>t.chislo>>t.masyac>>t.god>>t.NomDokum>>t.ylica>>t.dom>>t.korpus>>t.Kvartira>>t.tel;
 cout<<setw(30)<<Rus("ВЫВОД:")<<endl;
 cout<<Rus("\nФ.И.О.- ")<<t.lastname<<" "<<t.name<<" "<<t.firstname<<"\n\n";
 cout<<Rus("ДАТА- ")<<t.chislo<<"."<<t.masyac<<"."<<t.god<<"\n\n";
 cout<<Rus("№Документа- ")<<t.NomDokum<<"\n"<<endl;
 cout<<setw(30)<<Rus("АДРЕС:")<<"\n";
 cout<<Rus("Улица: ")<<t.ylica<<endl;
 cout<<Rus("Дом: ")<<t.dom<<endl;
 cout<<Rus("Корпус: ")<<t.korpus<<endl;
 cout<<Rus("Квартира: ")<<t.Kvartira<<"\n"<<endl;
 cout<<Rus("Телефон   ")<<t.tel<<"\n";
 }
 fin.close();
 fin.clear();//очистка потока
 }






Мне нужено сделать поиск по фамилии а я не могу! подскажите как это можно сделать! Вот я написал поиск по дате для другой программы!!!


Код

void poisk(Tovar t) //Описание функции поиска
 {
     ifstream fin("base.txt");
 cout<<Rus("Введите дату поступления товара на склад")<<endl;
 int p;
 cin>>p;
 while (!fin.eof())
 {fin>>t.name>>t.ColVo>>t.Cena>>t.Data;
 if (p==t.Data)
 {

 cout<<Rus("Наименование:")<<t.name<<"\t"<<Rus("Количество:")<<t.ColVo<<"\t"<<Rus("Цена:")<<t.Cena<<"\t"<<Rus("Дата поступления товара:")<<t.Data<<endl;
 }
 }
 }




Ещё мне очень хотелось бы чтобы все записи сохранялись на русском языке в файл а не каракули и тоже не как не могу исправить! И мне хотелось бы как нибудь сделать так чтобы после ввода данных не приходилось выходить из компелятора и сразу можно былобы посмотреть все записи, а то я смог сделать чтобы при нажатии 2 он выходил! Вот собственно и все что у меня не получается ( поиск по фамилии, сохранении на русском языке, и чтобы не выходить из программы)
  
Заранее всем спасибо!!!

Добавлено через 56 секунд
Я так и не понял как можно исправить тему которую закрыли и я создалл новую такуюже но поменял название! 
PM MAIL   Вверх
JackYF
Дата 24.1.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(dizel003 @  24.1.2008,  19:41 Найти цитируемый пост)
Я так и не понял как можно исправить тему которую закрыли и я создалл новую такуюже но поменял название!  

Редактированием своего первого поста, где в том числе можно изменять название темы.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
archimed7592
Дата 24.1.2008, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


Профиль
Группа: Завсегдатай
Сообщений: 2531
Регистрация: 12.6.2004
Где: Moscow

Репутация: 6
Всего: 93




Модератор: Сообщение скрыто.



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
warmonger_
Дата 24.1.2008, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.7.2007
Где: г. Киев

Репутация: 1
Всего: 3



Цитата(dizel003 @  24.1.2008,  20:41 Найти цитируемый пост)
И мне хотелось бы как нибудь сделать так чтобы после ввода данных не приходилось выходить из компелятора и сразу можно былобы посмотреть все записи, а то я смог сделать чтобы при нажатии 2 он выходил!


если я тебя правильно понял, то тебе нужен readline
--------------------
Make everything as simple as possible, but not simpler.Albert Einstein
PM MAIL   Вверх
dizel003
Дата 25.1.2008, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 7.11.2007

Репутация: нет
Всего: нет



Цитата(warmonger_ @ 24.1.2008,  22:27)
Цитата(dizel003 @  24.1.2008,  20:41 Найти цитируемый пост)
И мне хотелось бы как нибудь сделать так чтобы после ввода данных не приходилось выходить из компелятора и сразу можно былобы посмотреть все записи, а то я смог сделать чтобы при нажатии 2 он выходил!


если я тебя правильно понял, то тебе нужен readline

Ну можешь дать пример хоть как это использовать!
PM MAIL   Вверх
warmonger_
Дата 25.1.2008, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.7.2007
Где: г. Киев

Репутация: 1
Всего: 3



dizel003, там есть пример в конце, посмотри.
--------------------
Make everything as simple as possible, but not simpler.Albert Einstein
PM MAIL   Вверх
Lycifer
Дата 25.1.2008, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 4.11.2007

Репутация: нет
Всего: нет



Ну вопервых посмотри что ты вы выводишь в файл(на английском языки)
Проанализируй.
Во вторых 

И мне хотелось бы как нибудь сделать так чтобы после ввода данных не приходилось выходить из компелятора и сразу можно было бы посмотреть все записи, а то я смог сделать чтобы при нажатии 2 он выходил!
 Так это там где у тебя case для выбора надо поставить цикл это два.

Три. После того как проанализируеш (файл), то посмотри что тебе нужно.
 
А вообще книги читай!!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0453 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.