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

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

Avatar de Usuario
~Rdavid~
Experto
Experto
Mensajes: 965
Registrado: 12 Nov 2009, 17:29
Ubicación: Costa Rica

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

Mensaje por ~Rdavid~ »

Si se puede hacer con un switch, no hace falta usar ifs ni tampoco ponerlo 100 veces, nada más recuerda que antes de entrar al switch puedes hacer con el número lo que quieras :)
Imagen

Avatar de Usuario
cripii5
Experto
Experto
Mensajes: 1948
Registrado: 14 Dic 2010, 03:15
Gamertag Xbox Live: cripii5
Steam ID: cripii5
Twitter: cripii5
Ubicación: Uruguay

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

Mensaje por cripii5 »

Bue, despues de pensar y pensar... no se me ocurrio nada util, y me fui a mirar esto
arisma escribió:Primer ejercicio, con switch
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main()
{
   int num;

   printf("Introduce un número entre 1 y 100, ambos inclusive: ");
   scanf("%i", &num);

   if (num <= 0 || num > 100) num = 175;
   else
   num = num / 10;


   switch(num)
   {
   case 0: printf ("Está en la primera decena\n");
      break;
   case 1: printf ("Está en la segunda decena\n");
      break;
   case 2: printf ("Está en la tercera decena\n");
      break;
   case 3: printf ("Está en la cuarta decena\n");
      break;
   case 4: printf ("Está en la quinta decena\n");
      break;
   case 5: printf ("Está en la sexta decena\n");
      break;
   case 6: printf ("Está en la septima decena\n");
      break;
   case 7: printf ("Está en la octava decena\n");
      break;
   case 8: printf ("Está en la novena decena\n");
      break;
   case 9: printf ("Está en la decima decena\n");
      break;
   case 10: printf ("Está en la undecima decena\n");
      break;
   default: printf("Dije entre 1 y 100, ni más ni menos...\n");
      break;
   }
   return 0;
}



Lo mire, lo entendi, y me di cuenta de que nunca hubiera usado esta logica... y la verdad, me siento decepcionado de mi mismo u.u
Yo

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 »

cripii5 escribió:Bue, despues de pensar y pensar... no se me ocurrio nada util, y me fui a mirar esto

Mal, no debes mirar la solución. Y menos si has pensado tan poco.

Y volviendo al tema anterior, efectivamente

Código: Seleccionar todo

case 1, 2:

Está mal. Sería:

Código: Seleccionar todo

case 1:
case 2:

Corrijo el OP.
Imagen

Avatar de Usuario
cripii5
Experto
Experto
Mensajes: 1948
Registrado: 14 Dic 2010, 03:15
Gamertag Xbox Live: cripii5
Steam ID: cripii5
Twitter: cripii5
Ubicación: Uruguay

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

Mensaje por cripii5 »

m0skit0 escribió:Corrijo el OP.

Lo sigo viendo igual :lol:

Aca va mi primer ejercicio (nada de copy/paste, sin ir mirando el de arisma :evil: y a mi manera)
Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int num1, num2;
   
    printf ("Introduzca un numero del 0 al 100: ");
    scanf ("%d", &num1);
    num2 = num1 / 10;
    if (num1 < 0 || num1 > 100)
    {
             printf ("Entre 0 y 100 anormal, %d no esta entre 0 y 100\n", num1);
             return 0;
    }
    printf ("El numero %d pertenece a la ", num1);
    switch (num2)
    {
           case 0:
                printf ("primera");
                break;
           case 1:
                printf ("segunda");
                break;
           case 2:
                printf ("tercera");
                break;
           case 3:
                printf ("cuarta");
                break;
           case 4:
                printf ("quinta");
                break;
           case 5:
                printf ("sexta");
                break;
           case 6:
                printf ("septima");
                break;
           case 7:
                printf ("octava");
                break;
           case 8:
                printf ("novena");
                break;
           case 9:
                printf ("decima");
                break;
           case 10:
                printf ("undecima");
                break;
    }     
    printf (" decena\n");
 
  return 0;
}


Segundo ejercicio:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    float num1, num2, resultado;
    int operacion;
   
    printf ("Introduzca un numero: ");
    scanf ("%f", &num1);
    printf ("Introduzca otro numero: ");
    scanf ("%f", &num2);
    printf ("Muy bien, ahora que desea hacer con estos 2 numeros? Presione:\n1 para sumar\n2 para restar\n3 para mutliplicar\n4 para dividir\n");
    scanf ("%d", &operacion);
   
    switch (operacion)
    {
           case 1:
                resultado = num1 + num2;
                printf ("La suma de los dos numeros es: %.2f\n", resultado);
                break;
           case 2:
                resultado = num1 - num2;
                printf ("La resta de los dos numeros es: %.2f\n", resultado);
                break;
           case 3:
                resultado = num1 * num2;
                printf ("La multiplicacion de los dos numeros es: %.2f\n", resultado);
                break;
           case 4:
                resultado = num1 / num2;
                printf ("La division de los dos numeros es: %.2f\n", resultado);
                break;
           default:
                printf ("Lo siento, ha introducido una opcion no valida\n");
                break;           
}
     
  return 0;
}
Última edición por cripii5 el 20 May 2011, 16:56, editado 2 veces en total.
Yo

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 »

cripii5 escribió:Lo sigo viendo igual :lol:

¿En qué parte es? :lol:

cripii5 escribió:Aca va mi primer ejercicio (nada de copy/paste, sin ir mirando el de arisma :evil: y a mi manera)

Sí, ahora... :lol: Fíjate que "decena" también es común a todos los casos.

Saludos.
Imagen

Avatar de Usuario
cripii5
Experto
Experto
Mensajes: 1948
Registrado: 14 Dic 2010, 03:15
Gamertag Xbox Live: cripii5
Steam ID: cripii5
Twitter: cripii5
Ubicación: Uruguay

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

Mensaje por cripii5 »

m0skit0 escribió:¿En qué parte es? :lol:

En el primer post de este hilo, hay 2 ejemplos, en el segundo ejemplo pones

Código: Seleccionar todo

case 4, 5:

No es dificil encontrarlo :lol:

m0skit0 escribió:Sí, ahora... :lol: Fíjate que "decena" también es común a todos los casos.

Pense "Y como se supone que....aaaahhh...." :lol: dame 5 minutos :lol:

Corregido
Yo

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 »

Estoy ciego :lol: :oki:
Imagen

Avatar de Usuario
cripii5
Experto
Experto
Mensajes: 1948
Registrado: 14 Dic 2010, 03:15
Gamertag Xbox Live: cripii5
Steam ID: cripii5
Twitter: cripii5
Ubicación: Uruguay

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

Mensaje por cripii5 »

No me vas a criticar ningun ejercicio? :( :lol: entonces paso al VIII
Yo

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

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

Mensaje por haddad »

el primer ejercicio

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char* argv[])
{
   
 int num;
 
     printf("introduzca un numero de 0 a 100: \n");
     scanf("%d", &num);
     
     num = num/10;
     
     switch(num)
     {
     case 0: printf("ubicado en la primera decena\n");
         break;
     case 1: printf("ubicado en la segunda decena\n");
         break;
     case 2: printf("ubicado en la tercera decena\n");
         break;
     case 3: printf("ubicado en la cuarta decena\n");
         break;
     case 4: printf("ubicado en la quinta decena\n");
         break;
     case 5: printf("ubicado en la sexta decena\n");
         break;
     case 6: printf("ubicado en la septima decena\n");
         break;
     case 7: printf("ubicado en la octava decena\n");
         break;
     case 8: printf("ubicado en la novena decena\n");
         break;
     case 9: printf("ubicado en la decima decena\n");
         break;
     case 10: printf("ubicado en la undecima decena\n");
     
     default: printf("veamos si aprendes a leer\n");
         break;
     }   
     
     return 0;
 }


-- Doble Post --

el segundo ejercicio

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    float num1, num2;
    char operacion;
   
    printf("introduce un numero real positivo\n");
    scanf("%f", &num1);
   
    printf("introduce otro numero real positivo\n");
    scanf("%f", &num2);
   
   
    printf("¿Que operacion realizaras?\n");
    printf("a- Suma\n");
    printf("b- Resta\n");
    printf("c- Multiplicacion\n");
    printf("d- Division\n");
    scanf("%s", &operacion);
   
    switch(operacion)
    {
    case 'a': printf("la suma es :%f\n", num1+num2);
         break;
    case 'b': printf("la resta es : %f\n", num1-num2);
         break;
    case 'c': printf("la multiplicacion es :%f\n", num1*num2);
         break;
    case 'd': printf("la division es :%f\n", num1/num2);
         break;
   
    default: printf("nada que hacer\n");
    }
   
    return 0;
}

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 »

Perfecto haddad, nada que objetar.
Imagen

Responder