Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - cbug

#41
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
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
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]
#44
Visual Studio lo que trae consigo, parecido a object pascal o borland delphi, es un diseñador de interfaces, WinForms.
#45
Por favor pon el source completo, y utiliza las etiquetas GeShi.
#46
Que mejor que consultar:

http://alleg.sourceforge.net/api.html

Nunca he utilizado allegro, pero no es muy difícil de comprender teniendo la documentación a mano, si sabes C/C++ no será muy difícil de entenderlolo, ya que se utilizan estructuras muy sencillas, y funciones con parámetros más que comprensibles.
#48
Quieres que se te explique línea por línea? O qué cosa?

PD: No te recomiendo allegro para nada... Comienza con sdl:

http://gpwiki.org/index.php/C:SDL_tutorials
http://www.libsdl.org/cgi/docwiki.cgi
#49
Si tienes los archivos de cabecera en la MISMA carpeta que el main.cpp entonces deberías incluirlas de la siguiente forma:

#include "atlbase.h"
#include "atlapp.h"


En otro caso deberías especificar la ruta de los archivos de cabecera.
#50
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.