Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ÍNDICE
ÍNDICE..................................................................................................................... 1
Índice de figuras.......................................................................................................2
Índice de tablas........................................................................................................ 2
INTRODUCCIÓN..................................................................................................... 3
Redacta las características de los arreglos, de las estructuras de datos y los
módulos................................................................................................................ 3
DESARROLLO DE LA ACTIVIDAD.........................................................................4
Pseudocódigo.......................................................................................................4
Diagrama de flujo..................................................................................................7
Prueba de escritorio............................................................................................11
Código fuente del programa en lenguaje C........................................................13
Ejecución del programa en lenguaje C...............................................................18
CONCLUSIONES...................................................................................................20
Describe cómo se aplicó el diseño descendente y cómo se implementó arreglos
y estructuras de datos........................................................................................ 20
REFERENCIAS BIBLIOGRÁFICAS.......................................................................21
2
Índice de figuras
Índice de tablas
INTRODUCCIÓN
Por último, los módulos (también llamados funciones) son los que permiten crear
un programa en C, ya que se crea combinando el uso de dichas funciones, las
cuales son definidas por el usuario; pueden ser escritas por el programador o bien,
ya existen predefinidas (vienen en las bibliotecas del lenguaje C) y permiten
manejar strings, caracteres específicos, caracteres para cálculos matemáticos, por
citar ejemplos.
DESARROLLO DE LA ACTIVIDAD
Pseudocódigo.
Figura 4 Diagrama de flujo hecho a mano. Menú principal del programa BD para Agencia de Autos. Elaboración Propia.
8
Figura 5 Diagrama de flujo hecho a mano. Subproceso Consultas del programa BD Agencia de
Autos. Elaboración Propia.
9
Figura 6 Diagrama de flujo hecho a mano. Subproceso Editar y Subproceso Registrar del programa
BD Agencia de Autos. Elaboración Propia.
10
Figura 7 Diagrama de flujo hecho a mano. Subproceso Editar del programa BD Agencia de Autos.
Elaboración Propia.
11
Prueba de escritorio.
Figura 8 Prueba de escritorio hecha a mano del programa BD Agencia de Autos, parte 1.
Elaboración Propia
12
Figura 9 Prueba de escritorio hecha a mano del programa BD Agencia de Autos, parte 2.
Elaboración Propia
13
Código fuente del programa en lenguaje C.
#include <stdio.h>
#include <string.h>
//Estructura del tipo cliente
struct Cliente
{
char nombre[30];
int codigo;
char direccion[60];
int telefono;
};
//Funcion de consulta
void Consulta(struct Cliente C[],int *cont)
{
int i;
//Estructura condicional if
if(*cont==0)
{
printf("No hay clientes registrados\n");
}else
{
//Estructura ciclica for
for(i=0;i<*cont;i++)
{
printf("Codigo: %d\n",C[i].codigo+1);
printf("Nombre: %s\n",C[i].nombre);
printf("Direccion: %s",C[i].direccion);
printf("Telefono: %d\n",C[i].telefono);
printf("----------------------------\n");
}
}
14
}
//Funcion de registro
void Registrar(struct Cliente C[],int *cont)
{
C[*cont].codigo = *cont;
printf("Ingrese su nombre: ");
fflush(stdin);
fgets(C[*cont].nombre,30,stdin);
printf("Ingrese su direccion: ");
fgets(C[*cont].direccion,60,stdin);
fflush(stdin);
//Estructura condicional if
if ((strlen(C[*cont].nombre) > 0) &&
(C[*cont].nombre[strlen(C[*cont].nombre) - 1] == '\n'))
{
C[*cont].nombre[strlen(C[*cont].nombre) - 1] = '\0';
}
printf("Ingrese su telefono: ");
scanf("%d",&C[*cont].telefono);
*cont= *cont + 1;
}
//Funcion de editar
void Editar(struct Cliente c[],int *p)
{
printf("Ingrese su nombre: ");
fflush(stdin);
fgets(c[*p].nombre,30,stdin);
printf("Ingrese su direccion: ");
fgets(c[*p].direccion,60,stdin);
fflush(stdin);
//Estructura condicional if
15
if ((strlen(c[*p].nombre) > 0) && (c[*p].nombre[strlen(c[*p].nombre) - 1] == '\
n'))
{
c[*p].nombre[strlen(c[*p].nombre) - 1] = '\0';
}
fflush(stdin);
printf("Ingrese su telefono: ");
scanf("%d",&c[*p].telefono);
}
//Funcion de eliminar
void Eliminar(struct Cliente c[],int *d, int *cont)
{
int i;
//Estructura ciclica for
for(i=*d;i<*cont;i++)
{
strcpy(c[i].direccion,c[i+1].direccion);
strcpy(c[i].nombre,c[i+1].nombre);
c[i].telefono = c[i+1].telefono;
}
*cont= *cont - 1;
}
//Funcion principal
int main()
{
//Declaracion de varibles
int op,edit,del;
int c = 0;
//Declaracion de arreglo de estructura
struct Cliente clientes[50];
//Estructura ciclica do while
do
{
16
printf("MENU\n");
printf("1.- Consultar Clientes\n");
printf("2.- Registrar Cliente\n");
printf("3.- Editar Cliente\n");
printf("4.- Eliminar Cliente\n");
printf("5.- Salir\n");
printf("Selecciona una opcion: ");
scanf("%d",&op);
//Estructura condicional switch
switch(op)
{
case 1:
Consulta(clientes,&c);
break;
case 2:
Registrar(clientes,&c);
break;
case 3:
printf("Ingrese el numero de cliente que desea editar: ");
scanf("%d",&edit);
edit--;
Editar(clientes,&edit);
break;
case 4:
printf("Ingrese el numero de cliente que desea eliminar:
");
scanf("%d",&del);
del--;
Eliminar(clientes,&del,&c);
break;
default:
printf("Opcion no dentro del menu.\n");
}
17
}while(op!=5);
printf("NOMBRE: DILAN JORDI CARRETO ANGULO\nMATRICULA:
ES202118954\nCORREO: dilan.carretoang@nube.unadmexico.mx\n");
printf("Fecha entrega: 29/03/2023\nNombre de actividad:
DFPR_U3_EA_DICA\nCaso de Estudio: BD para Agencia de autos\n ");
return 0;
}
18
Ejecución del programa en lenguaje C.
Figura 12 Comprobación de compilado y ejecución del programa. Salir del programa. Elaboración
propia. Fuente: DevC++.
20
CONCLUSIONES
Por otro lado, las estructuras de datos son colecciones de variables relacionadas
bajo un nombre. Se caracterizan porque pueden contener variables de muchos
tipos diferentes de datos, por ejemplo, el struck de cliente, le cual está conformado
por: char nombre[30]; int codigo; char direccion[60] e int teléfono.
21
REFERENCIAS BIBLIOGRÁFICAS