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 - bestfriend

#1
Disculpa pero no logro entender como aplico eso para colorear las casillas de mi tablero? Te adjunto la función del programa que imprime el tablero a ver si me puedes ayudar a buscar como implementar esa utilidad.

////////////////////////////////Imprime el tablero///////////////////////////////////////////////////////////////////////////
int imprimirTablero()
{
  int k,j,i;
   system("cls");
   for(i=0;i<T;i++)
       {
      if (i==0)
      {
         printf("  ");
         for(k=0;k<T;k++)
            printf(" %d ",k);
         printf("\n");
      }

      printf("%d ",i);
           for(j=0;j<T;j++)
     {
                   printf(" %c ",tablero[i][j]);
             }
             printf("\n");
       }
}
#2
Hola espero que me puedan ayudar con este problemilla que tengo la verdad el programa me corre bien lo que necesito es añadirle color al tablero (fondo y texto), pero no se como hacerlo si pudieran ayudarme seria excelente. Les adjunto el codigo:

#define T 8
#include <stdio.h>
#include <stdlib.h>

int turno = 0;
char tablero[T][T];

/////////////////////////////////////////Rellena el tablero despues de un movimiento////////////////////////////////////////
int llenarTablero()
{
  int i,j,k;
   for(i=0;i<T;i++)
       for(j=0;j<T;j++)
      {
         if(i<3&&((i+j)%2==0))
            tablero[i][j]='N';
         else
            if((i>4)&&((i+j)%2==0))
               tablero[i][j]='B';
            else
               tablero[i][j]= ' ' ;
      }
}
///////////////////////////////////////Pausa para continuar///////////////////////////////////////////////////////////
void pausar()
{
   printf("\nPresione 'c' para continuar...");
   while(getchar()!='c');
}
////////////////////////////////Imprime el tablero///////////////////////////////////////////////////////////////////////////
int imprimirTablero()
{
  int k,j,i;
   system("cls");
   for(i=0;i<T;i++)
       {
      if (i==0)
      {
         printf("  ");
         for(k=0;k<T;k++)
            printf(" %d ",k);
         printf("\n");
      }

      printf("%d ",i);
           for(j=0;j<T;j++)
     {
       
                   printf(" %c ",tablero[i][j]);
             }
             printf("\n");
       }
}
/////////////////////////////Valida cada movimiento de pieza/////////////////////////////////////////////////////////////////
int moverPieza(int x, int y, int direccion)
{
   if(turno==1)
   {
      if(tablero[x][y]!='n')
      {
         printf("No existe pieza negra en la posicion %d %d \n", x, y);
      ;
      }
      else
      {
         printf("Direccion %d \n", direccion);
         if(direccion==1&&(y-1)>=0&&(x+1)<8)
         {
            if(tablero[x+1][y-1]==' ')
            {
               tablero[x][y] =' ';
               tablero[x+1][y-1]= 'n';
            }
            else
               if(tablero[x+1][y-1]=='b'&&tablero[x+2][y-2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x+1][y-1]= ' ';
                  tablero[x+2][y-2]= 'n';
                  printf("La pieza negra se comio la pieza Blanca en %d %d \n", x + 1, y - 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
         }
         else
         {
            if(direccion==1)
               printf("La pieza no puede moverse pues sale del tablero");
             
         }
         
         if(direccion==2&&(y+1)<8&&(x+1)<8)
         {
            if(tablero[x+1][y+1]==' ')
            {
               tablero[x][y]=' ';
               tablero[x+1][y+1]= 'n';
            }
            else
               if(tablero[x+1][y+1]=='b'&&tablero[x+2][y+2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x+1][y+1]=' ';
                  tablero[x+2][y+2]='n';
                  printf("La pieza negra se comio la pieza Blanca en %d %d \n", x + 1, y + 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
             
         }
         else
         {
            if(direccion==2)
               printf("La pieza no puede moverse pues sale del tablero");
               
         }
      }
      turno=0;
   }
   else
       if(turno==0)
   {
      if(tablero[x][y]!='b')
      {
         printf("No existe pieza Blanca en la posicion %d %d \n", x, y);
             
      }
      else
      {
         if(direccion==1&&(y-1)>=0&&(x-1)>=0)
         {
            if(tablero[x-1][y-1]==' ')
            {
               tablero[x][y]=' ';
               tablero[x-1][y-1]='b';
            }
            else
               if(tablero[x-1][y-1]=='n'&&tablero[x-2][y-2]==' ')
               {
                  tablero[x][y]=' ';
                  tablero[x-1][y-1]=' ';
                  tablero[x-2][y-2]='b';
                  printf("La pieza Blanca se comio la pieza negra en %d %d \n", x - 1, y - 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
                 
         }
         else
         {
            if(direccion==1)
               printf("La pieza no puede moverse pues sale del tablero");
                 
         }
         
         if(direccion==2&&(y+1)<8&&(x-1)>=0)
         {
            if(tablero[x-1][y+1]==' ')
            {
               tablero[x][y] = ' ';
               tablero[x-1][y+1]='b';
            }
            else
               if(tablero[x-1][y+1]=='n'&&tablero[x-2][y+2]==' ')
               {
                  tablero[x][y] = ' ';
                  tablero[x-1][y+1]=' ';
                  tablero[x-2][y+2]='b';
                  printf("La pieza Blanca se comio la pieza negra en %d %d \n", x + 1, y + 1);
               }
               else
                  printf("La pieza no puede moverse a una casilla ocupada");
         }
         else
         {
            if(direccion==2)
               printf("La pieza no puede moverse pues sale del tablero");
                 
         }
      }
         turno=1;
    }
      pausar();
}
//////////////////////////////////////////Se elige la fila y columna a donde se desea realizar el movimiento de la pieza///////////////////////////////////////
int jugar()
{
   int x, y, direccion;
   imprimirTablero();
   if(turno==1)
   {
      printf("Seleccione la ficha negra que desea mover...\n");
       
   }
   else if(turno==0)
   {
      printf("Seleccione la ficha Blanca que desea mover...\n");
       
   }
   
   printf("\tIntroduzca la fila y columna\n");
   scanf("%d %d",&x,&y);
   printf("\tElija la direccion del movimiento,\n\tIzquierda [1]\n\tDerecha [2]\n");
   scanf("%d",&direccion);
   moverPieza(x, y, direccion);
   return 1;
   
}
/////////////////////////////////////Manual que contiene las instrucciones del juego////////////////////////////////////////////////////////////////////
int manual()
{
    printf("\tEn este juego parte el jugador con las piezas blancas\n El tablero esta enumerado del 0 al 7,desde arriba hacia abajo y de izquierda a derecha\n\tLas negras estan arriba y las blancas abajo\n\tLuego de cada movimiento para continuar debe presionar [c]\n\tLas coordenadas de la ficha que desea mover debera ser ingresada con un espacio entre cada numero\n"); 
}
//////////////////////////////////////////////////////MENU/////////////////////////////////////////////////////////////
int main(){
   int menu,aux=0;
  while(aux!=1)
  {
      printf("\n\n\n\t**************BIENVENIDO AL JUEGO DE LAS DAMAS EN C************\n\t*****  *****\t********  ****     **\t***    ***\n\t***  **  ***\t***       ** **    **\t***    ***\n\t***  **  ***\t******    **  **   **\t***    ***\n\t***      ***\t***       **    ** **\t**********\n\t***      ***\t********  **     ****\t**********\n\tpara leer el manual presione [1]\n\tpara comenzar a jugar presione [2]\n\tpara salir presione [0]\n");
      scanf("%d",&menu);
 
      if(menu==2)
      {
   system("cls");
   llenarTablero();
   while(jugar());
   aux=1;
      }
   else if(menu==0)
      {
   
   printf("\t\t******ADIOS******\n\tGRACIAS POR PREFERIR DAMAS EN C\n\n");
   aux=1;
   system("cls");
   return 0;
      }
   else if(menu==1)
      {
   manual();
   aux=0;
      }   
   else if(menu!=1&&menu!=2&&menu!=0)
   aux=0;
  }
   return 0;
}
#3
Me falla en reconocer quien fue el alumno con mayor/menor promedio y su respectiva cedula :(
#4
Hola tengo un problema con el programa que vengo desarrollando para la primera pregunta del siguiente archivo Ejercicio. El programa me falla a la hora de mostrar el resultado despues de hacer el calculo para el estudiante con mayor o menor promedio y su respectiva "cedula". Me dice 0, no hallo que hacer por favor ayudenme :-\

Aqui les dejo lo que llevo de código:

//Librerias standard
#include <stdio.h>
#include <stdlib.h>
//Variables Globales
char rsp;
int ced,mayorP,menorP,cedMa,cedMe;     
int cantT=0,cant1=0,cant2=0,cantR=0;
float prom1=0,prom2=0,promR=0,prom,promG;

//Funciones

void entrada(){
     printf("Hola! Bienvenido al programa de ubicacion de la UNIMET\n");
     printf(" \n");
     printf("Por favor ingrese su cedula de identidad\n");
     scanf(" %i",&ced);
     printf(" \n");
     printf("Ingrese su promedio de notas en el rango 0-20\n");
     scanf(" %f",&prom);
     printf(" \n");
}
     
void calculo(){
     
     printf("Reporte del Aspirante\n");
     printf(" \n");
     printf("La cedula del estudiante es: %i\n",ced);
     printf(" \n");
     printf("El promedio del estudiante es: %.0f\n",prom);
     printf(" \n)");
     
     cantT=cantT+1;
     
     if(prom>=18){
                  printf("Usted ha sido ubicado en el trimestre DOS\n)");
                  prom2=prom2+prom;
                  cant2=cant2+1;
                  }     
     else if (prom>=12){
                   printf("Usted ha sido ubicado en el trimestre UNO\n");
                   prom1=prom1+prom;
                   cant1=cant1+1;
                   }
                   
     else{
          promR=promR+prom;
          cantR=cantR+1;
          printf("Rechazado\n");
          }
}
         
void calculoCedula(){
          if(prom>mayorP){
                     prom=mayorP;
                     ced=cedMa;
                     }
          else if(prom<menorP){
               prom=menorP;
               ced=cedMe;
               }
}
     
void calculoPromedios(){
     
     promG=(prom1+prom2+promR)/cantT;
     promR=promR/cantR;
     prom2=prom2/cant2;
     prom1=prom1/cant1;
}

void salida(){
   
     
     
     printf("La cantidad total de alumnos aspirantes es: %i\n",cantT);
     printf("La cantidad de alumnos ubicados en el trimestre DOS es: %i\n",cant2);
     printf("La cantidad de alumnos ubicados en el trimestre UNO es: %i\n",cant1);
     printf("El promedio de los aspirantes al trimestre DOS es: %.2f\n",prom2);
     printf("El promedio de los aspirantes al trimestre UNO es: %.2f\n",prom1);
     printf("El promedio general del trimestre es: %.2f\n",promG);
     printf("El estudiante con mayor promedio fue: %i ",cedMa);
     printf(" con un promedio de: %i\n", mayorP);
     printf("El estudiante con menor promedio fue: %i ",cedMe);
     printf(" con un promedio de: %i\n", menorP);
     
     
     
     }
     
   
//Programa Principal
main(){
       do{
           
           entrada();
           calculo();
           printf(" \n");
           printf("Si desea hacer otra ubicacion presione S\n");
           scanf(" %c",&rsp);
           }while(rsp=='s'|| rsp=='S');//Condicion del Ciclo de Repeticion
           calculoPromedios();
           calculoCedula();
           printf(" \n");
           salida();
           system("pause");
           
       }


Soy un principiante así que cualquier consejo o sugerencia es bienvenido/a . :D
#5
Hola soy nuevo y llevo alrededor de 2 meses "programando" y necesito ayuda porque mi programa no me devuelve el resultado de un dato en especifico (la altura C). El proyecto es el siguiente https://drive.google.com/file/d/0B-T3GRGCH9STWHNHM2ZUdWl0ZzA/view?usp=sharing

Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
//Variables Globales
float b1,b2,b3,d1,d3,h;
float I,C;
float d2=(h-d1-d3),A1=(b1*d1),A2=(b2*d2),A3=(b3*d3);

//Funciones
void entrada(){
    printf("Hola! Este programa esta diseñado para calcular el momento de inercia(I) y la altura(C) de nuestro Proyecto 1\n");
    printf(" \n");
    printf("Primero ingrese los datos de anchura de la viga (b1,b2,b3)\n");
    printf(" \n");
    printf("Ingrese el dato de b1\n");
    scanf("\n%f",&b1);
    printf("Ingrese el dato de b2\n");
    scanf("\n%f",&b2);
    printf("Ingrese el dato de b3\n");
    scanf("\n%f",&b3);
    printf("Ahora proceda a ingresar los datos de altura de altura de la viga (d1,d3,h)\n");
    printf("Ingrese el dato de d1\n");
    scanf("\n%f",&d1);
    printf("Ingrese el dato de d3\n");
    scanf("\n%f",&d3);
    printf("Ingrese el dato de h\n");
    scanf("\n%f",&h);
}

void calculo(){
     float x=d1,y=(h-C-(d1/2)),z=d2,k=(d3+(d2/2)-C),j=d3,p=(C+(d3/2));
     
     x=pow(x,3);
     y=pow(y,2);
     z=pow(z,3);
     k=pow(k,2);
     j=pow(j,3);
     p=pow(p,2);
     
     I=(b1*x/12)+(A1*y)+(b2*z/12)+(A2*k)+(b3*j/12)+(A3*p);
     C=(A1*(h-(d1/2)))+(A2*(d3+(d2/2)))+(A3*(d3/2))/(A1+A2+A3);
}
     
//Programa Principal
main(){
      entrada();
      printf("A continuacion se muestran los resultados del calculo\n");
      calculo();
      printf(" \n");
      printf("La altura C de la viga es: %.2f\n",C);
      printf("El momento de inercia I es: %.2f\n",I);
      system("pause");
     
}
     


Cualquier critica y consejo es absolutamente bienvenido soy un novato en este mundo :rolleyes: