#include h> #include h> void convierte_a_b10(int

Anuncio
/* Una solución al examen parcial de Fundamentos de Informática
de Febrero de 2008 */
#include <stdio.h>
#include <math.h>
void convierte_a_b10(int &numero);
void escribe_continente(int numero);
int hay_ataque();
int main()
{
int numero;
char seguir;
do{
printf("\nIntroduce ORDEN-NUMERO: ");
if (hay_ataque())
{
scanf("%d",&numero);
convierte_a_b10(numero);
printf("El ataque sera en ");
escribe_continente(numero);
}
else
printf("\nNo hay ataque");
printf("\nOtro (s/n)? ");
fflush(stdin);
scanf("%c",&seguir);
}while(seguir=='s');
return 0;
}
void convierte_a_b10(int &numero)
{
int b10=0,pos=0,cifra,num;
num=numero;
while(num>0)
{
cifra=num%10;
num/=10;
b10+=cifra*(int)pow(4,pos);
pos++;
}
numero=b10;
}
void escribe_continente(int numero)
{
if (numero>=0 && numero <=199)
printf("Europa");
else if (numero>=200 && numero <=399)
printf("Asia");
else if (numero>=400 && numero <=599)
printf("Africa");
else if (numero>=600 && numero <=799)
printf("Oceania");
else if (numero>=800 && numero <=1023)
printf("America");
}
int hay_ataque()
{
char letra;
int ataque=0;
scanf(" %c",&letra);
while(letra!='-')
{
if (letra=='a')
{ scanf("%c",&letra);
if (letra=='t')
{ scanf("%c",&letra);
if (letra=='a')
{ scanf("%c",&letra);
if (letra=='c')
{ ataque=1;
scanf("%c",&letra);
}
}
}
}
else
scanf("%c",&letra);
}
return ataque;
}
Descargar