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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2011, 23:46   #11
Sergey240892
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 33
По умолчанию

А как мне можно количество персон задать динамически, и заполнять их данные?
Sergey240892 вне форума Ответить с цитированием
Старый 26.05.2011, 23:19   #12
Sergey240892
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 33
По умолчанию

Подскажите как, пожалуйста.
Sergey240892 вне форума Ответить с цитированием
Старый 27.05.2011, 07:13   #13
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

std ::cout<<"Enter number n\n";
std::cin>>n;
int *a=new int[n];
Тока вместо int ставишь свой тип
Biggs вне форума Ответить с цитированием
Старый 27.05.2011, 09:27   #14
Sergey240892
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 33
По умолчанию

посмотрите что тут не так?
#include "iostream"
#include <stdio.h>
#include <string>
#include <conio.h>

using namespace std ;

class Person
{
public:
string name;
string adres;
int dat;
string telefon;
double rost;
double ves;

void scan()
{
cin>>name>>adres>>dat>>telefon>>ros t>> ves>>endl;
}


};
int main ()
{
int n,i ;
cout<<"Enter number n\n";
cin>>n;
Person *a=new Person[n];
for( i;i<n;++i)
a[i].scan();
a[i].print();
getch();
}
Sergey240892 вне форума Ответить с цитированием
Старый 27.05.2011, 10:20   #15
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

функция print не определена в классе
Biggs вне форума Ответить с цитированием
Старый 27.05.2011, 16:07   #16
Sergey240892
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 33
По умолчанию

Я добавил, но ничего не вышло.
#include "iostream"
#include <stdio.h>
#include <string>
#include <conio.h>

using namespace std ;

class Person
{
public:
string name;
string adres;
int dat;
string telefon;
double rost;
double ves;

void print()
{
cout<<"\nname: "<<name
<<"\nadres: "<<adres
<<"\ngod_rojdeniya: "<<dat
<<"\ntelefon: "<<telefon
<<"\nrost: "<<rost
<<"\nves: "<<ves<<endl;
}

void scan()
{
cin>>name>>adres>>dat>>telefon>>ros t>> ves>>endl;
}

};
int main ()
{
int n,i ;
cout<<"Enter number n\n";
cin>>n;
Person *a=new Person[n];
for( i;i<n;++i)
a[i].scan();
a[i].print();
getch();
}
Sergey240892 вне форума Ответить с цитированием
Старый 27.05.2011, 17:35   #17
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

После for скобки и после cin endl надо было не ставить

#include "iostream"
#include <stdio.h>
#include <string>
#include <conio.h>
//#include<сstdlib>
using namespace std ;

class Person
{
public:
string name;
string adres;
int dat;
string telefon;
double rost;
double ves;

void scan()
{
cin>>name>>adres>>telefon>>dat>>ros t>>ves;
}
void print()
{
cout<<"\nname: "<<name
<<"\nadres: "<<adres
<<"\ngod_rojdeniya: "<<dat
<<"\ntelefon: "<<telefon
<<"\nrost: "<<rost
<<"\nves: "<<ves<<endl;
}

};
int main ()
{
int n ;
cout<<"Enter number n\n";
cin>>n;
Person *a=new Person[n];
for(int i=0;i<n;i++)
{
a[i].scan();
a[i].print();
}



getch();
return 0;

}
Biggs вне форума Ответить с цитированием
Старый 27.05.2011, 17:37   #18
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Не забудь еще сортировку сделать -^
Biggs вне форума Ответить с цитированием
Старый 30.05.2011, 19:06   #19
Sergey240892
Пользователь
 
Регистрация: 28.02.2011
Сообщений: 33
По умолчанию

Я сделал сортировку, оно выводит отсортированное.Только оно не соответствует своим полям.
Код:
#include "iostream"
#include <stdio.h>
#include <string>
#include <conio.h>

using namespace std ;

class Person
{
public:
string name;
string adres;
int dat;
string telefon;
double rost;
double ves;

	  void print()
	  {
		cout<<"\nname: "<<name
			<<"\nadres: "<<adres
			<<"\ngod_rojdeniya: "<<dat
			<<"\ntelefon: "<<telefon
			<<"\nrost: "<<rost
			<<"\nves: "<<ves<<endl;
	  }
void scan()
{
	printf("\nname: ");
	cin>>name;
	printf("adres: ");
	cin>>adres;
	printf("dat: ");
	cin>>dat;
	printf("telefon: ");
	cin>>telefon;
	printf("rost: ");
	cin>>rost;
	printf("ves: ");
	cin>>ves;
		;}

};
int main ()
{
int n;
int i;
cout<<"Vvedite colihestvo person: ";
cin>>n;
Person *a=new Person[n];
for(int i=0;i<n;++i)
a[i].scan();
 for (int i=0;i<n;i++)
a[i].print();
 
	  //sorting po name
	  printf("\nsortirovka po name\n");
		   	  for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].name>a[j].name)
			{ 
				string tmp=a[j].name; 
				a[j].name=a[i].name;
				a[i].name=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   
	 
	       //sorting po adresu
	  printf("\nsortirovka po adresu\n");
	
	
   for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].adres>a[j].adres)
			{ 
				string tmp=a[j].adres; 
				a[j].adres=a[i].adres;
				a[i].adres=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   
 	 
	  //sorting po godu rogdeniya
	     printf("\nsortirovka po date rojdeniya\n");
		
	   for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].dat>a[j].dat)
			{ 
				int tmp=a[j].dat; 
				a[j].dat=a[i].dat;
				a[i].dat=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   

	   	  //sorting po telefonu
	     printf("\nsortirovka po telefonu\n");
			   for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].telefon>a[j].telefon)
			{ 
				string tmp=a[j].telefon; 
				a[j].telefon=a[i].telefon;
				a[i].telefon=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   
	    
	   //sorting po rostu
	      printf("\nsortirovka po rostu\n");
		
	   for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].rost>a[j].rost)
			{ 
				double tmp=a[j].rost; 
				a[j].rost=a[i].rost;
				a[i].rost=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   
	    
	     //sorting po vesu
	      printf("\nsortirovka po vesu\n");
		 
	   for(int i=0;i<n-1;i++){ 
        for(int j=i+1;j<n;j++){ 
			if(a[i].ves>a[j].ves)
			{ 
				double tmp=a[j].ves; 
				a[j].ves=a[i].ves;
				a[i].ves=tmp;
            }
        }
    }
       for (int i=0;i<n;i++)
		a[i].print();	   
	   

getch();
return 0;
}

Последний раз редактировалось Sergey240892; 30.05.2011 в 20:13.
Sergey240892 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы с++ Blad47 Помощь студентам 11 13.10.2011 20:36
классы Blade47 Общие вопросы C/C++ 2 05.04.2011 15:29
Классы honest Помощь студентам 5 21.09.2009 21:23