Список студентов

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Dozen
Сообщения: 8
Зарегистрирован: 27 окт 2010, 16:12

подскажите плз как вывести отдельно информацию только о мужчинах? :confused:

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

#include<iostream.h>
 
class Student{
public:
  char Name[10][10];
  char Sname[10][10];
  char Gr[10][10];
  int Num;
  char Sex[10];
  void Input(int N);
  void Out(int N);
 
}STUD;
 
 
 
 
class Second :p ublic Student{
 
public:
 int Math[10];
 int Fiz[10];
 int Fil[10]; 
 int OP[10];
 int OS[10];
 int Itogo[10];
  void Input(int N);
}SND; 
 
void Student::Input(int N)
{
cout<<"Name ";
cin>>Name[N];
cout<<"SName ";
cin>>Sname[N];
cout<<"Gr ";
cin>>Gr[N];
cout<<"Sex ";
cin>>Sex[N];
}
 
void Student::Out(int N)
{
cout<<"Num "<<N<<endl;
cout<<"Name "<<Name[N]<<endl;
cout<<"SName "<<Sname[N]<<endl;
cout<<"Gr "<<Gr[N]<<endl;
cout<<"Sex "<<Sex[N]<<endl;
cout<<"Itogo "<<SND.Itogo[N]<<endl;
}
 
 
 
void Second::Input(int N)
{
 
cout<<"Math ";
cin>>Math[N];
cout<<"Fiz ";
cin>>Fiz[N];
cout<<"Fil ";
cin>>Fil[N];
cout<<"OP ";
cin>>OP[N];
cout<<"OS ";
cin>>OS[N];
Itogo[N]=Math[N]+Fiz[N]+Fil[N]+OP[N]+OS[N];
 
 
}
 
 
 
 
void main()
{
int c=0,N=0;
 
m1:
cout<<"Input 1 Output 2 ";
cin>>c;
cout<<"Num ";
cin>>N;
 
if(c==1)
{
  STUD.Input(N);
  SND.Input(N);
 
}
 
if(c==2)
{
 STUD.Out(N);
 
}
else
 goto m1;
 
m4:
cout<<"Next 1 Exit 2 Man 3";
cin>>c;
if(c==1)
goto m1;
if(c==2)
goto m2;
if(c==3)
goto m3;
else
goto m4;

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

Dozen писал(а):подскажите плз как вывести отдельно информацию только о мужчинах? :confused:
При выводе проверять поле Student::Sex, кстати, нерационально использовать массив для этого поля, поскольку может быть только 2 значения. Можно даже использовать bool bMan, например, то есть: либо мужчина, либо нет.
Dozen
Сообщения: 8
Зарегистрирован: 27 окт 2010, 16:12

спасибо, сейчас буду пробовать)
Dozen
Сообщения: 8
Зарегистрирован: 27 окт 2010, 16:12

а как выводить всех мужчин сразу, выводится только последний введеный(
Albor
Сообщения: 491
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

Dozen писал(а):а как выводить всех мужчин сразу, выводится только последний введеный(
А где цикл вывода? N вводится каждый раз при добавлении записи, а при выводе не изменяется и используется последнее введенное значение. С таким кодом нужно больше комментариев, через пару дней вы сами забудете где что и как. Постарайтесь переписать код без использования goto, а то на 2 десятка строк 4 метки.
Ответить