[Curso] Introducción a la programación en C (VII)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por m0skit0 »

wf19 escribió:if (num > 10)
{printf ("Joer, que era un numero entre 0 y 100, vuelve a ejecutar ^^");

Hm, supongo que habrás querido decir num > 100. Si vas a controlar ese caso, también es de recibo controlar que num >= 0.

Mira las respuestas de arisma ;)

arisma escribió:M0squit0, sé lo de Microsoft, pero es que lo tengo instalado y por no petarlo más, no te preocupes que ya tengo más herramientas, pero ya veremos cuando termine de configurar el Ubuntu, jeje.

Ok, no hay problema tío, yo sólo comento :D

arisma escribió:Para ello, miramos una tabla ASCII para ver que curiosamente las minúsculas tienen un valor ascii mayor que las mayúsculas.
En cual comienza las minúsculas? En 97 efectivamente.
Lo que estamos haciendo es ver si es inferior a 97, es decir, mayúsculas y si es así le sumamos la diferencia de valor que hay entre mayúsculas y minúsculas que es 32(0x20), que precisamente es el valor del espacio(SPACE)

Jejeje, efectivamente.

arisma escribió:Se podría haber controlado para que sólo sumara el valor si era mayúsculas, pero tampoco parece algo fundamental en este caso. Hay que tomar nota de la pista para aplicarla según necesitemos. Gracias.

Cierto, pero suponiendo que el usuario ha introducido una letra, debería ser mayúscula según el if (res < 'a').
Imagen

Avatar de Usuario
wf19
Habitual
Habitual
Mensajes: 194
Registrado: 03 Sep 2009, 02:12

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por wf19 »

arisma escribió:Por ejemplo, el número 101, al dividirlo entre 10 da 10,1 que truncandolos decimales sale 10. Y lo va a dar por bueno.


En esos momentos es donde se me hace irresistible usar

"static_cast<>()"
[iomanip.h - iostream.h]
:D

Bien:
Arisma

Quedaría:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main ()

{
   int num;

   printf("Porfavor introduzca un numero entre 0 y 100:\n");
   scanf("%d", &num);

      if (num > 100 || num < 0)
         {printf ("Joer, que era un numero entre 0 y 100, vuelve a ejecutar ^^");
         return 0 ;}

   num = num / 10;
   switch (num)
   {
   case 1:
   printf("Esta en la primera decena");
   break;

   case 2:
   printf("Esta en la segunda decena");
   break;

   case 3:
   printf("Esta en la tercera decena");
   break;

   case 4:
   printf("Esta en la cuarta decena");
   break;

   case 5:
   printf("Esta en la quinta decena");
   break;

   case 6:
   printf("Esta en la sexta decena");
   break;

   case 7:
   printf("Esta en la septima decena");
   break;

   case 8:
   printf("Esta en la octava decena");
   break;

   case 9:
   printf("Esta en la novena decena");
   break;

   case 10:
   printf("Esta en la decima decena, xD");
   break;
   }
   return 0;
}


arisma escribió:Respecto al segundo ejercicio, parece que está correcto a excepción del caso 4(división), en el que no está la operación realizada, jaja.

"Kumenasai" xD
De todos modos quedaría:

Spoiler:

Código: Seleccionar todo


#include <stdio.h>

int main()

{
   int numa, numb, numc, opc;
   printf("Porfavor introduzca 2 numeros:\n");
   scanf("%d", &numa);
   scanf("%d", &numb);

   printf("\nAhora seleccione lo que desea hacer:\n");
   printf("1.- Sumarlos\n 2.- Restarlos\n3.-Multiplicarlos\n4.- Dividirlos\n");
   scanf("%d", &opc);

   switch (opc)
   {case 1:
   numc = numa + numb;
   printf("El resultado es: %d", numc);
   break;

   case 2:
   numc = numa - numb;
   printf("El resultado es: %d", numc);
   break;

   case 3:
   numc = numa * numb;
   printf("El resultado es: %d", numc);
   break;

   case 4:
   if (numb == 0)
      {printf("Dood!, division entre ceros\nVuelve a ejecutar ^^");
            return 0;}
   numc = numa / numb;
   printf("El resultado es: %d", numc);
   break;}

   return 0;
   }


m0skit0:

m0skit0 escribió:Hm, supongo que habrás querido decir num > 100.

wf19 escribió:num = num/10;


Nah, asi estaba bien :D

m0skit0 escribió:Si vas a controlar ese caso, también es de recibo controlar que num >= 0.


No habrás querido decir num <= 0???

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por arisma »

wf19

Te falta el case 0-> 1 decena y el resto modifica para que 1-> 2ª decena y etc...

En el segundo me gusta más la opción de if-else, pero como tú veas.

Perfecto en interés y mbien en ejercicio, jeje.

Avatar de Usuario
wf19
Habitual
Habitual
Mensajes: 194
Registrado: 03 Sep 2009, 02:12

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por wf19 »

arisma escribió:Te falta el case 0-> 1 decena y el resto modifica para que 1-> 2ª decena y etc...


"Kumenasai" [De nuevo]

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main ()

{
   int num;

   printf("Porfavor introduzca un numero entre 0 y 100:\n");
   scanf("%d", &num);

      if (num > 100 || num < 0)
         {printf ("Joer, que era un numero entre 0 y 100, vuelve a ejecutar ^^");
         return 0 ;}

   num = num / 10;
   switch (num)
   {
   case 0:
   printf("Esta en la primera decena");
   break;

   case 1:
   printf("Esta en la segunda decena");
   break;

   case 2:
   printf("Esta en la tercera decena");
   break;

   case 3:
   printf("Esta en la cuarta decena");
   break;

   case 4:
   printf("Esta en la quinta decena");
   break;

   case 5:
   printf("Esta en la sexta decena");
   break;

   case 6:
   printf("Esta en la septima decena");
   break;

   case 7:
   printf("Esta en la octava decena");
   break;

   case 8:
   printf("Esta en la novena decena");
   break;

   case 9:
   printf("Esta en la decima decena, xD");
   break;
   }
   return 0;
}


arisma escribió:me gusta más la opción de if-else

No lo veo necesario, si se cumple el if, ejecuta las linea entre las {}, si no se cumple, sigue normalmente y termina de manera "normal" :D

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por arisma »

Ahora incluye case 10-> 11 decena

No he dicho que esté mal, sólo que prefiero if-else.

Sin disculpas, no es necesario, jeje.

Avatar de Usuario
wf19
Habitual
Habitual
Mensajes: 194
Registrado: 03 Sep 2009, 02:12

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por wf19 »

arisma escribió:Ahora incluye case 10-> 11 decena

:(
Spoiler:

Código: Seleccionar todo

int main ()
{
   {
   [....]
   case 9:
   printf("Esta en la decima decena, xD");
   break;

   case 10:
   printf("Es el 100!!!");
   break;
   }
   return 0;
}


arisma escribió:Sin disculpas, no es necesario, jeje.

"Pos" despues de enviar varios mensajes con correcciones me siento n00b :shock:

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por arisma »

Hecho lo que me faltaba, hacer el ejercicio 1 con switch.

Un saludo.

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por m0skit0 »

Buf, tú no me preocupas arisma, que ya se nota que sabes C. El problema es que ha habido estampida de noobs :lol: De todas formas, allá cada cual con lo que quiere hacer :|
Imagen

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por arisma »

m0skit0 escribió:Buf, tú no me preocupas arisma, que ya se nota que sabes C. El problema es que ha habido estampida de noobs :lol: De todas formas, allá cada cual con lo que quiere hacer :|


Gracias master. No obstante, es algo que dije que haría, y tal como dije y era lo que pedías quería hacerlo.(joder que frase).
Quizás seria mejor decir, lo he hecho porque era lo que pedias y además dije que lo haría.

De todas formas, quizás deberias continuar(en medida que tengas algo de tiempo y ganas) ya que vendrás más usuarios, experimentados en diversos campos que les puede interesar, a los de ahora que no lo siguen pues ellos sabran. A mí, particularmente me encanta la programación.

Simplemente no tengo imaginación, sería incapaz de pensar en "voy a desarrollar un programa que haga tal cosa..."

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VII)

Mensaje por m0skit0 »

Gracias por los ánimos, arisma, pero si la gente de por aquí no sigue, lo voy a dejar, porque tutoriales de C/C++ hay toneladas por la red. Por cierto, no sé qué tal ves el echarme una mano con el eloader del MoHH...
Imagen

Responder