"Debo confesar que nací a una edad muy temprana" (Groucho Marx)
Más operaciones con variables
Seguimos con más ejemplos de operaciones con variables:
Código: Seleccionar todo
// Incluímos el fichero stdio.h
#include <stdio.h>
// Función principal
int main(int argc, char *argv[])
{
// Podemos poner las variables del mismo tipo seguidas
float edad_pedrito, edad_josito, media1, media2, media3;
edad_pedrito = 5;
edad_josito = 12;
// Calculamos varias supuestas medias...
media1 = edad_pedrito + edad_josito / 2;
media2 = (edad_pedrito + edad_josito) / 2;
media3 = edad_pedrito + (edad_josito / 2);
printf("Medias 1, 2 y 3: %f %f %f\n", media1, media2, media3);
printf("Edad de Pedro: %f\n", edad_pedrito);
printf("Edad de Jose: %f\n", edad_josito);
getch();
return 0;
}
Lo primero que seguramente notaréis en este código es el uso de los comentarios. Los comentarios son líneas que no se procesan por el compilador, con lo que podemos escribir lo que queramos, generalmente explicaciones sobre qué estamos haciendo en el código. Esto es muy útil no sólo para que otros programadores entiendan mejor nuestro código, sino también para nosotros mismos, ya que a veces resulta arduo seguir un código incluso hecho por nosotros mismos.
Los comentarios se indican con //. Esto hará que todo el texto desde // hasta el final de línea sea considerado como comentario.
Lo demás debería de ser de sobra entendible con los comentarios y lo que ya hemos visto. Ahora la pregunta es: ¿cuál de las tres medias es la correcta?
Ahora otro ejemplo más (recordad que copiarlo a mano es más conveniente para recordar que usar copiar-pegar ):
Código: Seleccionar todo
// Incluímos el fichero stdio.h y unistd.h
#include <stdio.h>
// Para Linux:
#include <unistd.h>
// Para Windows (comentar la línea anterior y descomentar la siguiente):
// #include <windows.h>
// Función principal
int main(int argc, char *argv[])
{
int contador = 0;
// Escribir el número en pantalla
printf("%d... ", contador);
// Actualizar la consola (para que aparezca el anterior printf() inmediatamente
fflush(0);
// Sumar 1 a la variable contador
contador++;
// Parar 1 segundo
sleep(1);
// Repetimos lo mismo... vamos incrementando "contador" de uno en uno
printf("%d... ", contador);
fflush(0);
contador++;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador++;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador++;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador++;
sleep(1);
// Justo aquí escribe un 5...
printf("%d... ", contador);
fflush(0);
// ... así que empezamos a restar ;)
contador--;
sleep(1);
// Y lo mismo que antes, pero restando ("contador" ahora va disminuyendo)
printf("%d... ", contador);
fflush(0);
contador--;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador--;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador--;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador--;
sleep(1);
printf("%d... ", contador);
fflush(0);
contador--;
sleep(1);
printf("BOOOOOOM!\n");
fflush(0);
sleep(1);
return 0;
}
¿Mola, no?
Entrada de datos
Hasta ahora, nuestros programas han sido poco interactivos... Veamos cómo podemos indicarles qué valores tienen las variables, en vez de usar valores predeteminados en el código (a partir de ahora sólo pondré la versión Linux):
Código: Seleccionar todo
// Incluímos el fichero stdio.h y unistd.h
#include <stdio.h>
#include <unistd.h>
// Función principal
int main(int argc, char *argv[])
{
// Una frase de 80 caracteres máximo
char nombre[80];
int edad;
printf("Por favor, introduzca su nombre: ");
// Leemos el nombre
// Indicamos igual que en printf() %s por ser una cadena de caracteres y la variable a la que asignar lo tecleado precedida de un &
scanf("%s", &nombre);
printf("Ahora su edad: ");
// Leemos la edad, de igual manera que el nombre, pero con un entero (int), por tanto usamos %d ;)
scanf("%d", &edad);
printf("Te llamas %s y tienes %d años... ¡Qué viejo eres!\n", nombre, edad);
system("read foo");
return 0;
}
Ahora podréis comprobar que las variables nombre y edad toman los valores que introducimos desde el teclado. Fijaos que scanf() es bastante parecida a printf(), sólo que es para una entrada de datos (el usuario introduce datos) en vez de salida de datos (el programa muestra los datos al usuario). Recordad siempre usar & en scanf(). Más tarde entenderéis el uso del operador &.
Ah bueno, otro ejercicio sencillo: escribir un programa que reciba dos edades, calcule la suma, multiplicación y media de las edades.
En el siguiente capítulo veremos el control del flujo de ejecución. ¡Hasta la próxima colegas!
EL PDF de esta lección para descargar (gracias a Kracker ):
<< Anterior Siguiente >>