-
Notifications
You must be signed in to change notification settings - Fork 1
/
hashadiq.cpp
76 lines (67 loc) · 1.22 KB
/
hashadiq.cpp
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
#include <iostream>
#include <cstdio>
#include <map>
#include <string>
using namespace std;
typedef struct
{
int cod;
string fname;
string lname;
string bday;
string tel;
} INFO;
#define MAX_LINE_LEN 100000
int main(void)
{
map<int, INFO> bd;
map<int, INFO>::iterator it;
INFO *pbd;
string fname, lname, bday, tel, cmd;
int cod;
while (cin >> cmd)
{
if (cmd == "add")
{
cin >> cod >> fname >> lname >> bday >> tel;
pbd = &bd[cod];
if (pbd->cod == cod)
printf ("ID %d ja cadastrado.\n", cod);
else
{
pbd->cod = cod;
pbd->fname = fname;
pbd->lname = lname;
pbd->bday = bday;
pbd->tel = tel;
}
}
else if (cmd == "del")
{
cin >> cod;
it = bd.find(cod);
if (it == bd.end())
printf ("ID %d nao existente.\n", cod);
else
bd.erase(it);
}
else if (cmd == "info")
{
cin >> cod;
it = bd.find(cod);
if (it == bd.end())
printf ("ID %d nao existente.\n", cod);
else
{
cout << it->second.cod << endl;
cout << it->second.fname << " " << it->second.lname << " " << it->second.bday << " " << it->second.tel << endl;
}
}
else if (cmd == "query")
{
char line[MAX_LINE_LEN + 1];
cin.getline(line, MAX_LINE_LEN);
}
}
return 0;
}