Ayuda en pokedex con arboles c++
Publicado por Felipe (1 intervención) el 11/07/2018 07:31:26
Primero mencionar que soy nuevo en el mundo de c++, estoy intentando hacer una pokedex con arboles mi problema es no logro que funcione lo poco que llevo y segundo es que no me queda claro si mejor trabajar con Char o con string, pues tal parece que el nodo no reconoce al string como un tipo y eso me jode de ahi para abajo pra resolver el resto de problemas y el char me parece un poco muy complicado :/
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
#include <iostream>
#include <string.h>
#include <stdio.h>
//crear primer nodo"EGG" El arbol consiste en un tipo de pokemon y el nombre del pokemon
//parte desde EGG y de ahi para abajo, el nivel del pokemon se conoce por estar a la izquierda o derecha
// siendo izquiera menor nivel y derecha su evolucion o nivel 2
struct nodo{
std::string pokemon;
int tipo;
nodo *der;
nodo *izq;
};
nodo *pokedex = NULL;
void *crear_pokedex(std::string poke, int tipo){
nodo *nuevo_nodo = new nodo();
nuevo_nodo->pokemon = poke;
nuevo_nodo->tipo = tipo;
return nuevo_nodo;
}
void agregar_pokemon(nodo *&pokedex,std::string ante, std::string poke, int tipo){
std::string egg = "egg";
nodo nodo_izq = *pokedex->izq;
nodo nodo_der = *pokedex->der;
std::string pok_izq[] = nodo_izq ->pokemon;
std::string pok_der[] = nodo_der->pokemon;
if(pokedex == NULL){
nodo *nuevo_nodo = crear_pokedex(poke, tipo);
pokedex = nuevo_nodo;
}
else if(ante.compare(ante)==0){
agregar_pokemon(pokedex->izq, ante, poke, tipo);
}
else if(poke_izq.compare(ante)==0){
agregar_pokemon(pokedex->izq, ante, poke, tipo);
}
else if(poke_der.compare(ante)==0){
agregar_pokemon(pokedex->der, ante, poke, tipo);
}
else if(pokedex->izq != NULL){
agregar_pokemon(pokedex->izq, ante, poke, tipo);
}
else {
agregar_pokemon(pokedex->der, ante, poke, tipo);
}
}
int main() {
char comando[10];
char ante[50];
char poke[50];
int tipo;
char add[]="add"
nodo pokedex = crear_pokedex("egg",0);
cout<<"Escriba un comando :"<<endl;
gets(comando);
if (strcmp(comando,add)){
cout<<"Escriba en orden: \nantecesor, pokemon, tipo : ";
gets(ante);
gets(poke);
cin>>tipo>>endl;
agregar_pokemon(*&pokedex, ante, poke, tipo);
}
return 0;
}
//el codigo esta muy movido y perdon si esta confuso
Valora esta pregunta


0