Práctica 10. Problema 1
Descripción
Escriba un programa que lea el nombre de cuatro estudiantes y sus cuatro calificaciones, además que calcule el promedio e indique si el alumno aprobó.
Pseudocódigo
void nombres(char nom[10][25], float cal[10][5])
{
entero i,a
real suma,prom
randomize()
for(i=0 to 10 step i++)
{
suma=0
print "Alumno ",(i+1),": "
cin.getline(nom[i], 25, '\n')
for(a=0 to 4 step a++)
{
cal[i][a]=(float)random(100)+1
suma=suma+cal[i][a]
}
prom=suma/4
cal[i][4]=prom
}
}
{
entero i,a
real suma,prom
randomize()
for(i=0 to 10 step i++)
{
suma=0
print "Alumno ",(i+1),": "
cin.getline(nom[i], 25, '\n')
for(a=0 to 4 step a++)
{
cal[i][a]=(float)random(100)+1
suma=suma+cal[i][a]
}
prom=suma/4
cal[i][4]=prom
}
}
void mostrar(char nom[10][25], float cal[10][5])
{
entero i,a
ofstream salida
salida.open("C:\\pruebasc++\\alumnos.txt")
print "Alumnos calificaciones Promedio"
salida,"Alumnos calificaciones Promedio"
for(i=0 to 10 step i++)
{
print "alumno ",(i+1)," ",nom[i]
salida,"nombre ",(i+1)," promedio ",nom[i]
for(a=0 to 4 step a++)
{
print cal[i][a]
salida, cal[i][a]
}
print cal[i][4]
salida, cal[i][4]
}
salida.close()
}
{
entero i,a
ofstream salida
salida.open("C:\\pruebasc++\\alumnos.txt")
print "Alumnos calificaciones Promedio"
salida,"Alumnos calificaciones Promedio"
for(i=0 to 10 step i++)
{
print "alumno ",(i+1)," ",nom[i]
salida,"nombre ",(i+1)," promedio ",nom[i]
for(a=0 to 4 step a++)
{
print cal[i][a]
salida, cal[i][a]
}
print cal[i][4]
salida, cal[i][4]
}
salida.close()
}
void aprobados(char nom[10][25], float cal[10][5])
{
entero i
ofstream salida
salida.open("C:\\pruebasc++\\alumnos.txt", ios::app)
print "Alumnos Aprobados: "
salida
salida,"Alumnos Aprobados: "
for(i=0 to 10 step i++)
{
if(cal[i][4]>=70)
{
print nom[i]," ","promedio ",cal[i][4]
salida,"#",(i+1)," ",nom[i]," ",cal[i][4]
}
}
salida.close();
}
{
entero i
ofstream salida
salida.open("C:\\pruebasc++\\alumnos.txt", ios::app)
print "Alumnos Aprobados: "
salida
salida,"Alumnos Aprobados: "
for(i=0 to 10 step i++)
{
if(cal[i][4]>=70)
{
print nom[i]," ","promedio ",cal[i][4]
salida,"#",(i+1)," ",nom[i]," ",cal[i][4]
}
}
salida.close();
}
inicio
float cal[10][5]
char nom[10][25]
nombres(nom, cal)
mostrar(nom, cal)
aprobados(nom, cal)
fin
float cal[10][5]
char nom[10][25]
nombres(nom, cal)
mostrar(nom, cal)
aprobados(nom, cal)
fin
Código en C++
#include <fstream.h>
#include <conio.h>
#include <stdlib.h>
#include <conio.h>
#include <stdlib.h>
void nombres(char nom[10][25], float cal[10][5])
{
int i,a;
float suma,prom;
randomize();
for(i=0;i<10;i++)
{
suma=0;
cout<<"Alumno "<<(i+1)<<": ";
cin.getline(nom[i], 25, '\n');
for(a=0;a<4;a++)
{
cal[i][a]=(float)random(100)+1;
suma=suma+cal[i][a];
}
prom=suma/4;
cal[i][4]=prom;
}
cout<<endl;
}
{
int i,a;
float suma,prom;
randomize();
for(i=0;i<10;i++)
{
suma=0;
cout<<"Alumno "<<(i+1)<<": ";
cin.getline(nom[i], 25, '\n');
for(a=0;a<4;a++)
{
cal[i][a]=(float)random(100)+1;
suma=suma+cal[i][a];
}
prom=suma/4;
cal[i][4]=prom;
}
cout<<endl;
}
void mostrar(char nom[10][25], float cal[10][5])
{
int i, a;
ofstream salida;
salida.open("C:\\pruebasc++\\alumnos.txt");
cout<<"Alumnos calificaciones Promedio"<<endl;
salida<<"Alumnos calificaciones Promedio"<<endl<<endl;
for(i=0;i<10;i++)
{
cout<<"alumno "<<(i+1)<<" "<<nom[i]<<"\t \t";
salida<<"nombre "<<(i+1)<<" promedio "<<nom[i]<<"\t \t";
for(a=0; a<4; a++)
{
cout<<cal[i][a]<<" ";
salida<<cal[i][a]<<" ";
}
cout<<cal[i][4]<<endl;
salida<<cal[i][4]<<endl;
}
salida.close();
cout<<endl;
}
{
int i, a;
ofstream salida;
salida.open("C:\\pruebasc++\\alumnos.txt");
cout<<"Alumnos calificaciones Promedio"<<endl;
salida<<"Alumnos calificaciones Promedio"<<endl<<endl;
for(i=0;i<10;i++)
{
cout<<"alumno "<<(i+1)<<" "<<nom[i]<<"\t \t";
salida<<"nombre "<<(i+1)<<" promedio "<<nom[i]<<"\t \t";
for(a=0; a<4; a++)
{
cout<<cal[i][a]<<" ";
salida<<cal[i][a]<<" ";
}
cout<<cal[i][4]<<endl;
salida<<cal[i][4]<<endl;
}
salida.close();
cout<<endl;
}
void aprobados(char nom[10][25], float cal[10][5])
{
int i;
ofstream salida;
salida.open("C:\\pruebasc++\\alumnos.txt", ios::app);
cout<<"Alumnos Aprobados: "<<endl;
salida<<endl;
salida<<"Alumnos Aprobados: "<<endl;
for(i=0; i<10; i++)
{
if(cal[i][4]>=70)
{
cout<<nom[i]<<" "<<"promedio "<<cal[i][4]<<endl;
salida<<"#"<<(i+1)<<" "<<nom[i]<<" "<<cal[i][4]<<endl;
}
}
salida.close();
}
{
int i;
ofstream salida;
salida.open("C:\\pruebasc++\\alumnos.txt", ios::app);
cout<<"Alumnos Aprobados: "<<endl;
salida<<endl;
salida<<"Alumnos Aprobados: "<<endl;
for(i=0; i<10; i++)
{
if(cal[i][4]>=70)
{
cout<<nom[i]<<" "<<"promedio "<<cal[i][4]<<endl;
salida<<"#"<<(i+1)<<" "<<nom[i]<<" "<<cal[i][4]<<endl;
}
}
salida.close();
}
void main()
{
float cal[10][5];
char nom[10][25];
nombres(nom, cal);
mostrar(nom, cal);
aprobados(nom, cal);
getch();
}
{
float cal[10][5];
char nom[10][25];
nombres(nom, cal);
mostrar(nom, cal);
aprobados(nom, cal);
getch();
}
Práctica 10. Problema 2
Descripción
Almacene los siguientes datos en un archivo:
5 96 87 78 93 21 4 92 82
83 87 6 72 69 85 75 81 73
Escriba un programa para calcular y desplegar el promedio de cada grupo de números en el archivo en el índice App de los datos.
Se han arreglado en el archivo para que cada grupo de números sea precedido por el número de elementos de datos del grupo.
Entonces el primer número en el archivo 5 indica que los siguientes cinco números se agrupan juntos y el número cuatro igual y el 6 también.
Pseudocódigo
inicio
real suma,N
real prom
real valor
fstream archivo
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out)
archivo,"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"
archivo.close()
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out)
for(int i=1 to 3 step i++)
{
archivo,N
suma=0
for(int j=1 to N step j++)
{
archivo,valor
suma=suma+valor
}
prom=suma/N
print "promedio: ",prom
}
archivo.close()
fin
inicio
real suma,N
real prom
real valor
fstream archivo
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out)
archivo,"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"
archivo.close()
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out)
for(int i=1 to 3 step i++)
{
archivo,N
suma=0
for(int j=1 to N step j++)
{
archivo,valor
suma=suma+valor
}
prom=suma/N
print "promedio: ",prom
}
archivo.close()
fin
Código en C++
#include <fstream.h>
#include <conio.h>
void main()
{
float suma,N;
float prom;
float valor;
fstream archivo;
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out);
archivo<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"<<endl;
archivo.close();
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out);
for(int i=1; i<=3; i++)
{
archivo>>N;
suma=0;
for(int j=1; j<=N; j++)
{
archivo>>valor;
suma=suma+valor;
}
prom=suma/N;
cout<<"promedio: "<<prom<<endl;
}
archivo.close();
getch();
}
#include <fstream.h>
#include <conio.h>
void main()
{
float suma,N;
float prom;
float valor;
fstream archivo;
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out);
archivo<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"<<endl;
archivo.close();
archivo.open("C:\\pruebasc++\\datos.txt", ios::in | ios::out);
for(int i=1; i<=3; i++)
{
archivo>>N;
suma=0;
for(int j=1; j<=N; j++)
{
archivo>>valor;
suma=suma+valor;
}
prom=suma/N;
cout<<"promedio: "<<prom<<endl;
}
archivo.close();
getch();
}
Práctica 10. Problema 3
Descripción
Escriba un archivo las siguientes cantidades de automóviles, el número de millas recorridas y la cantidad de galones de gasolina empleado para cada auto.
No. de auto millas reco. Galones
54 250 19
62 525 38
71 123 6
84 1322 86
97 235 14
Escriba un programa que lea los datos y despliegue la cantidad de automóviles, las millas recorridas y las millas por galón para cada automóvil. La salida debe contener además los totales de millas recorridas y el total de galones empleados, así como el promedio de millas por galón para todos los autos, dichos totales deben desplegarse a la salida.
Pseudocódigo
void archivo()
{
fstream sky
sky.open("C:\\pruebasc++\\autos.txt",ios::out)
sky,"54"," ","250"," ","19"
sky,"62"," ","525"," ","38"
sky,"71"," ","123"," ","6"
sky,"85"," ","1322"," ","86"
sky,"97"," ","235"," ","14"
sky.close()
}
void leer(int a[5][3])
{
entero i,j,n
fstream sky
sky.open("C:\\pruebasc++\\autos.txt",ios::in)
for (i=0 to 5 step i++)
{
for (j=0 to 3 step j++)
{
sky,n
a[i][j]=n
}
}
sky.close()
}
void calculo(int a[5][3], float &t1, float &t2, float c[5])
{
entero i
t1=0
t2=0
for (i=0 to 5 step i++)
{
t1=a[i][1]+t1
t2=a[i][2]+t2
c[i]=a[i][1]/a[i][2]
}
}
void pmg( float c[5], float &pm)
{
entero i
float suma=0
for (i=0 to 5 step i++)
{
suma=c[i]+suma
}
pm=suma/5
}
void imprimir(int a[5][3],float t1,float t2, float c[5])
{
entero i,j
print "no de automovil"," ","millas"," ","galones"," ","mpg"
for (i=0 to 5 step i++)
{
for (j=0 to 3 step j++)
{
print a[i][j]
}
print c[i]
}
print "numero de autos: 5"
print "total de millas ",t1
print "total de galones",t2
}
inicio
entero a[5][3]
real t1,t2,c[5],pm
archivo()
leer(a)
calculo(a,t1,t2,c)
imprimir(a,t1,t2,c)
print "PMPG"
pmg(c,pm)
print pm
fin
void archivo()
{
fstream sky
sky.open("C:\\pruebasc++\\autos.txt",ios::out)
sky,"54"," ","250"," ","19"
sky,"62"," ","525"," ","38"
sky,"71"," ","123"," ","6"
sky,"85"," ","1322"," ","86"
sky,"97"," ","235"," ","14"
sky.close()
}
void leer(int a[5][3])
{
entero i,j,n
fstream sky
sky.open("C:\\pruebasc++\\autos.txt",ios::in)
for (i=0 to 5 step i++)
{
for (j=0 to 3 step j++)
{
sky,n
a[i][j]=n
}
}
sky.close()
}
void calculo(int a[5][3], float &t1, float &t2, float c[5])
{
entero i
t1=0
t2=0
for (i=0 to 5 step i++)
{
t1=a[i][1]+t1
t2=a[i][2]+t2
c[i]=a[i][1]/a[i][2]
}
}
void pmg( float c[5], float &pm)
{
entero i
float suma=0
for (i=0 to 5 step i++)
{
suma=c[i]+suma
}
pm=suma/5
}
void imprimir(int a[5][3],float t1,float t2, float c[5])
{
entero i,j
print "no de automovil"," ","millas"," ","galones"," ","mpg"
for (i=0 to 5 step i++)
{
for (j=0 to 3 step j++)
{
print a[i][j]
}
print c[i]
}
print "numero de autos: 5"
print "total de millas ",t1
print "total de galones",t2
}
inicio
entero a[5][3]
real t1,t2,c[5],pm
archivo()
leer(a)
calculo(a,t1,t2,c)
imprimir(a,t1,t2,c)
print "PMPG"
pmg(c,pm)
print pm
fin
Código en C++
#include <fstream.h>
#include <conio.h>
void archivo()
{
fstream sky;
sky.open("C:\\pruebasc++\\autos.txt",ios::out);
sky<<"54"<<" "<<"250"<<" "<<"19"<<endl;
sky<<"62"<<" "<<"525"<<" "<<"38"<<endl;
sky<<"71"<<" "<<"123"<<" "<<"6"<<endl;
sky<<"85"<<" "<<"1322"<<" "<<"86"<<endl;
sky<<"97"<<" "<<"235"<<" "<<"14"<<endl;
sky.close();
}
void leer(int a[5][3])
{
int i,j,n;
fstream sky;
sky.open("C:\\pruebasc++\\autos.txt",ios::in);
for (i=0;i<5;i++)
{
for (j=0;j<3;j++)
{
sky>>n;
a[i][j]=n;
}
}
sky.close();
}
void calculo(int a[5][3], float &t1, float &t2, float c[5])
{
int i;
t1=0;
t2=0;
for (i=0;i<5;i++)
{
t1=a[i][1]+t1;
t2=a[i][2]+t2;
c[i]=a[i][1]/a[i][2];
}
}
void pmg( float c[5], float &pm)
{
int i;
float suma=0;
for (i=0;i<5;i++)
{
suma=c[i]+suma;
}
pm=suma/5;
}
void imprimir(int a[5][3],float t1,float t2, float c[5])
{
int i,j;
cout<<"no de automovil"<<" "<<"millas"<<" "<<"galones"<<" "<<"mpg"<<endl;
for (i=0;i<5;i++)
{
for (j=0;j<3;j++)
{
cout<<a[i][j]<<"\t";
}
cout<<c[i]<<endl;
}
cout<<"numero de autos: 5"<<endl;
cout<<"total de millas "<<t1<<endl;
cout<<"total de galones"<<t2<<endl;
}
void main()
{
int a[5][3];
float t1,t2,c[5],pm;
archivo();
leer(a);
calculo(a,t1,t2,c);
imprimir(a,t1,t2,c);
cout<<"PMPG"<<endl;
pmg(c,pm);
cout<<pm;
getch();
}
#include <fstream.h>
#include <conio.h>
void archivo()
{
fstream sky;
sky.open("C:\\pruebasc++\\autos.txt",ios::out);
sky<<"54"<<" "<<"250"<<" "<<"19"<<endl;
sky<<"62"<<" "<<"525"<<" "<<"38"<<endl;
sky<<"71"<<" "<<"123"<<" "<<"6"<<endl;
sky<<"85"<<" "<<"1322"<<" "<<"86"<<endl;
sky<<"97"<<" "<<"235"<<" "<<"14"<<endl;
sky.close();
}
void leer(int a[5][3])
{
int i,j,n;
fstream sky;
sky.open("C:\\pruebasc++\\autos.txt",ios::in);
for (i=0;i<5;i++)
{
for (j=0;j<3;j++)
{
sky>>n;
a[i][j]=n;
}
}
sky.close();
}
void calculo(int a[5][3], float &t1, float &t2, float c[5])
{
int i;
t1=0;
t2=0;
for (i=0;i<5;i++)
{
t1=a[i][1]+t1;
t2=a[i][2]+t2;
c[i]=a[i][1]/a[i][2];
}
}
void pmg( float c[5], float &pm)
{
int i;
float suma=0;
for (i=0;i<5;i++)
{
suma=c[i]+suma;
}
pm=suma/5;
}
void imprimir(int a[5][3],float t1,float t2, float c[5])
{
int i,j;
cout<<"no de automovil"<<" "<<"millas"<<" "<<"galones"<<" "<<"mpg"<<endl;
for (i=0;i<5;i++)
{
for (j=0;j<3;j++)
{
cout<<a[i][j]<<"\t";
}
cout<<c[i]<<endl;
}
cout<<"numero de autos: 5"<<endl;
cout<<"total de millas "<<t1<<endl;
cout<<"total de galones"<<t2<<endl;
}
void main()
{
int a[5][3];
float t1,t2,c[5],pm;
archivo();
leer(a);
calculo(a,t1,t2,c);
imprimir(a,t1,t2,c);
cout<<"PMPG"<<endl;
pmg(c,pm);
cout<<pm;
getch();
}
Corrida
Práctica 10. Problema 4
Descripción
Un archivo llamado polar contiene las coordenadas polares necesarias en un programa de gráficas, actualmente este archivo contiene los siguientes datos:
Distancia Angulo
2 45
6 30
10 45
4 60
12 55
8 15
a) Escriba un programa que acepte del usuario distancia y Angulo y los agregue al final del archivo.
b) Escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt
Pseudocódigo
void crear_Archivo()
{
fstream archivo
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::out)
archivo,2.0," ",45.0," "
archivo,6.0," ",30.0," "
archivo,10.0," ",45.0," "
archivo,4.0," ",60.0," "
archivo,12.0," ",55.0," "
archivo,8.0," ",15.0," "
archivo.close()
}
void agregar_dato()
{
entero d1, angulo
caracter continuar
fstream archivo
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::app)
do
{
print "Distancia: "
read d1
print "Angulo: "
read angulo
archivo,d1," ",angulo
print "Otro dato (S/N): "
read continuar
}
while(continuar=='s'or continuar=='S')
archivo.close()
}
void coordenadas()
{
real distancia, angulo, rad, x, y
fstream f1
fstream f2
f1.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::in)
f2.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::out)
f1,distancia
while(!f1.eof())
{
f1,angulo
rad=(angulo*3.1416)/180.0
x=distancia*cos(rad)
y=distancia*sin(rad)
f2,x," ",y," "
f1,distancia
}
f1.close()
f2.close()
}
void imprimearchivo()
{
real x, y
fstream archivo
archivo.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::in)
archivo,x
while(!archivo.eof())
{
print x," "
archivo,y
print y
archivo,x
}
archivo.close()
}
inicio
crear_Archivo()
agregar_dato()
coordenadas()
imprimearchivo()
fin
void crear_Archivo()
{
fstream archivo
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::out)
archivo,2.0," ",45.0," "
archivo,6.0," ",30.0," "
archivo,10.0," ",45.0," "
archivo,4.0," ",60.0," "
archivo,12.0," ",55.0," "
archivo,8.0," ",15.0," "
archivo.close()
}
void agregar_dato()
{
entero d1, angulo
caracter continuar
fstream archivo
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::app)
do
{
print "Distancia: "
read d1
print "Angulo: "
read angulo
archivo,d1," ",angulo
print "Otro dato (S/N): "
read continuar
}
while(continuar=='s'or continuar=='S')
archivo.close()
}
void coordenadas()
{
real distancia, angulo, rad, x, y
fstream f1
fstream f2
f1.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::in)
f2.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::out)
f1,distancia
while(!f1.eof())
{
f1,angulo
rad=(angulo*3.1416)/180.0
x=distancia*cos(rad)
y=distancia*sin(rad)
f2,x," ",y," "
f1,distancia
}
f1.close()
f2.close()
}
void imprimearchivo()
{
real x, y
fstream archivo
archivo.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::in)
archivo,x
while(!archivo.eof())
{
print x," "
archivo,y
print y
archivo,x
}
archivo.close()
}
inicio
crear_Archivo()
agregar_dato()
coordenadas()
imprimearchivo()
fin
Código en C++
#include <fstream.h>
#include <conio.h>
#include <math.h>
void crear_Archivo()
{
fstream archivo;
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::out);
archivo<<2.0<<" "<<45.0<<" "<<endl;
archivo<<6.0<<" "<<30.0<<" "<<endl;
archivo<<10.0<<" "<<45.0<<" "<<endl;
archivo<<4.0<<" "<<60.0<<" "<<endl;
archivo<<12.0<<" "<<55.0<<" "<<endl;
archivo<<8.0<<" "<<15.0<<" "<<endl;
archivo.close();
}
void agregar_dato()
{
int d1, angulo;
char continuar;
fstream archivo;
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::app);
do
{
cout<<"Distancia: ";
cin>>d1;
cout<<"Angulo: ";
cin>>angulo;
archivo<<d1<<" "<<angulo<<endl;
cout<<"Otro dato (S/N): ";
cin>>continuar;}
while(continuar=='s'||continuar=='S');
archivo.close();
}
void coordenadas()
{
float distancia, angulo, rad, x, y;
fstream f1;
fstream f2;
f1.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::in);
f2.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::out);
f1>>distancia;
while(!f1.eof())
{
f1>>angulo;
rad=(angulo*3.1416)/180.0;
x=distancia*cos(rad);
y=distancia*sin(rad);
f2<<x<<" "<<y<<" "<<endl;
f1>>distancia;
}
f1.close();
f2.close();
}
void imprimearchivo()
{
float x, y;
fstream archivo;
archivo.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::in);
archivo>>x;
while(!archivo.eof())
{
cout<<x<<" ";
archivo>>y;
cout<<y<<endl;
archivo>>x;
}
archivo.close();
}
void main()
{
crear_Archivo();
agregar_dato();
coordenadas();
imprimearchivo();
getch();
}
#include <fstream.h>
#include <conio.h>
#include <math.h>
void crear_Archivo()
{
fstream archivo;
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::out);
archivo<<2.0<<" "<<45.0<<" "<<endl;
archivo<<6.0<<" "<<30.0<<" "<<endl;
archivo<<10.0<<" "<<45.0<<" "<<endl;
archivo<<4.0<<" "<<60.0<<" "<<endl;
archivo<<12.0<<" "<<55.0<<" "<<endl;
archivo<<8.0<<" "<<15.0<<" "<<endl;
archivo.close();
}
void agregar_dato()
{
int d1, angulo;
char continuar;
fstream archivo;
archivo.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::app);
do
{
cout<<"Distancia: ";
cin>>d1;
cout<<"Angulo: ";
cin>>angulo;
archivo<<d1<<" "<<angulo<<endl;
cout<<"Otro dato (S/N): ";
cin>>continuar;}
while(continuar=='s'||continuar=='S');
archivo.close();
}
void coordenadas()
{
float distancia, angulo, rad, x, y;
fstream f1;
fstream f2;
f1.open("C:\\pruebasc++\\angulo.txt", ios::binary | ios::in);
f2.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::out);
f1>>distancia;
while(!f1.eof())
{
f1>>angulo;
rad=(angulo*3.1416)/180.0;
x=distancia*cos(rad);
y=distancia*sin(rad);
f2<<x<<" "<<y<<" "<<endl;
f1>>distancia;
}
f1.close();
f2.close();
}
void imprimearchivo()
{
float x, y;
fstream archivo;
archivo.open("C:\\pruebasc++\\xycord.txt", ios::binary | ios::in);
archivo>>x;
while(!archivo.eof())
{
cout<<x<<" ";
archivo>>y;
cout<<y<<endl;
archivo>>x;
}
archivo.close();
}
void main()
{
crear_Archivo();
agregar_dato();
coordenadas();
imprimearchivo();
getch();
}
Corrida
Práctica 10. Problema 5
Descripción
Considere la siguiente lista de países y sus capitales.
Canadá Ottawa
Inglaterra Londres
Francia Paris
India Nueva Delhi
Israel Jerusalén
Italia Roma
Japón Tokio
México Ciudad de México
China Beijing
Estados Unidos Washington D.C
Rusia Moscú
Escriba un programa interactivo que acepte el nombre de un país como entrada y escriba su capital y viceversa. Diseñar el programa de modo que se ejecute repetidamente hasta introducir fin.
Pseudocódigo
void bp(char p[12][20], char c[12][20])
{
caracter cap[20]
entero i
do
{
print "ingrese la capital del pais "
read cap
if (cap!="fin")
{
for (i=0 to 12 step i++)
{
strcmp(c[i],cap)
if(strcmp(c[i],cap)==0)
{
print "pais :",(p[i])
}
}
}
}
while(cap!="fin")
}
void bc(char p[12][20], char c[12][20])
{
caracter pa[20]
entero i
do
{
print "ingrese el pais "
read pa
if (pa!="fin")
{
for (i=0 to 12 step i++)
{ strcmp(p[i],pa)
if(strcmp(p[i],pa)==0)
{
print "capital: ",(c[i])
}
}
}
}
while(pa!="fin")
}
inicio
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"}
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"}
int uno;
print "bucar capital[1] o pais[2]"
read uno
switch(uno)
{
case 1:
bc(p,c)
break;
case 2:
bp(p,c)
break
}
fin
void bp(char p[12][20], char c[12][20])
{
caracter cap[20]
entero i
do
{
print "ingrese la capital del pais "
read cap
if (cap!="fin")
{
for (i=0 to 12 step i++)
{
strcmp(c[i],cap)
if(strcmp(c[i],cap)==0)
{
print "pais :",(p[i])
}
}
}
}
while(cap!="fin")
}
void bc(char p[12][20], char c[12][20])
{
caracter pa[20]
entero i
do
{
print "ingrese el pais "
read pa
if (pa!="fin")
{
for (i=0 to 12 step i++)
{ strcmp(p[i],pa)
if(strcmp(p[i],pa)==0)
{
print "capital: ",(c[i])
}
}
}
}
while(pa!="fin")
}
inicio
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"}
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"}
int uno;
print "bucar capital[1] o pais[2]"
read uno
switch(uno)
{
case 1:
bc(p,c)
break;
case 2:
bp(p,c)
break
}
fin
Código en C++
#include <iostream.h>
#include <conio.h>
#include <string.h>
void bp(char p[12][20], char c[12][20])
{
char cap[20];
int i;
do
{
cout<<"ingrese la capital del pais "<<endl;
cin>>cap;
if (cap!="fin")
{
for (i=0;i<12;i++)
{
strcmp(c[i],cap);
if(strcmp(c[i],cap)==0)
{
cout<<"pais :"<<(p[i])<<endl;
}
}
}
}
while(cap!="fin");
}
void bc(char p[12][20], char c[12][20])
{
char pa[20];
int i;
do
{
cout<<"ingrese el pais "<<endl;
cin>>pa;
if (pa!="fin")
{
for (i=0;i<12;i++)
{ strcmp(p[i],pa);
if(strcmp(p[i],pa)==0)
{
cout<<"capital: "<<(c[i])<<endl;
}
}
}
}
while(pa!="fin");
}
void main()
{
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"};
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"};
int uno;
cout<<"bucar capital[1] o pais[2]"<<endl;
cin>>uno;
switch(uno)
{
case 1:bc(p,c);
break;
case 2:bp(p,c);
break;
}
getch();
}
#include <iostream.h>
#include <conio.h>
#include <string.h>
void bp(char p[12][20], char c[12][20])
{
char cap[20];
int i;
do
{
cout<<"ingrese la capital del pais "<<endl;
cin>>cap;
if (cap!="fin")
{
for (i=0;i<12;i++)
{
strcmp(c[i],cap);
if(strcmp(c[i],cap)==0)
{
cout<<"pais :"<<(p[i])<<endl;
}
}
}
}
while(cap!="fin");
}
void bc(char p[12][20], char c[12][20])
{
char pa[20];
int i;
do
{
cout<<"ingrese el pais "<<endl;
cin>>pa;
if (pa!="fin")
{
for (i=0;i<12;i++)
{ strcmp(p[i],pa);
if(strcmp(p[i],pa)==0)
{
cout<<"capital: "<<(c[i])<<endl;
}
}
}
}
while(pa!="fin");
}
void main()
{
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"};
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"};
int uno;
cout<<"bucar capital[1] o pais[2]"<<endl;
cin>>uno;
switch(uno)
{
case 1:bc(p,c);
break;
case 2:bp(p,c);
break;
}
getch();
}
Corrida
Práctica 10. Problema 6
Descripción
Una empresa tiene varios vendedores. Por cada vendedor se tiene el nombre y la venta que realizo. Elaborar un programa que permita leer dichos datos y proporcione un reporte de comisiones de ventas en el cual aparezcan todos los vendedores que tengan una venta mayor al nivel de comisión, nivel de comisión=3/4 * promedio de ventas, comisión=5% sobre el excedente de lo que vendió por arriba del nivel de comisión.
Pseudocódigo
void intronombre(char nombre[50][25], int& v, float& promv, float M[50])
{
entero i=0,z,c1=0
real suma=0,venta,prom
print "Introduzca numero de vendedores: "
read v
for(i=0 to v step i++)
{
suma=0
cin.getline(nombre[i], 25)
print "Nombre ",(i+1),": "
cin.getline(nombre[i], 25, '\n');
for(z=0 to 5 step z++)
{
c1=c1+1
print "Venta ",(z+1)," "
read venta
suma=suma+venta
}
M[i]=suma
prom=suma+prom
}
promv=prom/c1
}
void sumatoria(char nombre[50][25], int& v, float& promv, float M[50])
{
entero i
real nivelcom=0,com
nivelcom=(3.0/4.0)*promv
com=nivelcom*0.5
for(i=0 to v step i++)
{
if(M[i]>(nivelcom+com))
{
print nombre[i]," "
}
}
}
inicio
caracter nombre[50][25]
entero v
real promv
real M[50]
intronombre(nombre, v, promv, M)
print "Vendedores que sobrepasan el nivel de comision "
sumatoria(nombre, v, promv, M);
fin
void intronombre(char nombre[50][25], int& v, float& promv, float M[50])
{
entero i=0,z,c1=0
real suma=0,venta,prom
print "Introduzca numero de vendedores: "
read v
for(i=0 to v step i++)
{
suma=0
cin.getline(nombre[i], 25)
print "Nombre ",(i+1),": "
cin.getline(nombre[i], 25, '\n');
for(z=0 to 5 step z++)
{
c1=c1+1
print "Venta ",(z+1)," "
read venta
suma=suma+venta
}
M[i]=suma
prom=suma+prom
}
promv=prom/c1
}
void sumatoria(char nombre[50][25], int& v, float& promv, float M[50])
{
entero i
real nivelcom=0,com
nivelcom=(3.0/4.0)*promv
com=nivelcom*0.5
for(i=0 to v step i++)
{
if(M[i]>(nivelcom+com))
{
print nombre[i]," "
}
}
}
inicio
caracter nombre[50][25]
entero v
real promv
real M[50]
intronombre(nombre, v, promv, M)
print "Vendedores que sobrepasan el nivel de comision "
sumatoria(nombre, v, promv, M);
fin
Código en C++
#include <iostream.h>
#include <conio.h>
void intronombre(char nombre[50][25], int& v, float& promv, float M[50])
{
int i=0, z, c1=0;
float suma=0, venta, prom;
cout<<"Introduzca numero de vendedores: ";
cin>>v;
for(i=0; i<v; i++)
{
suma=0;
cin.getline(nombre[i], 25);
cout<<"Nombre "<<(i+1)<<": ";
cin.getline(nombre[i], 25, '\n');
for(z=0; z<5; z++)
{
c1=c1+1;
cout<<"Venta "<<(z+1)<<" ";
cin>>venta;
suma=suma+venta;
}
M[i]=suma;
prom=suma+prom;
}
promv=prom/c1;
}
void sumatoria(char nombre[50][25], int& v, float& promv, float M[50])
{
int i;
float nivelcom=0, com;
nivelcom=(3.0/4.0)*promv;
com=nivelcom*0.5;
for(i=0; i<v; i++)
{
if(M[i]>(nivelcom+com))
{
cout<<nombre[i]<<" ";
}
}
}
void main()
{
char nombre[50][25];
int v;
float promv;
float M[50];
intronombre(nombre, v, promv, M);
cout<<endl;
cout<<"Vendedores que sobrepasan el nivel de comision "<<endl;
sumatoria(nombre, v, promv, M);
getch();
}
#include <iostream.h>
#include <conio.h>
void intronombre(char nombre[50][25], int& v, float& promv, float M[50])
{
int i=0, z, c1=0;
float suma=0, venta, prom;
cout<<"Introduzca numero de vendedores: ";
cin>>v;
for(i=0; i<v; i++)
{
suma=0;
cin.getline(nombre[i], 25);
cout<<"Nombre "<<(i+1)<<": ";
cin.getline(nombre[i], 25, '\n');
for(z=0; z<5; z++)
{
c1=c1+1;
cout<<"Venta "<<(z+1)<<" ";
cin>>venta;
suma=suma+venta;
}
M[i]=suma;
prom=suma+prom;
}
promv=prom/c1;
}
void sumatoria(char nombre[50][25], int& v, float& promv, float M[50])
{
int i;
float nivelcom=0, com;
nivelcom=(3.0/4.0)*promv;
com=nivelcom*0.5;
for(i=0; i<v; i++)
{
if(M[i]>(nivelcom+com))
{
cout<<nombre[i]<<" ";
}
}
}
void main()
{
char nombre[50][25];
int v;
float promv;
float M[50];
intronombre(nombre, v, promv, M);
cout<<endl;
cout<<"Vendedores que sobrepasan el nivel de comision "<<endl;
sumatoria(nombre, v, promv, M);
getch();
}
Práctica 10. Problema 7
Descripción
Pseudocódigo
Código en C++
Corrida