Поиск

Статус
Закрыто для дальнейших ответов.

Firiat

Well-known member
19.10.2010
48
0
#1
Здорова всем. Как организовать две функции поиска : одна функция ищет по полю "Марка", а вторая функция ищет по "Фамилии владельца и Году выпуска"??? Спс)))
C++:
//методы и конструкторы
# include <string.h>
#ifndef __DATE_H
#define __DATE_H

class Car
{
char *marka;
int god;
int nomer;
char *familiya;
public:
Car ::Car () {marka=new char; *marka='\n'; god=0; nomer=0;familiya=new char; *familiya='\n';};
Car (char *n,char *k,int s,int b);
int get_god(){return god;}
int get_nomer() {return nomer;}
char * get_marka() {return marka;}
char * get_familiya() {return familiya; }
void vvod ();
void vivod ();
void poisk(char *m);
};
#endif
C++:
//тело
# include <iostream>
# include <conio.h>
# include <math.h>
# include "glavnoe.h"

using namespace std;

void Car::vvod ()
{
cout <<" Введите марку машины:\n";
cin >> marka;
cout << " Введите год выпуска машины: \n";
cin >> god;
cout << " Введите номер машины: \n";
cin >> nomer;
cout << " Введите фамилию автовладельца: \n ";
cin >> familiya; 
}

void Car::vivod ()
{
cout<<"-------------------------------------------\n";
cout<<"Марка машины : "<<marka<<"\n";
cout<<"-------------------------------------------\n";
cout<<"Фамилия автовладельца: "<<familiya<<"\n";
cout<<"-------------------------------------------\n";
cout<<"Номер машины: "<<nomer<<"\n";
cout<<"-------------------------------------------\n";
cout<<"Год выпуска машины: "<<god<<"\n";
cout<<"-------------------------------------------\n";
cout<<"\n\n\n";
}

Car ::Car (char *n,char *k,int s,int b)
{
marka=new char;
familiya=new char;
strcpy(marka,n);
strcpy(familiya,k);
god=s;
nomer=b;
}

void poisk (char *m);
{
for(int i=0;;i++)

}
C++:
//main
# include <iostream>
# include <conio.h>
# include <math.h>
# include "glavnoe.h"
using namespace std;
void main ()
{
bool f=false;
setlocale (LC_ALL,".1251");
Car mas[10];
Car t;
U:
cout << "************************************ \n";
cout << "  1. Регистрация машин \n";
cout << "  2. Вывод зарегистрированных машин\n";
cout << "  3. Поиск по марке\n";
cout << "  4. Поиск по фамилии и году\n";
cout << "************************************ \n";
char k;
cin >>k;
cout<<"\n";
switch (k)
{
case '1':
{
int m;
cout << " Сколько машин нужно для регистрации: \n";
cin >> m;
for ( int i=0;i<m;i++)
{
mas[i].vvod();
}
break;	
}
case '2':
{
cout << " Вывод массива машин : \n";
mas[0].vivod();
break;
}
case '3':
{
cout << " Введите марку машины для поиска: ";
cin>>marka;
mas[0].poisk(marka);

}
default:cout<<"Ошибка";
break;
}
goto U;
getch (); 
}
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
Тут случай трудный на самом деле... Ты в курсе что у тебя даже без поиска программа работать не будет? А если и будет, то вопреки здравому смыслу.
Такая запись как: char *a = new char; выделяет один байт(!), а не строку или массив символов.
 

Firiat

Well-known member
19.10.2010
48
0
#3
Она работает gut :gigi: без поиска а с поиском что то не пойму
 

lazybiz

Well-known member
03.11.2010
1 339
0
#4
Я чрезмерно рад.

Читай еще раз:
... А если и будет, то вопреки здравому смыслу.
Т.ч. исправляй. Поскольку даже без поиска она работает не так как надо, и реализацию поиска в программе, полной ошибок, делать бессмысленно.
 
Статус
Закрыто для дальнейших ответов.