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
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.
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");
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
¿En qué parte es?
cripii5 escribió:Aca va mi primer ejercicio (nada de copy/paste, sin ir mirando el de arisma y a mi manera)
Sí, ahora... 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?
En el primer post de este hilo, hay 2 ejemplos, en el segundo ejemplo pones
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; }
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)