#include <bits/stdc++.h>
using namespace std;
typedef struct contact
{
char *name;
char *number;
char *birthday;
char *email;
char *memo;
}contact;
contact *contacts;
int total=0;
void initDB()
{
contacts = new contact[50001];
}
void Add(char *name,char *number,char *birthday,char *email,char *memo)
{
contacts[total].name = name;
contacts[total].number = number;
contacts[total].birthday = birthday;
contacts[total].email = email;
contacts[total].memo = memo;
total++;
}
int main()
{
initDB();
char name[20];
char number[20];
char birthday[20];
char email[20];
char memo[20];
for (int i = 0; i < 4; ++i)
{
cin >> name>>number>>birthday>>email>>memo;
Add(name,number,birthday,email,memo);
}
cout << contacts[0].memo<<" "<<contacts[1].memo<< endl;
return 0;
}
I have created an array pointer using new contact[50001]
;
Suppose I have input like
A 111 0101 a.com aaa
B 222 0202 b.com bbb
C 333 0303 c.com ccc
D 444 0404 d.com ddd
When I print first insert second row, it removes all previous records. The output of my code is ddd ddd. How can I get the desired result? Thanks in advance.