Структуры в Visual C++

Ответить
Lio
Сообщения: 3
Зарегистрирован: 26 май 2009, 17:10

Структуры в Visual C++

Сообщение Lio » 26 май 2009, 17:35

надо сделать прогу которая выводила бы инфу о жильцах дома по заданной улице и заданному дому.В структуре есть такие разделы:Фамилия , имя, отчество жильца , номер дома , номер квартиры, название улицы.Заполняется прога с клавы.

Аватара пользователя
Decoder
Сообщения: 301
Зарегистрирован: 19 фев 2008, 23:11
Откуда: Moscow

Re: Структуры в Visual C++

Сообщение Decoder » 26 май 2009, 18:23

Пиши на decoder@hotbox.ru
Договоримся. Программа в течение дня будет сделана.
Поумнеть несложно, куда труднее от дури избавиться.

Аватара пользователя
WinMain
Сообщения: 912
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Re: Структуры в Visual C++

Сообщение WinMain » 27 май 2009, 00:39

И что дальше? Хотя бы уточни, как должна быть сделана эта программа.
С графическим интерфейсом или с консольным?
Где храниться должны эти данные?
Приглашаю на свой сайт http://winmain.org

Lio
Сообщения: 3
Зарегистрирован: 26 май 2009, 17:10

Re: Структуры в Visual C++

Сообщение Lio » 27 май 2009, 10:17

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

Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 12:34
Откуда: Днепропетровск

Re: Структуры в Visual C++

Сообщение Albor » 27 май 2009, 11:05

даю наводку:

Код: Выделить всё

#include <iostream>
#include "algorithm"

struct address
{
    address()
    {
        std::fill(street, street+100,0);
        std::fill(home, home+10,0);
        std::fill(flat, flat+10,0);
    }
    address(char * pStreet,char * pHome, char * pFlat)
    {
        if(pStreet) strcpy(street,pStreet);
        if(pHome) strcpy(home,pHome);
        if(pFlat) strcpy(flat,pFlat);
    }
    void print()
    {
        std::cout<<street<<"-str"<<", "<<home<<"/"<<flat;
    }
private:
    char street[100];
    char home[10];
    char flat[10];
};

struct humman
{
    humman()
    {
        std::fill(fam, fam+100,0);
        std::fill(im, im+100,0);
        std::fill(ot, ot+100,0);
    }
    humman(char * pFam,char * pIm, char * pOt, address & Addr)
    {
        if(pFam) strcpy(fam,pFam);
        if(pIm) strcpy(im,pIm);
        if(pOt) strcpy(ot,pOt);
        addr=Addr;
    }
    void print()
    {
        std::cout<<fam<<' '<<im<<' '<<ot<<", address: ";
        addr.print();
    }
private:
    char fam[100];
    char im[100];
    char ot[100];
    address addr;
};

void main()
{
    humman h("Ivanov","Ivan","Ivanovich",address ("Sunny","10-a","17-b"));
    h.print();
    std::cout<<std::endl;
}
Остальное самостоятельно. Будут вопросы задавай.

Lio
Сообщения: 3
Зарегистрирован: 26 май 2009, 17:10

Re: Структуры в Visual C++

Сообщение Lio » 28 май 2009, 10:41

Код: Выделить всё

#include <iostream.h>
#include<string.h>
struct info
{
	char Famil[20];
	char Name[20];
	char Otch[20];
	char ulica[20];
	int dom;
	int room;
};

int main()
{
	int i=0;
	int r=0;
	int metka;
	int house;
	char street[20];
	 int  Vvod[10];
	for(i=0;i<10;i++)
	{
		cout<<"Vvedite number or -1 for out\n";
		cin>>metka;
		if ( metka==-1)
			break;
		cout<<"Vvedite number room\n";
		cin>>Vvod[i].room;
		cout<<"Vvedite number doma\n";
		cin>>Vvod[i].dom;
		cout<<"Vvedite Familiu\n";
		cin>>Vvod[i].Famil;
		cout<<"Vvedite Name\n";
		cin>>Vvod[i].Name;
		cout<<"Vvedite Otchestvo\n";
		cin>>Vvod[i].Otch;
		cout<<"Vvedite street\n";
		cin>>Vvod[i].ulica;
	}
	cout<<" Vvedite ulicu\n";
	cin>>street;
	cout<<"Vvedite dom \n":
	cin>>house;
	r=i;
	bool err = true;
	for(i=0;i<r;i++)
	{
		if(!strcmp(street,Vvod[i].ulica))
		
		
			
		{
			err=false;
			cout<<"Ulica"<<"Vvod[i].ulica"<<"\t";
			cout<<"dom"<<"Vvod[i].dom"<<"\t";
			cout<<"kvartira"<<"Vvod[i].room"<<"\t";
			cout<<"Vvod[i].Famil"<<"\t";
			cout<<"Vvod[i].Name"<<"\t";
			cout<<"Vvod[i].Otch"<<endl;
		}
		
}
if(err)
cout<<"Dannye vvedeny ne verno,pojaluysta budte vnimatelnee!\n";
return 0;
}
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Но в этом коде у меня гдето ошибка или недоработка. Заполняю прогу данными. Потом у меня выводит : введите улицу, введите дом, ты вводишь и потом прога должна бы искать совпадения но он при любом раскладе выводит что данные введены неверно.

Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 12:34
Откуда: Днепропетровск

Re: Структуры в Visual C++

Сообщение Albor » 28 май 2009, 11:39

Этот код компилятор вообще не должен пропустить. Ты объявляешь массив Vvod из 10 int-ов, а используешь его как объект info. Должно быть info Vvod[10].
но он при любом раскладе выводит что данные введены неверно.
Помни о том что strcmp учитывает регистр букв, поэтому строку для поиска нужно вводить точно так, как она хранится в массиве.

Ответить