Dev - C++ - Lista cadenas de caracteres con manejo stcpy, ordenar lista, no funciona

 
Vista:
sin imagen de perfil
Val: 53
Ha disminuido su posición en 8 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Lista cadenas de caracteres con manejo stcpy, ordenar lista, no funciona

Publicado por Rayo (31 intervenciones) el 26/11/2020 04:11:50
Hola, El titulo es lo que quiero realizar, se trata de un juego donde terminando el mismo con un puntaje , se debe colocar el nombre por debajo o por encima de otros jugadores con otro puntaje;

el codigo es el siguiente, es una fraccion de codigo:

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
void GrabarPuntuacion(char nombre[],int Buncos,int PuntajeFinal, int puntos[], char ListaNombres[]){
 
 
int contador=0;
char nom[15];
 
 
for(int a=0; a<6; a++){
 
    if(PuntajeFinal>puntos[a])
 
        contador++;
}
 
for(int a=0; a<contador; a++){
 
    if(a+1==contador){
 
        puntos[a]=PuntajeFinal;
        strcpy(nom, nombre);
        strcpy(ListaNombres[a],nom);  ////////////////////////////////////aca esta el problema//////////////////////////////
    }
 
    else{
 
        puntos[a]=puntos[a+1];
 
    }
 
 
}
 
}


gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Lista cadenas de caracteres con manejo stcpy, ordenar lista, no funciona

Publicado por Rodrigo (539 intervenciones) el 26/11/2020 06:53:42
ListaNombres es un arreglo de char, no un arreglo de strings, por lo que la posicion i-esima de ese arreglo es un char, no un string.
Como has definido ese arreglo cuando invocaste la funcion?

Sugiero incluyas como defines el arreglo que usas para invocar la funcion y como la estas invocando.
Parece mas o menos claro para mi que el problema esta en la definicion de ese arreglo, ademas de la incorrecta firma de la funcion.

Cambia, al menos, la definicion a que ListaNombres sea char *ListaNombres[] y asegurate de pedir memoria para cada posicion de ese arreglo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 53
Ha disminuido su posición en 8 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Lista cadenas de caracteres con manejo stcpy, ordenar lista, no funciona

Publicado por El autor (31 intervenciones) el 26/11/2020 14:33:17
Debido a que es complejo para el nivel de programacion que manejo, Lista nombres se definio en main como char ListaNombres[15] y como la funcion "GrabaarPuntuacion" es una funcion de header, se declaro como:

void GrabarPuntuacion(char [],int ,int, int [], char[]); para ser directos, el ultimo char, es el que corresponde a lista nombres. en el pre-procesador se incluyo cstring.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar