Professional Documents
Culture Documents
Escriba un programa que le permita ingresar una base de datos con un máximo de 100
registros de campos Nombre, Apellido y Edad.
Cuando el programa se ejecute, debe preguntarle a usted si desea ingresar un nuevo registro.
Si responde S ingresa los datos. Si responde N el programa termina y muestra un listado de los
registros y el promedio de edad.
Ejemplo
Escriba un programa que le permita ingresar una base de datos con un máximo de 100
registros de campos Nombre, Apellido y Edad.
Cuando el programa se ejecute, debe preguntarle a usted si desea ingresar un nuevo registro.
Si responde S ingresa los datos. Si responde N el programa termina y muestra un listado de los
registros y la máxima edad.
Ejemplo
Maxima edad: 26
--------------------------------
#include <stdio.h>
#define N 100
struct registro{
char nombre[20];
char apellido[20];
int edad;
}persona[N];
int main()
{
char respuesta;
int i,j;
int p;
int max;
for(i=0;i<N;i++)
{
printf("Desea ingresar un registro nuevo (s/n) ");
scanf("%c",&respuesta);
if (respuesta=='n') break;
printf("Introduce el nombre de la persona %d: ", i);
scanf("%s",persona[i].nombre);
fflush(stdin);
printf("Introduce el apellido de la persona %d: ", i);
scanf("%s",persona[i].apellido);
fflush(stdin);
printf("Introduce la edad de la persona %d: ", i);
scanf("%d", &persona[i].edad);
fflush(stdin);
}
max=persona[1].edad;
for(j=0;j<i;j++)
{
printf("Nombre: %s \tApellido: %s \tEdad: %d\n\n", persona[j].nombre,
persona[j].apellido, persona[j].edad);
if (persona[j].edad>=max)
max=persona[j].edad;
}
printf("Maxima edad %d", max);
return 0;
}
Cuando el programa se ejecute, debe preguntarle a usted si desea ingresar un nuevo registro.
Si responde S ingresa los datos. Si responde N el programa termina y muestra un listado de los
registros.
Luego el programa le pregunta cual desea eliminar, para ello escriba el índice.
El programa debe actualizar la base de datos moviendo todos los registros que estaban
después del registro borrado una posición más arriba. Mostrar el nuevo listado.
Ejemplo:
--------------------------------
#include <stdio.h>
#include <string.h>
#define N 100
struct registro{
char nombre[20];
char apellido[20];
int edad;
}persona[N];
int main()
{
char respuesta;
int i,j;
int p;
int indice;
for(i=0;i<N;i++)
{
printf("Desea ingresar un registro nuevo (s/n) ");
scanf("%c",&respuesta);
if (respuesta=='n') break;
printf("Introduce el nombre de la persona %d: ", i);
scanf("%s",persona[i].nombre);
fflush(stdin);
printf("Introduce el apellido de la persona %d: ", i);
scanf("%s",persona[i].apellido);
fflush(stdin);
printf("Introduce la edad de la persona %d: ", i);
scanf("%d", &persona[i].edad);
fflush(stdin);
}
for(j=0;j<i;j++)
{
printf("Indice: %d \tNombre: %s \tApellido: %s \tEdad: %d\n\n", j, persona[j].nombre,
persona[j].apellido, persona[j].edad);
}
printf("Cual registro desea eliminar, escriba el indice: ");
scanf("%d",&indice);
for(j=indice;j<i;j++)
{
strcpy (persona[j].nombre,persona[j+1].nombre);
strcpy (persona[j].apellido,persona[j+1].apellido);
persona[j].edad=persona[j+1].edad;
}
for(j=0;j<i-1;j++)
{
printf("Indice: %d \tNombre: %s \tApellido: %s \tEdad: %d\n\n", j, persona[j].nombre,
persona[j].apellido, persona[j].edad);
}
return 0;
}