Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 8
Clase 8
Ricardo Castañeda
2011
-1-
REGISTROS EN LENGUAJE “C”
7.4 Definición.- Un registro o una estructura en lenguaje “C” es una colección de
variables simples que pueden contener diferentes tipos de datos. Es un tipo de dato
definido por el usuario. El proceso de crear una estructura o registro tiene dos
etapas.
Crear un modelo de estructura
Ing. Ricardo Castañeda
-3-
PROGRAMA
/* Programa que crea un menú para manejo de registros
que procesan stock de una tienda de abarrotes */
# include<iostream.h>
Ing. Ricardo Castañeda
# include<conio.h>
# include<string.h>
# include<stdio.h>
# include<fstream.h>
struct item
{ int codite; // código del producto
char desite[20]; // descripción del producto
char ubiite[4]; // ubicación del producto
float nunite; // numero de unidades del producto
int tunite;// tipo de unidades kilo(1), litro(2), c/u(3)
float pruite; // precio por cada unidad del producto
};
void main( )
{ int vprod[50];
int num;
char opcion;
clrscr();
do {
clrscr();
gotoxy(30,2); cout<< "MENU ARREGLOS";
gotoxy(30,5); cout<< "1.- Lectura";
gotoxy(30,6); cout<< "2.- Adición";
gotoxy(30,7); cout<< "3.- Eliminación";
gotoxy(30,8); cout<< "4.- Búsqueda";
gotoxy(30,9); cout<< "5.- Ordenamiento ";
gotoxy(30,10); cout<< "6.- Escritura";
gotoxy(30,11); cout<< "7.- Salir ";
gotoxy(30,16); cout<< "Ingrese Opción"; cin >> opcion;
-4-
switch(opcion)
{ case '1' : lectura(vprod, &num);break;
case '2' : adicion(vprod, &num);break;
case '3' : eliminacion(vprod, &num);break;
case '4' : busqueda(vprod, num);break;
Ing. Ricardo Castañeda
}
(*n) = i-1;
f1.close ( );
}
else{
cout << " Ingrese n => ";
cin >> *n;
-5-
for ( i=1; i<=(*n);i++)
{
cout<< " Ingrese # código "<< i<<" : "; cin>> prod[i].codite;
cout<< " Ingrese descripción "<< i<<" : "; gets(prod[i].desite);
cout<< " Ingrese ubicación "<< i<<" : "; cin>> prod[i].ubiite;
cout<< " Ingrese # de unidades"<< i<<" : "; cin>> prod[i].nunite;
Ing. Ricardo Castañeda
cin>> x;
for( i=1;i<=n;i++)
if ( v[i]== x)
{ pos = i;
break ;
}
if ( v[i]== x)
cout<< " Valor hallado en posición: "<<pos;
else
cout<< " Valor no hallado ";
getch(); */
}
void orden1(item prod[50], int n)
{ int i, j;
item temp;
for ( i=1; i<n ;i++)
for (j=i+1;j<=n;j++)
if( prod[i].codite> prod[j].codite)
{ temp = prod[i];
prod[i] = prod[j];
prod[j] = temp ;
}
}
void escritura(item prod[50], int n)
{int i;
clrscr();
cout<<" CODIGO PRODUCTO UBICACION # UNIDADES TIPO PRECIO/U ";
cout<<endl<<endl;
for ( i=1; i<=n;i++)
{ cout<< prod[i].codite<<" ";
cout<< prod[i].desite<<" ";
cout<< prod[i].ubiite<<" ";
cout<< prod[i].nunite<<" ";
cout<< prod[i].tunite<<" ";
cout<< prod[i].pruite<<endl; }
getch(); }
-7-