practica 8
arreglo unidimensional
pseudocodigo
Inico plantilla de la funcion void lecturadatos(T a[10])
i int
for (i=0 to 9 step i=i+1)
{
Print"Numeros[",i+1,"]= "
Read a[i]
}
Final
Inico plantilla de la funcion void desplegardatos(T a[10])
i int
for (i=0 to 9 step i=i+1)
{
Print a[i]
}
Final
Inico plantilla de la funcion T sumavalores(T a[10])
i int
T suma=0
for (i=0 to 9 step i=i+1)
{
suma=suma+a[i]
}
return suma
Final
Inico plantilla de la funcionvoid mayoresvalores(T a[10], T &mayor, int &pos)
mayor=a[0]
pos=0
int i
for ((i=0 to 9 step i=i+1)
{
if(a[i]>mayor)
{
mayor=a[i]
pos=i+1
}
}
Final
Inicio de programa
pos, may2 int
numeros[10], may1 real
Print"Introdusca 10 numeros"
lecturadatos(numeros)
Print"Lista de valores flotantes\n"
desplegardatos(numeros)
Print"La suma total es: ",sumavalores(numeros)
mayoresvalores(numeros, may1, pos)
Print"El dato mayor es ",may1," en la posicion ",pos
Final
código
#include <iostream.h>#include <conio.h>
#include <stdlib.h>
template<class T>
void lecturadatos(T a[10])
template<class T>
void desplegardatos(T a[10])
template<class T>
T sumavalores(T a[10])
template<class T>
void mayoresvalores(T a[10], T &mayor, int &pos)
template<class T>
void menoresvalores(T a[10], T &menor, int &pos)
int main()
{
int pos, may2, men2;
float numeros[10], may1, men1;
cout<<"Introdusca 10 numeros\n";
lecturadatos(numeros);
cout<<endl;
cout<<"Lista de valores\n";
desplegardatos(numeros);
cout<<"\nLa suma total es: "<<sumavalores(numeros);
mayoresvalores(numeros, may1, pos);
cout<<"\nEl dato mayor es "<<may1<<" en la posicion "<<pos;
menoresvalores(numeros, men1, pos);
cout<<"\nEl dato menor es "<<men1<<" en la posicion "<<pos;
getch () ;
}
template<class T>
void lecturadatos(T a[10])
{
int i;
for (i=0;i<10;i++)
{
cout<<"Numeros["<<(i+1)<<"]= ";
cin>>a[i];
}
}
template<class T>
void desplegardatos(T a[10])
{
int i;
for (i=0;i<10;i++)
{
cout<<a[i]<<endl;;
}
}
template<class T>
T sumavalores(T a[10])
{
int i;
T suma=0;
for (i=0;i<10;i++)
{
suma=suma+a[i];
}
return suma;
}
template<class T>
void mayoresvalores(T a[10], T &mayor, int &pos)
{
mayor=a[0];
pos=0;
int i;
for (i=0;i<10;i++)
{
if(a[i]>mayor)
{
mayor=a[i];
pos=i+1;
}
}
}
template<class T>
void menoresvalores(T a[10], T &menor, int &pos)
{
menor=a[0];
pos=0;
int i;
for (i=0;i<10;i++)
{
if(a[i]<menor)
{
menor=a[i];
pos=i+1;
}
}
}
programa
arreglo bidimensional
pseudocodigo
Inico plantilla de la funcion void leerDatosmatriz(T m[6][6])r,c int
for(r=0 to 4 step r=r+1)
{
for(c=0 to 4 step c=c+1)
{
Print"m[",(r+1),",",c,"]:"
Read m[r][c]
}
}
m[5][5]=0
Final
Inico plantilla de la funcion void desplegarDatosmatriz(T m[6][6])
r,c int
Print"Datos de la matriz"
for(r=0 to 4 step r=r+1)
{
for(c=0 to 4 step c=c+1)
{
Print m[r][c],"\t"
}
Print"\n"
}
Final
Inico plantilla de la funcion void sumarenglones (T [6][6])
r,c int
T suma=0
for(r=0 to 4 step r=r+1)
{
suma=0
for(c=0 to 4 step c=c+1)
{
suma=suma+m[r][c]
}
m[r][5]=suma
}
Final
Inico plantilla de la funcion void sumacolumnas (T [6][6])
int r,c
T suma=0
for(c=0 to 4 step c=c+1)
{
suma=0
for(r=0 to 4 step r=r+1)
{
suma=suma+m[R][c]
}
m[5][c]=suma
}
Final
Inico plantilla de la funcion void desplegarMatrizconsumas (T [6][6])
r,c int
Print"Datos de la matriz con sumas"
for(r=0 to 5 step r=r+1)
{
for(c=0 to 5 step c=c+1)
{
Print m[r][c],"\t"
}
Print"\n"
}
Final
Inicio de programa
matriz[6][6] int
leerDatosmatriz(matriz)
desplegarDatosmatriz(matriz)
sumarenglones(matriz)
sumacolumnas(matriz)
desplegarMatrizconsumas(matriz)
Final
código
#include <iostream.h>#include <conio.h>
template <class T>
void leerDatosmatriz(T m[6][6])
template <class T>
void desplegarDatosmatriz(T m[6][6])
template <class T>
void sumarenglones (T [6][6])
template <class T>
void sumacolumnas (T [6][6])
template <class T>
void desplegarMatrizconsumas (T [6][6])
int main()
{
int matriz[6][6];
leerDatosmatriz(matriz);
desplegarDatosmatriz(matriz);
sumarenglones(matriz);
sumacolumnas(matriz);
desplegarMatrizconsumas(matriz);
getch();
return 0;
}
template <class T>
void leerDatosmatriz(T m[6][6])
{
int r,c;
for(r=0;r<5;r++)
{
for(c=0;c<5;c++)
{
cout<<"m["<<(r+1)<<","<<c<<"]:";
cin>>m[r][c];
}
}
m[5][5]=0;
}
template <class T>
void desplegarDatosmatriz(T m[6][6])
{
int R,c;
cout<<"Datos de la matriz\n";
for(R=0;R<5;R++)
{
for(c=0;c<5;c++)
{
cout<<m[R][c]<<"\t";
}
cout<<endl;
}
}
template <class T>
void sumarenglones (T m[6][6])
{
int r,c;
T suma=0;
for(r=0;r<5;r++)
{
suma=0;
for(c=0;c<5;c++)
{
suma=suma+m[r][c];
}
m[r][5]=suma;
}
}
template <class T>
void sumacolumnas( T m[6][6])
{
int R,c;
T suma=0;
for(c=0;c<5;c++)
{
suma=0;
for(R=0;R<5;R++)
{
suma=suma+m[R][c];
}
m[5][c]=suma;
}
}
template <class T>
void desplegarMatrizconsumas( T m[6][6])
{
int R,c;
cout<<"\nMatriz con sumas\n";
for(R=0;R<6;R++)
{
for(c=0;c<6;c++)
{
cout<<m[R][c]<<"\t";
}
cout<<endl;
}
}
programa
ejemplo de lineas y nombres
pseudocodigo
Inico plantilla de la funcion void leerdatosempleado(int n)i int
for(i=0 to n step i=i+1)
{
Print"\nNumero de empleado: "
Read a[i].noempleado
Print"Nombre de empleado: "
Read a[i].nombre
Print"Sueldo: "
Read a[i].sueldo
a[i].sueldot=a[i].sueldo*365/7
}
Final
Inico plantilla de la funcion void desplegardatosempleado(int n)
i int
Print"No empleado\tNombre\tSueldo\tSueldo anual"
for((i=0 to n step i=i+1)
{
Print a[i].noempleado,"\t",a[i].nombre,"\t
Print a[i].sueldo,"\t"
Print a[i].suedlot,"\n"
}
Final
Inicio de programa
x int
Print"Numero de empleados a registrar: "
Read x
leerdatosempleado(x)
desplegardatosempleado(x)
Final
código
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <stdio.h>
struct empleado
{
char noempleado[8];
char nombre[30];
int sueldo;
int sueldot;
};
empleado a[10];
void leerdatosempleado(int n);
void desplegardatosempleado(int n);
int main()
{
int x;
cout<<"Numero de empleados a registrar: ";
cin>>x;
leerdatosempleado(x);
desplegardatosempleado(x);
getch();
return 0;
}
void leerdatosempleado(int n)
{
int i, j, p;
for(i=0; i<n;i++)
{
cin.ignore();
cout<<"\nNumero de empleado: ";
cin.getline(a[i].noempleado,5,'\n');
cin.ignore();
cout<<"Nombre del empleado: ";
gets(a[i].nombre);
a[i].sueldot=0;
cout<<"Sueldo "<<": ";
cin>>a[i].sueldo;
a[i].sueldot=a[i].sueldo*365/7;
}
}
void desplegardatosempleado(int n)
{
int i, j;
cout<<"No empleado Nombre Sueldo semanal Sueldo anual\n";
for(i=0; i<n; i++)
{
cout<<a[i].noempleado<<setw(20)<<a[i].nombre<<"\t ";
cout<<setw(3)<<a[i].sueldo;
cout<<setw(15)<<a[i].sueldot;
cout<<endl;
}
}
programa
ejercicio del libro # 10 a
pseudocodigo
Inicio de plantilla de la funcion void agregar_datos_file()
ofstream salida
salida.open("C://Datos//grupo.txt",ios::app)
horas int
name[30],sigue char
tarifa real
do
{
Print"Nombre? "
Read name
salida,name
Print"Tarifa? "
Read tarifa
salida,tarifa
Print"Horas? "
Read horas
salida,horas
Print"\n\nDeseas realizar otro registro s/n ? "
Read sigue
}
while(sigue=='s' or sigue=='S')
salida.close()
Final
Inicio de plantilla de la funcion void listado_datos_file()
i,suma=0, horas int
tarifa,pb,pt,pr real
ifstream entrada
entrada.open("C://Datos//grupo.txt")
nombre[30] char
clrscr()
Print"Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular"
entrada.getline(nombre,30)
entrada,tarifa
entrada,horas
while(entrada.good())
{
if (horas>40)
{
pr=40*tarifa
pt=(horas-40)*tarifa
}
else
{
pr=horas*tarifa
pt=0
}
pb=pr+pt
Printendl
Print " ", nombre
Print tarifa
Print " ",horas
Print " ",pb
Print " ",pt
Print " ",pr
entrada.ignore()
entrada.getline(nombre,30)
entrada,tarifa
entrada,horas
}
entrada.close()
Final
Inicio de plantilla de funcion void menu()
Print"1)Agregar datos\n"
Print"2)Listado de datos\n "
Print"3)Salir\n "
Final
Inicio de programa
int opcion
do
{
clrscr()
menu()
Read opcion
switch(opcion)
{
case 1: agregar_datos_file()
break
case 2: listado_datos_file()
break
case 3: Print"\n\nFin del programa \n\n"
break
default: Print"Error en opcion "
break}
}
while(opcion !=3)
Final
código
#include <iomanip.h>#include <conio.h>
#include <fstream.h>
#include <stdio.h>
#include <string.h>
void agregar_datos_file()
{
ofstream salida;
salida.open("C://Datos//grupo.txt",ios::app);
int horas;
char name[30], sigue;
float tarifa;
do
{
cout<<"Nombre? ";
gets(name);
salida<<name<<endl;
cout<<"Tarifa? ";
cin>>tarifa;
salida<<tarifa<<endl;
cout<<"Horas? ";
cin>>horas;
salida<<horas<<endl;
cout<<"\nDeseas realizar otro registro s/n ? ";
cin>>sigue;
}
while(sigue=='s' || sigue=='S');
salida.close();
}
void listado_datos_file()
{
int i,suma=0,horas;
float tarifa,pb,pt,pr;
ifstream entrada;
entrada.open("C://Datos//grupo.txt");
char nombre[30];
clrscr();
cout<<"Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular"<<endl;
entrada.getline(nombre,30);
entrada>>tarifa;
entrada>>horas;
while(entrada.good())
{
if (horas>40)
{
pr=40*tarifa;
pt=(horas-40)*tarifa;
}
else
{
pr=horas*tarifa;
pt=0;
}
pb=pr+pt;
cout<<endl;
cout<<setw(2)<<nombre;
cout<<setw(6)<< tarifa;
cout<<setw(7)<< horas;
cout<<setw(10)<<pb;
cout<<setw(12)<< pt;
cout<<setw(18)<< pr;
entrada.ignore();
entrada.getline(nombre,30);
entrada>>tarifa;
entrada>>horas;
}
entrada.close();
}
void menu()
{
cout<<"1)Agregar datos\n"<<endl;
cout<<"2)Listado de datos\n"<<endl;
cout<<"3)Salir\n"<<endl;
}
int main()
{
int opcion;
do
{
clrscr();
menu();
cin>>opcion;
switch(opcion)
{
case 1: agregar_datos_file();
break;
case 2: listado_datos_file();
getch();
break;
case 3: cout<<"\n\nFin del programa \n\n";
getch();
break;
default: cout<<"Error en opcion";
break;}
}
while(opcion !=3);
getch();
return 0;
}
programa
























