1. Cree un archivo de texto que contenga los siguientes números de automóviles, número de millas recorridas y número de galones de gasolina utilizados en cada automóvil (no incluya los encabezados):
Núm. de automóvil Millas recorridas Galones utilizados
54 250 19
62 525 38
71 123 6
85 1 322 86
97 235 14
Codigo:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
int numero, millas, galones;
float promedio;
string nombre_archivo = "C:\\problema_1.txt";
ifstream entrada;
entrada.open(nombre_archivo.c_str());
if(entrada.fail())
{
cout << "El archivo no se abrio";
exit(1);
}
while(!entrada.eof())
{
entrada >> numero >> millas >> galones;
promedio = millas/galones;
cout << "Num. de automovil: " << numero << endl << "Millas recorridas: " << millas << endl << "Galones utilizados: " << galones << endl << "Millas por galon: " << promedio << endl << endl;
}
return 0;
}
2. Cree un archivo de texto con los siguientes datos (sin los encabezados):
Número de parte Cantidad inicial Cantidad vendida Cantidad mínima
QA310 95 47 50
CM145 320 162 200
MS514 34 20 25
EN212 163 150 160
Escriba un programa en C++ para crear un reporte de inventario basado en los datos en el archivo creado en el ejercicio 9a. El despliegue deberá consistir en el número de parte, balance actual y la cantidad que es necesaria para mantener el inventario en el nivel mínimo.
Codigo:
#include <iostream>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
void leer_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4]);
void operacion(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4]);
void enviar_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4]);
int main()
{
char nombre[4][20];
int ci[4],cv[4],cm[4],valance[4];
leer_datos(nombre,ci,cv,cm);
operacion(nombre,ci,cv,cm,valance);
enviar_datos(nombre,ci,cv,cm,valance);
getch();
return 0;
}
void leer_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4])
{
ifstream archivo_entr;
int i;
archivo_entr.open("C:\\Users\\K4rlos\\Documents\\Datos (2).txt");
for(i=0;i<4;i++)
{
archivo_entr>>nombre[i]>>ci[i]>>cv[i]>>cm[i];
}
}
void operacion(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4])
{
int i;
for(i=0; i<4; i++)
{
valance[i]=ci[i]-cv[i];
}
}
void enviar_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4])
{
int i;
cout<<"Datos inicial de la tabla"<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
cout<<nombre[i]<<setw(4)<<ci[i]<<setw(4)<<cv[i]<<setw(4)<<cm[i]<<endl;
}
cout<<" "<<endl;
cout<<"El valance actual de la tabla es: "<<endl;
cout<<" "<<endl;
cout<<"QA310 CM145 MS514 EN212"<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
cout<<valance[i]<<setw(9);
}
cout<<" "<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
if(valance[i]<cm[i])
cout<<nombre[i]<<" "<<"esta debajo de la cantidad minima"<<endl;
else{
cout<<nombre[i]<<" "<<"se encuentra encima o igual que la cantidad minima"<<endl;
}
}
}
3. Cree un archivo de texto que contenga los siguientes datos (sin encabezados):
Nombre Tarifa Horas
Callaway,G. 6.00 40
Hanson,P. 5.00 48
Lasard,D. 6.50 35
Stillman,W. 8.00 50
Escriba un programa en C++ que use la información contenida en el archivo creado en el ejercicio 10a para producir el siguiente reporte de pagos para cada empleado:
Codigo:
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iomanip>
using namespace std;
void obtener_datos(char nombre[4][17], float tarifa[4], float horas[4]);
void calcular(float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4]);
float regular(float Pregular[4], float Ptextra[4], float Pbruto[4]);
float extra(float Pregular[4], float Ptextra[4], float Pbruto[4]);
float bruto(float Pregular[4], float Ptextra[4], float Pbruto[4]);
void enviar_datos(char nombre[4][17], float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4], float R, float E, float B);
int main()
{
char nombre[4][17];
float tarifa[4];
float horas[4];
float Pregular[4];
float Ptextra[4];
float Pbruto[4];
float R,E,B;
obtener_datos(nombre,tarifa,horas);
calcular(tarifa,horas,Pregular,Ptextra,Pbruto);
R = regular(Pregular,Ptextra,Pbruto);
E = extra(Pregular,Ptextra,Pbruto);
B = bruto(Pregular,Ptextra,Pbruto);
enviar_datos(nombre,tarifa,horas,Pregular,Ptextra,Pbruto,R,E,B);
getch();
return 0;
}
void obtener_datos(char nombre[4][17], float tarifa[4], float horas[4])
{
ifstream entrada;
int i;
entrada.open("C:\\Users\\marco_000\\Documents\\Segundo semestre\\Programación\\Practica 7\\3\\Informacion.txt");
for(i=0; i<4; i++)
{
entrada>>nombre[i]>>tarifa[i]>>horas[i];
}
}
void calcular(float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
for(i=0; i<4; i++)
{
if(horas[i] <= 40)
{
Pregular[i] = tarifa[i]*horas[i];
Ptextra[i] = 0;
}
if(horas[i] > 40)
{
Pregular[i] = tarifa[i]*40;
Ptextra[i] = (horas[i]-40)*((1.5)*tarifa[i]);
}
Pbruto[i] = Pregular[i] + Ptextra[i];
}
}
float regular(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Tregular = 0;
for(i=0; i<4; i++)
{
Tregular = Pregular[i] + Tregular;
}
return Tregular;
}
float extra(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Textra = 0;
for(i=0; i<4; i++)
{
Textra = Ptextra[i] + Textra;
}
return Textra;
}
float bruto(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Tbruto = 0;
for(i=0; i<4; i++)
{
Tbruto = Pbruto[i] + Tbruto;
}
return Tbruto;
}
void enviar_datos(char nombre[4][17], float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4], float R, float E, float B)
{
ofstream salida;
int i;
salida.open("C:\\Users\\marco_000\\Documents\\Segundo semestre\\Programación\\Practica 7\\3\\Resultado.txt");
//Programa
cout<<"\n\n Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular\n"<<endl;
for(i=0; i<4; i++)
{
cout<<setw(11)<<nombre[i]<<setw(6)<<tarifa[i]<<setw(8)<<horas[i]<<setw(12)<<Pbruto[i]<<setw(16)<<Ptextra[i]<<setw(20)<<Pregular[i]<<endl;
}
cout<<"\n Totales: "<<B<<" "<<E<<" "<<R<<endl;
//Archivo
salida<<"\n\n Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular\n"<<endl;
for(i=0; i<4; i++)
{
salida<<setw(11)<<nombre[i]<<setw(6)<<tarifa[i]<<setw(8)<<horas[i]<<setw(12)<<Pbruto[i]<<setw(16)<<Ptextra[i]<<setw(20)<<Pregular[i]<<endl;
}
salida<<"\n Totales: "<<B<<" "<<E<<" "<<R<<endl;
}
4. Almacene los siguientes datos en un archivo:
5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73
b. Escriba un programa en C++ para calcular y desplegar el promedio de cada grupo de números en el archivo creado en el ejercicio 11a. Los datos están ordenados en el archivo de modo que cada grupo de números esté precedido por el número de elementos de datos en el grupo. Por tanto, el primer número en el archivo, 5, indica que los siguientes cinco números deberán agruparse juntos. El número 4 indica que los siguientes cuatro números son un grupo, y el 6 indica que los últimos seis números son un grupo. (Sugerencia: Use un ciclo anidado. El ciclo
exterior deberá terminar cuando se haya encontrado el final del archivo.)
Codigo:
Núm. de automóvil Millas recorridas Galones utilizados
54 250 19
62 525 38
71 123 6
85 1 322 86
97 235 14
Codigo:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
int numero, millas, galones;
float promedio;
string nombre_archivo = "C:\\problema_1.txt";
ifstream entrada;
entrada.open(nombre_archivo.c_str());
if(entrada.fail())
{
cout << "El archivo no se abrio";
exit(1);
}
while(!entrada.eof())
{
entrada >> numero >> millas >> galones;
promedio = millas/galones;
cout << "Num. de automovil: " << numero << endl << "Millas recorridas: " << millas << endl << "Galones utilizados: " << galones << endl << "Millas por galon: " << promedio << endl << endl;
}
return 0;
}
2. Cree un archivo de texto con los siguientes datos (sin los encabezados):
Número de parte Cantidad inicial Cantidad vendida Cantidad mínima
QA310 95 47 50
CM145 320 162 200
MS514 34 20 25
EN212 163 150 160
Escriba un programa en C++ para crear un reporte de inventario basado en los datos en el archivo creado en el ejercicio 9a. El despliegue deberá consistir en el número de parte, balance actual y la cantidad que es necesaria para mantener el inventario en el nivel mínimo.
Codigo:
#include <iostream>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
void leer_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4]);
void operacion(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4]);
void enviar_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4]);
int main()
{
char nombre[4][20];
int ci[4],cv[4],cm[4],valance[4];
leer_datos(nombre,ci,cv,cm);
operacion(nombre,ci,cv,cm,valance);
enviar_datos(nombre,ci,cv,cm,valance);
getch();
return 0;
}
void leer_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4])
{
ifstream archivo_entr;
int i;
archivo_entr.open("C:\\Users\\K4rlos\\Documents\\Datos (2).txt");
for(i=0;i<4;i++)
{
archivo_entr>>nombre[i]>>ci[i]>>cv[i]>>cm[i];
}
}
void operacion(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4])
{
int i;
for(i=0; i<4; i++)
{
valance[i]=ci[i]-cv[i];
}
}
void enviar_datos(char nombre[4][20], int ci[4], int cv[4], int cm[4],int valance[4])
{
int i;
cout<<"Datos inicial de la tabla"<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
cout<<nombre[i]<<setw(4)<<ci[i]<<setw(4)<<cv[i]<<setw(4)<<cm[i]<<endl;
}
cout<<" "<<endl;
cout<<"El valance actual de la tabla es: "<<endl;
cout<<" "<<endl;
cout<<"QA310 CM145 MS514 EN212"<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
cout<<valance[i]<<setw(9);
}
cout<<" "<<endl;
cout<<" "<<endl;
for(i=0; i<4; i++)
{
if(valance[i]<cm[i])
cout<<nombre[i]<<" "<<"esta debajo de la cantidad minima"<<endl;
else{
cout<<nombre[i]<<" "<<"se encuentra encima o igual que la cantidad minima"<<endl;
}
}
}
3. Cree un archivo de texto que contenga los siguientes datos (sin encabezados):
Nombre Tarifa Horas
Callaway,G. 6.00 40
Hanson,P. 5.00 48
Lasard,D. 6.50 35
Stillman,W. 8.00 50
Escriba un programa en C++ que use la información contenida en el archivo creado en el ejercicio 10a para producir el siguiente reporte de pagos para cada empleado:
Codigo:
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iomanip>
using namespace std;
void obtener_datos(char nombre[4][17], float tarifa[4], float horas[4]);
void calcular(float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4]);
float regular(float Pregular[4], float Ptextra[4], float Pbruto[4]);
float extra(float Pregular[4], float Ptextra[4], float Pbruto[4]);
float bruto(float Pregular[4], float Ptextra[4], float Pbruto[4]);
void enviar_datos(char nombre[4][17], float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4], float R, float E, float B);
int main()
{
char nombre[4][17];
float tarifa[4];
float horas[4];
float Pregular[4];
float Ptextra[4];
float Pbruto[4];
float R,E,B;
obtener_datos(nombre,tarifa,horas);
calcular(tarifa,horas,Pregular,Ptextra,Pbruto);
R = regular(Pregular,Ptextra,Pbruto);
E = extra(Pregular,Ptextra,Pbruto);
B = bruto(Pregular,Ptextra,Pbruto);
enviar_datos(nombre,tarifa,horas,Pregular,Ptextra,Pbruto,R,E,B);
getch();
return 0;
}
void obtener_datos(char nombre[4][17], float tarifa[4], float horas[4])
{
ifstream entrada;
int i;
entrada.open("C:\\Users\\marco_000\\Documents\\Segundo semestre\\Programación\\Practica 7\\3\\Informacion.txt");
for(i=0; i<4; i++)
{
entrada>>nombre[i]>>tarifa[i]>>horas[i];
}
}
void calcular(float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
for(i=0; i<4; i++)
{
if(horas[i] <= 40)
{
Pregular[i] = tarifa[i]*horas[i];
Ptextra[i] = 0;
}
if(horas[i] > 40)
{
Pregular[i] = tarifa[i]*40;
Ptextra[i] = (horas[i]-40)*((1.5)*tarifa[i]);
}
Pbruto[i] = Pregular[i] + Ptextra[i];
}
}
float regular(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Tregular = 0;
for(i=0; i<4; i++)
{
Tregular = Pregular[i] + Tregular;
}
return Tregular;
}
float extra(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Textra = 0;
for(i=0; i<4; i++)
{
Textra = Ptextra[i] + Textra;
}
return Textra;
}
float bruto(float Pregular[4], float Ptextra[4], float Pbruto[4])
{
int i;
float Tbruto = 0;
for(i=0; i<4; i++)
{
Tbruto = Pbruto[i] + Tbruto;
}
return Tbruto;
}
void enviar_datos(char nombre[4][17], float tarifa[4], float horas[4], float Pregular[4], float Ptextra[4], float Pbruto[4], float R, float E, float B)
{
ofstream salida;
int i;
salida.open("C:\\Users\\marco_000\\Documents\\Segundo semestre\\Programación\\Practica 7\\3\\Resultado.txt");
//Programa
cout<<"\n\n Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular\n"<<endl;
for(i=0; i<4; i++)
{
cout<<setw(11)<<nombre[i]<<setw(6)<<tarifa[i]<<setw(8)<<horas[i]<<setw(12)<<Pbruto[i]<<setw(16)<<Ptextra[i]<<setw(20)<<Pregular[i]<<endl;
}
cout<<"\n Totales: "<<B<<" "<<E<<" "<<R<<endl;
//Archivo
salida<<"\n\n Nombre Tarifa Horas Pago bruto Pago de tiempo extra Pago regular\n"<<endl;
for(i=0; i<4; i++)
{
salida<<setw(11)<<nombre[i]<<setw(6)<<tarifa[i]<<setw(8)<<horas[i]<<setw(12)<<Pbruto[i]<<setw(16)<<Ptextra[i]<<setw(20)<<Pregular[i]<<endl;
}
salida<<"\n Totales: "<<B<<" "<<E<<" "<<R<<endl;
}
4. Almacene los siguientes datos en un archivo:
5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73
b. Escriba un programa en C++ para calcular y desplegar el promedio de cada grupo de números en el archivo creado en el ejercicio 11a. Los datos están ordenados en el archivo de modo que cada grupo de números esté precedido por el número de elementos de datos en el grupo. Por tanto, el primer número en el archivo, 5, indica que los siguientes cinco números deberán agruparse juntos. El número 4 indica que los siguientes cuatro números son un grupo, y el 6 indica que los últimos seis números son un grupo. (Sugerencia: Use un ciclo anidado. El ciclo
exterior deberá terminar cuando se haya encontrado el final del archivo.)
Codigo:
#include <iostream>
#include <fstream>
#include <conio.h>
#include <math.h>
using namespace std;
void escribir_archivo(int n);
void leer_archivo();
int main()
{
int n;
cout<<"Cuantos datos desea escribir?, (recuerde que el primer valor es el numero de elementos a los que se le considerara un grupo) ";
cin>>n;
escribir_archivo(n);
leer_archivo();
getch();
return 0;
}
void escribir_archivo(int n)
{
ofstream archivo;
archivo.open("C://archivo.txt");
int i,dato;
for(i=0; i<n; i++)
{
if(i<(n-1))
{
cout<<"Dato No. "<<i+1<<": ";
cin>>dato;
archivo<<dato<<endl;
}
else
{
cout<<"Dato No. "<<i+1<<": ";
cin>>dato;
archivo<<dato;
}
}
}
void leer_archivo()
{
ifstream archivo;
archivo.open("C://archivo.txt");
int r=0,calif,c,n;
float promedio,result;
while(!archivo.eof())
{
archivo>>n;
promedio=0;
calif=0;
for(c=0; c<n; c++)
{
cout<<endl;
archivo>>calif;
cout<<"la calificacion "<<c+1<<": "<<calif<<" ";
promedio=(promedio+calif);
}
result=(promedio/n);
cout<<"\n\nEl promedio del grupo "<<r+1<<" es: "<<result;
r++;
cout<<endl;
}
archivo.close();
}
No hay comentarios:
Publicar un comentario