Código C:
Ver original/*Un programa que pida datos de 8 personas: nombre, dia de nacimiento, mes de
nacimiento, y año de nacimiento (que se deben almacenar en una tabla de structs).
Después deberá repetir lo siguiente: preguntar un número de mes y mostrar en
pantalla los datos de las personas que cumplan los años durante ese mes. Terminará
de repetirse cuando se teclee 0 como número de mes.*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int nadie=1;
struct
{
char nombre[20];
int dia;
int mes;
int edad;
int ano;
}datos[8];
int i,comprobar;
for(i=0;i<=7;i++)
{
scanf("%s",datos
[i
].
nombre);
scanf("%d",&datos
[i
].
edad);
printf("Introduce mes de cumpleanos\n"); scanf("%d",&datos
[i
].
mes);
printf("Introduce ano de nacimiento\n"); scanf("%d",&datos
[i
].
ano); }
do
{
printf("Introduce el mes en el que quieres comprobar si alguna persona cumple anos\n");
for(i=0;i<=7;i++)
{
if(comprobar==datos[i].mes)
{
printf("%s cumple %d anos este mes\n",datos
[i
].
nombre,datos
[i
].
edad+1); nadie = 0;
}
}
if (nadie
== 1) printf("Nadie cumple anos este mes\n"); }while(comprobar!=0);
return 0;
}
Si por ejemplo introduzco de datos:
1 2 2 2
2 2 2 2
3 2 2 2
4 2 2 2
5 2 2 2
6 2 2 2
7 2 2 2
8 2 2 2
Y, después, compruebo los meses 1 -> Sale que nadie cumple ese mes
2 -> Sale todos los que cumplen ese mes
3 -> Sale directamente que compruebe otro mes.
Gracias.