Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1) Indique los pasos para crear un nuevo tipo de datos, de un ejemplo. (2%)
Para acceder a cada uno de los datos que forman el registro, tanto si queremos leer su valor como si
queremos cambiarlo, se debe indicar el nombre de la variable y el del dato (o campo) separados por
un punto:
#include <iostream>
using namespace std;
int main()
{
struct
{
string nombre;
char inicial;
int edad;
float nota;
} persona;
persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
cout << "La edad es " << persona.edad;
return 0;
}
2) Realizar un programa utilizando registros que permita cargar para n estudiantes, 3 notas de
matemáticas, 3 de física y 3 de inglés y calcular el promedio general de cada estudiante. Para ello
debe utilizar arreglos de campos de registros. (4%)
#include<iostream>
#include<conio.h>
#include<stdlib.h>
struct Datos_Notas
{
float M[3],F[3],I[3],P;
}Nota[30];
int main()
setlocale(LC_CTYPE,"spanish");
int i,j;
float S1,S2,S3,P1,P2,P3;
for(i=0;i<30;i++)
S1=S2=S3=0;
system("cls");
cout<<"Estudiante "<<i+1<<endl;
cout<<"matemáticas\n";
for(j=0;j<3;j++)
cin>>Nota[i].M[j];
S1+=Nota[i].M[j];
P1=S1/3;
cout<<"física\n";
for(j=0;j<3;j++)
cin>>Nota[i].F[j];
S2+=Nota[i].F[j];
}
P2=S2/3;
cout<<"inglés\n";
for(j=0;j<3;j++)
cin>>Nota[i].I[j];
S3+=Nota[i].I[j];
P3=S3/3;
Nota[i].P=(P1+P2+P3)/3;
system("pause");
3) En una farmacia se requiere un programa que permita automatizar el manejo del inventario de
medicinas. Para ello usted diseñara un algoritmo que mediante una estructura de datos tipo registro
se guarden los datos de nombre, código, cantidad y costo unitario de cada uno de los 500 remedios
que posee la farmacia. Adicionalmente, debe tener en cuenta que el algoritmo debe contar con un
menú de opciones con las siguientes características.
Nota: si selecciona una opción sin haber cargado los datos debe aparecen un mensaje que le indique al
usuario “primero ingrese los datos”
#include<iostream>
#include<conio.h>
#include<stdlib.h>
char nombre[50];
int codigo,cantidad;
float costo;
} inv[500];
int main()
setlocale(LC_CTYPE,"spanish");
int i;
int opc,opc2;
int bandera=0,band,aux;
float total;
do
system("cls");
cout<<"6)Salir\n";
cin>>opc;
while(opc<1||opc>6)
cout<<"Opcion invalida\n";
cout<<"Reintroduzca: ";
cin>>opc;
switch(opc)
case 1:
for(i=0;i<500;i++)
system("cls");
fflush(stdin);
cout<<"Nombre: ";
gets(inv[i].nombre);
cout<<"Codigo: "<<i+1<<endl;
inv[i].codigo=i+1;
cout<<"Cantidad: ";
cin>>inv[i].cantidad;
cin>>inv[i].costo;
bandera=1;
break;
case 2:
if(bandera==1)
system("cls");
band=0;
cin>>aux;
for(i=0;i<500;i++)
if(aux==inv[i].codigo)
cout<<"Nombre: "<<inv[i].nombre<<endl;
cout<<"Cantidad: "<<inv[i].cantidad<<endl;
band=1;
if(band==0)
else
system("pause");
break;
case 3:
if(bandera==1)
{
system("cls");
band=0;
cin>>aux;
for(i=0;i<500;i++)
if(aux==inv[i].codigo)
do
system("cls");
cout<<"Codigo: "<<aux;
cout<<"1)Modificar cantidad\n";
cout<<"3)salir.\n";
cin>>opc2;
while(opc2<1||opc2>3)
cout<<"Opcion invalida\n";
cout<<"Reintroduzca: ";
cin>>opc2;
if(opc2==1)
cin>>inv[i].cantidad;
if(opc2==2)
cin>>inv[i].costo;
system("pause");
}while(opc2!=3);
band=1;
if(band==0)
}
else
system("pause");
break;
case 4:
if(bandera==1)
system("cls");
total=0;
for(i=0;i<500;i++)
total=total+(inv[i].cantidad*inv[i].costo);
else
system("pause");
break;
case 5:
if(bandera==1)
{
system("cls");
for(i=0;i<500;i++)
cout<<"Nombre: "<<inv[i].nombre<<endl;
cout<<"Codigo: "<<inv[i].codigo<<endl;
cout<<"Cantidad: "<<inv[i].cantidad<<endl;
else
system("pause");
break;
while(opc!=6)