-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cjt_idiomas.cc
64 lines (53 loc) · 1.47 KB
/
Cjt_idiomas.cc
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
/** @file Cjt_idiomas.cc
@brief Implementación de la clase Cjt_idiomas
*/
#include "Cjt_idiomas.hh"
Cjt_idiomas::Cjt_idiomas(){}
void Cjt_idiomas::anadir_idioma(){
string id_nombre;
Tabla_frec tf;
cin >> id_nombre;
tf.leer();
map <string, Idioma>:: iterator it = vidi.find(id_nombre);
if (it == vidi.end()){
Idioma id (tf);
vidi.insert(make_pair(id_nombre, id));
cout << "Anadido " << id_nombre << endl;
}
else{
(*it).second.modificar_idioma(tf);
cout << "Modificado " << id_nombre << endl;
}
}
void Cjt_idiomas::leer_idiomas(){
int nidi;
cin >> nidi;
for (int i=0; i<nidi; ++i){
Tabla_frec tf;
string name;
cin >> name;
tf.leer();
Idioma id (tf);
vidi.insert(make_pair(name, id));
}
}
bool Cjt_idiomas::esta_idioma(const string& nombre_id) const{
map <string, Idioma>:: const_iterator it = vidi.find(nombre_id);
if (it == vidi.end()) return false;
return true;
}
string Cjt_idiomas::codifica(const string& nombre, string& palabra){
return vidi[nombre].codifica(palabra);
}
int Cjt_idiomas::decodifica(const string& nombre, string& palabra){
return vidi[nombre].decodifica(palabra);
}
void Cjt_idiomas::consultar_tabla(const string& nombre){
vidi[nombre].consultar_tabla();
}
void Cjt_idiomas::consultar_treecode(const string& nombre){
vidi[nombre].consultar_treecode();
}
void Cjt_idiomas::consultar_codigos(const string& nombre, const string& comando){
vidi[nombre].consultar_codigos (comando);
}