|
41
|
Programación / Programación C/C++ / Re: Problema con struct dentro de libreria
|
en: 23 Julio 2010, 16:31 pm
|
cbug@laptop:~/Desktop gcc p.c cbug@laptop:~/Desktop$ ./a.out La BANCA gana al 1º jugadorn El 1º jugador se paso y pierde 2p
Si pruebas el siguiente programa verás que funciona correctamente: #include <stdio.h> #include <stdlib.h> struct perfiljugador{ float jugada; int puntos; }; struct perfiljugador *reservar(int n){ struct perfiljugador *p; p = (struct perfiljugador *) malloc(n *sizeof(p )); return p; } void CalcularPuntos(struct perfiljugador *, int, struct perfiljugador *); int main() { struct perfiljugador *players; players = reservar(2); players[0].jugada = 10.5; players[0].puntos = 5; players[1].jugada = 5.1; players[1].puntos = 3; CalcularPuntos(players, 1, &players[0]); return 0; } void CalcularPuntos(struct perfiljugador *players, int n, struct perfiljugador *banca){ do{ if(players[n].jugada > 7.5){ printf("El %dº jugador se paso y pierde 2p\n",n + 1); players[n].puntos -= 2; printf("Puntuacion total: %d",players [n ]. puntos); }else if(players[n].jugada > banca->jugada){ printf("El %dº jugador gana a la banca, gana 2p\n", n + 1); players[n].puntos += 2; printf("Puntuacion total: %d", players [n ]. puntos); } else { printf("La BANCA gana al %dº jugadorn\n",n ); banca->puntos += 2; } n--; }while(n>=0); }
De última, o tienes mal configurado netbeans, o directamente estás haciendo cualquier otra cosa que no podemos estar adivinando pues no ponés tu organización de directorio archivos de cabecera, etc. PD: Utiliza gcc.
|
|
|
42
|
Programación / Programación C/C++ / Re: Problema con struct dentro de libreria
|
en: 23 Julio 2010, 16:18 pm
|
Leíste el código? Verás que estás utilizando mal los operadores de acceso a estructura, y al parecer tampoco sabes utilizar tu lista de estructuras... En ningún momento dije que tenías que poner TODO en un solo programa. Ahora bien, en la función que elaboraste "CalcularPuntos" debes modificar algunas cosas, pero puedes guiarte por como utilizo los accesos a estructuras en main. Fijate el resultado para que tu función trabaje correctamente: void CalcularPuntos(struct perfiljugador *players, int n, struct perfiljugador *banca){ do{ if(players[n].jugada > 7.5){ printf("El %dº jugador se paso y pierde 2p\n",n + 1); players[n].puntos -= 2; printf("Puntuacion total: %d",players [n ]. puntos); }else if(players[n].jugada > banca->jugada){ printf("El %dº jugador gana a la banca, gana 2p\n", n + 1); players[n].puntos += 2; printf("Puntuacion total: %d", players [n ]. puntos); } else { printf("La BANCA gana al %dº jugadorn\n",n ); banca->puntos += 2; } n--; }while(n>=0); //Acuerdate que se apunta hasta el primer elemento que es 0 }
|
|
|
43
|
Programación / Programación C/C++ / Re: Problema con struct dentro de libreria
|
en: 23 Julio 2010, 16:06 pm
|
Tal vez te ayude esto: #include <stdio.h> #include <stdlib.h> struct perfiljugador{ float jugada; int puntos; }; struct perfiljugador *reservar(int n){ struct perfiljugador *p; p = (struct perfiljugador *) malloc(n *sizeof(p )); return p; } void CalcularPuntos(struct perfiljugador *, int, struct perfiljugador *); int main() { struct perfiljugador *players; players = reservar(2); players[0].jugada = 10.5; players[0].puntos = 5; players[1].jugada = 5.1; players[1].puntos = 3; printf("\nJugadas>%f\n", players ->jugada ); printf("\nPuntos>%d\n", players ->puntos ); printf("\nJugadas>%f\n", players [1]. jugada); printf("\nPuntos>%d\n", players [1]. puntos); CalcularPuntos(players, 2, &players[1]); return 0; } void CalcularPuntos(struct perfiljugador *players, int n, struct perfiljugador *banca){ do{ if(players[n].jugada > 7.5){ printf("El %dº jugador se paso y pierde 2p\n",n ); players[n].puntos -= 2; printf("Puntuacion total: %d",players [n ]. puntos); }else if(players[n].jugada > banca->jugada){ printf("El %dº jugador gana a la banca, gana 2p\n", n ); players[n].puntos += 2; printf("Puntuacion total: %d", players [n ]. puntos); } else { printf("La BANCA gana al %dº jugadorn\n",n ); banca->puntos += 2; } n--; }while(n>0); }
Para utilizar GeShi, encierra el código entre las etiquetas: [ code = c] [ /code]
|
|
|
50
|
Programación / Programación General / Re: que tal es el lenguaje delphi o objet pascal?¿
|
en: 22 Julio 2010, 15:13 pm
|
Son buenos lenguajes de programación, no por ello más que C. Ahora bien, en C trabajar con GUI's es algo complicado, por lo que te recomendaría pasar a C++, para ese tipo de cosas. Visual Studio en sus versiones trae consigo un diseñador de interfaces, sino tienes otra alternativa, que sería QT.
|
|
|
|
|
|
|