Hola a todos.
El capítulo de hoy servirá para iniciar un poco el tema de funciones y algunos detallitos más que espero que os sirvan para ir aprendiendo.
Recordad que más allá de tutoriales, manuales y clases, la mejor forma de aprender es practicar, así que si tenéis cualquier duda o hay algo del tutorial que no entendáis decidmelo e intentaré explicarlo mejor.
Allá va el código:
#include <stdio.h>
#include <stdlib.h>
#define NUM 53
int decide(int n)
{
printf("El numero que he pensado es ");
if( n < NUM )
printf("mayor.\n");
else
{
if(n > NUM)
printf("menor.\n");
else
{
printf("igual.\n");
return 1;
}
}
return 0;
}
int main(void)
{
int num;
while(1)
{
printf("Introduzca un numero : ");
scanf("%d",&num);
if ( decide(num) )
break;
}
system("PAUSE");
return 0;
}
- int decide (int n) es una función que recibe un parametro (integer llamado n) y que devuelve un integer como resultado. Este integer realmente solo puede valer o 0 o 1, siendo 0 el caso en que el usuario no acierte el número que hemos pensado y 1 cuando acierte que número es.
- Nota: fijaros que existe el define NUM y la variable num. No hay problema por que el lenguaje diferencia entre mayúsculas y minúsculas, va bien que lo sepáis. Aparte de eso, el define NUM tiene un valor fijo, en posteriores capítulos ya introduciremos la aleatoriedad para que el valor a escoger vaya variando entre ejecuciones del programa.
- La función return nos saca de la función en la que estamos devolviendo el valor que le pasemos como parámetro.
- while(1) significa bucle infinito.
- break es una función que nos saca del "bucle" en el que estemos. Esto es una verdad a medias que en otros capitulos especificaré mejor, por ahora quedaos con eso :D.
Y con esto, solo me queda deciros que hasta el siguiente capítulo , nos vemos
Hola Pakus ¿Qué entorno utilizas para probar los códigos? ¿cuál recomiendas?
ResponderEliminarYo utilizo un windows7 con el compilador+IDE de Visual Studio (me surgió una oportunidad de pillar la versión completa a muy buen precio y la pillé, si has de pagar todo lo que cuesta de normal, casi que mejor que no...)
ResponderEliminarQue yo recomendaria... a ver.. que más conozco, dos, pero hay infinitas posibilidades:
1. Visual Studio versión Expres. Gratis, y no es una mal entorno de trabajo.
2. DevCpp: Pros, tiene infinidad de paquetes para instalarte multitud de nuevas librerias y el gestor de paquetes es muy intuitivo (facilmente te instalas OpenGL, SDL, OpenAL, etc..). Contra: Está muy desactualizado, mucho. Para aprender puede ir bien, pero para luego hacer según que se puede quedar un poco corto.
A alguien más se le ocurren otras opciones que haya probado personalmente??
Este comentario ha sido eliminado por el autor.
ResponderEliminarYo estoy utilizando Eclipse o Netbeans 7.0.1 (conozco algo de Java) sobre Linux 10.04, así compila con el gcc de Linux. Como crítica/recomendación en el curso quizá te ha faltado un post iniciático sobre el entorno a utilizar (preferiblemente free u OpenSource) para seguir el curso y un escueto HowTo de cómo partiendo de un código fuente (C ço C++) se genera el ejecutable final, tanto con la herramienta de programación como "a pelo". Ánimo, gracias y adelante en tu esfuerzo de ir ilustrandonos.
ResponderEliminarbuena idea hablador.. me la guardo y haré un capitulo 0 sobre el tema.... en breve me pondré...
ResponderEliminarGracias por tu ayuda
La línea if ( decide(num) ) qué hace exactamente? Gracias por el blog.
ResponderEliminarEl if es un condicional, si lo que hay dentro vale diferente 0 entrará en el if, si no, no.
ResponderEliminardecide es una función que en base al parametro que recibe imprime por pantalla si el numero dado es mayor o menor al deseado y retorna 1 si es igual 0 en cualquier otro caso
num es el numero que nos ha dado el usuario
Resumiendo: Nos dice si el numero que el usuario ha tecleado es menor, mayor o igual al que nosotros hemos decidido nuevamente.
Espero habertelo explicado mejor y no haber generado más dudas.
Nos vemos
Espero que en los próximos capitulos continúes con la explicación de decide() porque no me queda claro. Pero voy aprendiendo de diez. Gracias
Eliminar