Muchas gracias a ambos!
Saludos!
Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
// Ficheros include del sistema
#include <stdio.h>
// Ficheros include de la aplicacion
// Constantes de la aplicacion
#define ERROR 0
#define INVIERNO 1
#define PRIMAVERA 2
#define VERANO 3
#define OTONO 4
int main ()
{
int mes;
int estacion;
do
{
printf("Introduzca un mes: ");
scanf(" %d", &mes);
if (mes == 12 || mes == 1 || mes == 2)
estacion = INVIERNO;
else if (mes == 3 || mes == 4 || mes == 5)
estacion = PRIMAVERA;
else if (mes == 6 || mes == 7 || mes == 8)
estacion = VERANO;
else if (mes == 9 || mes == 10 || mes == 11)
estacion = OTONO;
else
estacion = ERROR;
if (mes >= 1 && mes <=12)
printf("El mes %d pertenece a la estacion %d\n", mes, estacion);
}
while (mes > 0 );
return 0;
}
Cita de: satu en 10 Noviembre 2011, 23:23 PM
Hola
He puesto while(1) para que se esté ejecutando siempre.
Si se introduce "qq" el programa finaliza (return 0) sin ejecutar lo que hay detrás, aunque también se podría poner en el while la condición de salida y sería exactamente igual.
Saludos
Cita de: satu en 10 Noviembre 2011, 22:48 PM
Hola
Pues flag, como su propio nombre indica es una bandera, es decir, una variable que dependiendo de su valor el programa hace una cosa u otra.
En el programa, en cada iteración se pone flag a 0 (es lo primero justo después del do). Cuando se introduce un valor erroneo se muestra un mensaje de error y se pone el flag a 1 para que no se calcule su valor decimal y no se muestre el resultado. Si el valor es correcto, flag sigue valiendo 0 y se calcula su valor decimal y se muestra.
No se si te habrá quedado claro.
Saludos
Cita de: satu en 10 Noviembre 2011, 21:26 PM
Hola
Inténtalo por lo menos, si no te sale te ayudo
Saludos
#include <stdio.h>
int main ()
{
char car1;
char car2;
char valor1;
char valor2;
int valor;
do
{printf("Introduzca un valor hexadecimal:\n");
scanf("\n%c%c", &car1, &car2);
if('0'<=car1 && car1<='9')
valor1=car1-'0';
else if ('A'<=car1 && car1<='F')
valor1=car1-'A'+10;
else if ('a'<=car1 && car1<='f')
valor1=car1-'a'+10;
else
{
printf("Valor erroneo");
while(getchar()!='\n');
getchar();
return 0;
}
if('0'<=car2 && car2<='9')
valor2=car2-'0';
else if ('A'<=car2 && car2<='F')
valor2=car2-'A'+ 10;
else if ('a'<=car2 && car2<='f')
valor2=car2-'a'+10;
else
{
printf("Valor erroneo");
while(getchar()!='\n');
getchar();
return 0;
}
valor= 16*valor1 + valor2;
printf("EL valor decimal de 0x%c%c es %d\n",car1,car2,valor);
while(getchar()!='\n');
getchar();
}
while (car1== 'q' && car2=='q');
return 0;
}