Ejemplos de C - Estructuras

1.- Programa que almacena en memoria los datos de 10 artículos y los visualiza:

#include<stdio.h>
#include<string.h>

int fmenu(void);
void finicializa(void);
void fvisualiza(void);
void fconsulta(char code);

struct articulos
{
char codigo;
char nom[15];
int precio;
}var[10];

void main()
{
int opcion,flag;
char res,code;
do
{
opcion=fmenu();
switch(opcion)
{
case 1:{
finicializa();
flag=1;
}
break;
case 2:if (flag!=1)
puts("Primero hay que inicializar la estructura\n");
else
fvisualiza();
break;
case 3:if (flag!=1)
puts("Primero hay que inicializar la estructura\n");
else
{
do
{
puts("Introduzca el codigo del articulo a buscar\n");
fflush(stdin);
code=getchar();
fconsulta(code);
puts("Desea conocer datos de otro articulo?\n");
fflush(stdin);
res=getchar();
}
while(res=='s' || res=='S');
}
break;
case 4:break;
}
}
while(opcion!=4);
}
int fmenu(void)
{
int opcion;
puts("ESTE PROGRAMA REALIZA LOS SIGUIENTES PROCESOS\n");
puts("---------------------------------------------------------------\n");
puts("1.-Toma de consola y guarda en memoria los datos de codigo, nombre y precio de los 10 articulos\n");
puts("2.-Visualiza los datos guardados en la memoria de los articulos\n");
puts("3.-Permite consultas sucesivas de los articulos\n");
puts("4.-Finaliza\n");
puts("Elija la opcion deseada\n");
scanf("%d",&opcion);
return(opcion);
}
void finicializa(void)
{
int i,j;
puts("Inicializando estructura:\n");
for(i=0;i<10;i++)
{
j=i+1;
printf("Teclee codigo del %dº articulo:\n",j);
fflush(stdin);
(var[i]).codigo=getchar();
printf("Teclee nombre del %dº articulo:\n",j);
fflush(stdin);
gets((var[i]).nom);
printf("Teclee precio del %dº articulo:\n",j);
scanf("%d",&(var[i]).precio);
}
}
void fvisualiza(void)
{
int i;
char pausa;
puts("\t\t\t LISTADO DE PRECIOS");
puts("\t\t\t ---------------------------------");
puts("");
puts("CODIGO\tNOMBRE\t\tPRECIO");
puts("------------\t--------------\t\t-----------");
for (i=0;i<10;i++)
{
printf("%c\t%s\t\t%d\n",var[i].codigo,var[i].nom,var[i].precio);
}
puts("");
puts("Pulse INTRO para continuar\n");
fflush(stdin);
pausa=getchar();
}
void fconsulta(char code)
{
int i;
char pausa;
i=0;
while((var[i]).codigo!=code && i<10)
i++;
if ((var[i]).codigo==code)
printf("El codigo %c corresponde a %s con precio %d ptas\n",code,(var[i]).nom,(var[i]).precio);
else puts("El codigo no esta registrado\n");
puts("Pulse INTRO para continuar\n");
fflush(stdin);
pausa=getchar();
}


VOLVER

A PROGRAMAR © 2002. All Rights Reserved.
Hosted by www.Geocities.ws

1