Ayudenme con esto....

Publicado en 'Programación' por tonet666p, 15 Ene 2010.

Estado del tema:
cerrado.




  1. tonet666p

    tonet666p Miembro maestro

    Registro:
    1 Set 2009
    Mensajes:
    608
    Likes:
    11




    hola amigos, soy un amante total de la programacion, pero mi error fue meterme con lenguajes de alto nivel y ahora que estoy en la universidad estoy sufriendo un poco con el lenguaje C, bueno... Al grano:

    El profe de fundamentos de programacion nos dejo la tares de hacer un programa que al darle como datos el dia y mes de tu nacimiento te dia que signo eres, un horoscopo exactamente; este es mi codigo fuente, pero no me sale bien, pruebenlo si gustan.
    Código:
    #include <stdio.h>
    #include <stdlib.h>
    int main(int argc, char *argv[])
    {
      int dia;
      int mes;
      printf("HOROSCOPO 2010...\n\n");
      printf("Dime en que fecha naciste(dilo en numeros):\n");
      scanf("%d",&dia);
      printf("Ahora dime en que mes(tambien en numeros):\n");
      scanf("%d",&mes);
      if((dia==22,23,24,25,26,27,28,29,30,31&&mes==12)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19&&mes==1))
      {
                                                           printf("Tu signo es Capricornio.\n\n\n\n");
                                                           }
      if((dia==20,21,22,23,24,25,26,27,28,29,30,31&&mes==1)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19&&mes==2))
      {
                                                           printf("Tu signo es Acuario.\n\n\n\n");
                                                           }
      if((dia==20,21,22,23,24,25,26,27,28&&mes==2)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&&mes==3))
      {
                                                           printf("Tu signo es Pisis.\n\n\n\n");
                                                           }
      if((dia==21,22,23,24,25,26,27,28,29,30,31&&mes==3)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19&&mes==4))
      {
                                                           printf("Tu signo es Aries.\n\n\n\n");
                                                           }
      if((dia==20,21,22,23,24,25,26,27,28,29,30&&mes==4)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&&mes==5))
      {
                                                           printf("Tu signo es Tauro.\n\n\n\n");
                                                           }
      if((dia==21,22,23,24,25,26,27,28,29,30,31&&mes==5)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21&&mes==6))
      {
                                                           printf("Tu signo es Geminis.\n\n\n\n");
                                                           }
      if((dia==23,24,25,26,27,28,29,30&&mes==6)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22&&mes==7))
      {
                                                           printf("Tu signo es Cancer.\n\n\n\n");
                                                           }
      if((dia>21&&dia<32,mes==7)||(dia>0&&dia<23,mes==8))/*si se dan cuenta, aqui utilice otro metodo, pero no me sale*/
      {
                                                           printf("Tu signo es Leo.\n\n\n\n");
                                                           }
      if((dia>22&&dia<31,mes==8)||(dia>0&&dia<22,mes==9))
      {
                                                           printf("Tu signo es Virgo.\n\n\n\n");
                                                           }
      if((dia>21&&dia<32,mes==9)||(dia>0&&dia<23,mes==10))
      {
                                                           printf("Tu signo es Libra.\n\n\n\n");
                                                           }
      if((dia>22&&dia<31,mes==10)||(dia>0&&dia<22,mes==11))
      {
                                                           printf("Tu signo es Escorpio.\n\n\n\n");
                                                           }
      if((dia==22,23,24,25,26,27,28,29,30,31&&mes==11)||(dia==1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21&&mes==12))
      {
                                                           printf("Tu signo es Sagitario.\n\n\n\n");
                                                           }
      system("PAUSE"); 
      return 0;
    }
    P.D.
    Se que este tema sera una ofensa para los GURUS de la programacion de Forors Peru, hasta me da un poco de verguenza postear este tema, pero por favor AYUDENMEEE...

    Se agradece de antemano.
    Saludos
     
    Última edición: 15 Ene 2010


  2. CM PUNK

    CM PUNK Miembro maestro

    Registro:
    29 Abr 2007
    Mensajes:
    620
    Likes:
    5
    Hola mi estimado, en el codigo hize unas pequeñas modificaciones pero funciona correctamente, al principio yo tambien tuve problemas en el curso de algoritmos y programacion, pero con bastante practica se te va a ser facil la comprension.



    Código:
    #include <stdlib.h>
    #include <stdio.h>
    int main(int argc, char *argv[])
    {
    int mes, dia;
    printf("HOROSCOPO 2010...\n\n");
      printf("Dime en que fecha naciste(dilo en numeros):\n");
      scanf("%d",&dia);
      printf("Ahora dime en que mes(tambien en numeros):\n");
      scanf("%d",&mes);
      printf("Tu signo es: ");
      switch(mes)
      {
      case 1:  if(dia<21){printf("Capricornio");}
          else{printf("Acuario");}
          break;
      case 2: if(dia<20){printf("Acuario");}
          else{printf("Piscis");}
          break;
      case 3: if(dia<21){printf("Piscis");}
          else{printf("Aries");}
          break;
      case 4: if(dia<21){printf("Aries");}
          else{printf("Tauro");}
          break;
      case 5: if(dia<21){printf("Tauro");}
          else{printf("Geminis");}
          break;
      case 6: if(dia<22){printf("Geminis");}
          else{printf("Cancer");}
          break;
      case 7: if(dia<23){printf("Cancer");}
          else{printf("Leo");}
          break;
      case 8: if(dia<23){printf("Leo");}
          else{printf("Virgo");}
          break;
      case 9: if(dia<23){printf("Virgo");}
          else{printf("Libra");}
          break;
      case 10: if(dia<23){printf("Libra");}
          else{printf("Escorpio");}
          break;
      case 11: if(dia<22){printf("Escorpio");}
          else{printf("Sagitario");}
          break;
      case 12: if(dia<22){printf("Sagitario");}
          else{printf("Capricornio");}
          break;
      default: printf("Mes incorrecto !");
    }
    system("PAUSE");
    return 0;
    }
    
     
  3. tonet666p

    tonet666p Miembro maestro

    Registro:
    1 Set 2009
    Mensajes:
    608
    Likes:
    11
    Amigo, hay un problema con ese codigo, tu lo hiciste con CASE, eso si lo hice tambien, pero el profe quiere que lo hagamos con IF y ELSE, creo que me olvide de especificar eso, pero gracias de todas formas.
     
  4. BLake

    BLake Miembro frecuente

    Registro:
    6 Mar 2009
    Mensajes:
    192
    Likes:
    17
    Pero amigo tan solo quitale el case, por ejemplo en lugar de case 1: sera if(mes == 1)
    copias el contenido del case 1 dentro de este if luego viene el else y dentro de ese else de nuevo if(mes == 2) else nuevamente y asi .....
     
  5. tonet666p

    tonet666p Miembro maestro

    Registro:
    1 Set 2009
    Mensajes:
    608
    Likes:
    11
    Ups, no me fije en ese detalle, y si funciona, bueno gracias....

    Ahora... Alguien me dice como cierro el tema?
     
    Última edición: 16 Ene 2010
  6. Milo

    Milo Moderador Global

    Registro:
    3 May 2008
    Mensajes:
    4,900
    Likes:
    1,402
    A pedido del Creador se cierra el tema, pero déjame darte un consejo, usa el Joyanes... ese libro me hizo pasar LP en one :D
     
Estado del tema:
cerrado.