Página 22 de 25

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

Publicado: 19 May 2011, 22:41
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 :)

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

Publicado: 20 May 2011, 00:22
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

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

Publicado: 20 May 2011, 11:41
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.

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

Publicado: 20 May 2011, 14:08
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;
}

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

Publicado: 20 May 2011, 14:36
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.

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

Publicado: 20 May 2011, 14:39
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

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

Publicado: 21 May 2011, 14:41
por m0skit0
Estoy ciego :lol: :oki:

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

Publicado: 21 May 2011, 14:57
por cripii5
No me vas a criticar ningun ejercicio? :( :lol: entonces paso al VIII

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

Publicado: 22 May 2011, 02:33
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;
}

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

Publicado: 22 May 2011, 16:25
por m0skit0
Perfecto haddad, nada que objetar.