May 13, 2017 at 3:22pm UTC  
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 
#include<iostream> 
#include<string> 
using  namespace  std;
class  Person{
 
 private :
  string name;
  string last_name;
  double  some_num;
  double  some_num2;
 
 public :
   Person(){
   name="" ;
   last_name="" ;
   some_num=0.0;
   some_num2=0.0;
  }
  
  Person(string name, string last_name, double  some_num, double  some_num2){
     this ->name=name;
     this ->last_name=last_name;
     this ->some_num=some_num;
     this ->some_num2=some_num2;
  }
  
  void  setName(string name){this ->name=name;}
  string getName(){return  name;}
  void  setLast(string last_name){this ->last_name=last_name;}
  string getLast(){return  last_name;}
  void  setNum1(double  some_num){this ->some_num=some_num;}
  double  getNum1(){return  some_num;}
  void  setNum2(double  some_num2){this ->some_num2=some_num2;}
  double  getNum2(){return  some_num2;}
  void  name_last(){
    cout<<"Name: " <<name<<endl
        <<"Last name: " <<last_name<<endl<<endl;
  }
   
  void  info(){
    name_last();
    cout<<"Num1: " <<some_num<<endl
        <<"Num2: " <<some_num2<<endl<<endl;
  }
};
class  Register
{
public :
  
  
  Person prs_arr[100];
  int  num_of_people;
  bool  entered=false ;
  Register(){num_of_people=0;}
  
  void  add(Person p1){
    if (num_of_people>=100){cout<<"Register full" <<endl;}
    else {
      for (int  i=0;i<num_of_people;i++){
        if (p1.getName()==prs_arr[i].getName() && p1.getLast()==prs_arr[i].getLast()){
          cout<<"This person is already entered" <<endl;
          entered=true ;
        }
              
      }
    }
    
    if (entered==false ){
      prs_arr[num_of_people]=p1;
      ++num_of_people;
    }
  }
  void  delete_prs(Person p1){
    int  index=-1;
    Person *tmp=NULL;
    for (int  i=0;i<num_of_people;i++){
      if (p1.getName()==prs_arr[i].getName() && p1.getLast()==prs_arr[i].getLast()){
        index=i;
        break ;
      }
    }
    
    if (index>=0){
       tmp=&prs_arr[index];
       delete  tmp;
       tmp=NULL;
       prs_arr[index]=prs_arr[index+1];
       --num_of_people;
    }
  } 
  
  void  info_all(){
    for (int  i=0;i<num_of_people;i++){
      prs_arr[i].info();
    }
  }
  
};
int  main()
{
   Person p1("NN" ,"XX" ,123,212.21);
   Person p2("NN2" ,"XX2" ,1212,2121.212);
   
   p1.info();
   
   Register r1;r1.add(p1);
   Register r2;r2.add(p2);
   r1.info_all();
  return  0;
}[code]
[/code]
 
Last edited on May 13, 2017 at 3:22pm UTC  
 
 
 
 
  May 15, 2017 at 6:32am UTC  
 
What is the problem with info_all()? 
 
By the way: line 100 is wrong. You must not call delete   where you didn't previously called new   for. 
 
Actually to remove the person you need a loop on line 98  which goes from the determined index  to num_of_people - 1  . Thus you may initialize index  (line 89) with num_of_people .
 
 
 
 
  May 15, 2017 at 12:44pm UTC  
 
I don't get the total amount of people i just get the info of "p1".  In line 100 I'm trying to delete the array by using a pointer.
 
 
 
 
  May 15, 2017 at 1:24pm UTC  
 
Well, you add
p1 -> r1
p2 -> r
2 
then you print r1. So just remove r2 and use r1 instead.
In line 100 I'm trying to delete the array by using a pointer. 
Yes, that's wrong.
 
Last edited on May 15, 2017 at 1:25pm UTC  
 
 
 
 
  May 16, 2017 at 10:46am UTC  
 
i understood that what i meant was how would you delete the person from the array :D 
 
 
 
 
  May 16, 2017 at 11:58am UTC  
 
Thx a lot I almost lost hope that someone would answer my post :D