jueves, 21 de mayo de 2015

Practica 7

Ejercicio 8

(Olvera Vázquez Scarlett)

a. 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                         1322                         86
                                                97                           235                         14

b. Escriba un programa en C++ que lea los datos en el archivo creado en el ejercicio 8a y despliegue el número de automóvil, las millas recorridas, los galones utilizados y las millas por galón para cada automóvil. La salida deberá contener el total de millas recorridas, el total de galones utilizados y el promedio de millas por galón para todos los automóviles. Estos totales deberán desplegarse al final del reporte de salida.

Código

#include <fstream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip.h>
/* Practica:7 Problema:8 Fecha:19/05/2015
Olvera Vázquez Scarlett 14211908*/

void generardatos()
{
ofstream sdatos;
sdatos.open("C://Datos//archivo.txt");
sdatos<<62<<"\t"<<525<<"\t"<<38<<endl;
sdatos<<71<<"\t"<<123<<"\t"<<6<<endl;
sdatos<<85<<"\t"<<1322<<"\t"<<86<<endl;
sdatos<<97<<"\t"<<235<<"\t"<<14<<endl;
sdatos.close();
}

void desplegardatos()
{
ifstream sdatos;
sdatos.open("C://Datos//archivo.txt");
int d1,d2,d3;
float sd2=0,sd3=0,mxg;
sdatos>>d1>>d2>>d3;
cout<<" No. de automovil | Millas recorridas | Galones utilizados | Millas por galon"<<endl;
while(!sdatos.eof())
{
sd2=sd2+d2;
sd3=sd3+d3;
mxg=((d2*1.0)/(d3*1.0));
cout<<setw(10)<<d1<<setw(20)<<d2<<setw(20)<<d3<<setw(20)
    <<setiosflags(ios::fixed)<<setprecision(2)<<mxg<<setw(9)<<endl<<endl;
sdatos>>d1>>d2>>d3;
}
sdatos.close();
}

float sumamillas(int m[5])
{
int sumam=0,i=0;
for(i=0;i<5;i++)
{
sumam= sumam + m[i];
}
return sumam;
}

float sumagalones(int g[5])
{
int sumag=0,i=0;
for(i=0;i<5;i++)
{
sumag= sumag + g[i];
}
return sumag;
}

float prommxh(int m[5], int g[5] )
{
float prom=0,sumam=0,sumag=0;
for(int i=0; i<5; i++)
{
sumam = sumam + m[i];
sumag = sumag + g[i];
}
prom=sumam/sumag;
return prom;
}

int main()
{
int M[]={250,525,123,1322,235};
int G[]={19, 38, 6, 86, 14};
generardatos();
desplegardatos();
cout<<"la suma de las millas es: "<< sumamillas(M)<<endl;
cout<<"la suma de los galones usados es: "<< sumagalones(G)<<endl;
cout<<"El promedio de millas por hora es:"<< prommxh(M,G);
getch();
return 0;
}



Ejercicio 10

(Muñoz Organes Alejandro)

a. 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
b. 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:
Nombre Tarifaƒtarifa Horas Pago bruto Pago de tiempo extra Pago regular
El pago regular se calculará como cualesquiera horas trabajadas hasta 40 horas inclusive,multiplicadas por la tarifa de pago. El pago de tiempo extra se calculará como cualesquiera horas trabajadas que rebasen las 40 horas por una tarifa de pago de 1.5 multiplicada por la tarifa regular, y el pago bruto es la suma del pago regular y el pago de tiempo extra. Al final del reporte, el programa deberá desplegar los totales de las columnas de pago regular, de tiempo extra y bruto.

Codigo:
#include <fstream>
#include <conio.h>
#include <iomanip.h>
/*
Practica No.7 Problema No.10 Fecha:19/05/2015
Nombre: Muñoz Organes Alejandro No.Control: 14211337
*/
void captura()
{
    ofstream file;
    file.open("C://DATOS//reporte.txt");
    for (int i=0;i<4;i++)
    {
        clrscr();
char nombre[30];
float tarifa;
int horas;
        cout<<"***Datos personal "<<(i+1)<<"***"<<endl;
        cout<<"Ingrese nombre: ";
        cin>>nombre;
        cout<<"Ingrese tarifa: ";
        cin>>tarifa;
        cout<<"Ingrese Horas: ";
        cin>>horas;
        file<<nombre<<"   "<<tarifa<<"   "<<horas<<endl;
    }
file.close();
}

void lectura(char nombres[4][30],float tarifas[4],float horas[4])
{
    ifstream file;
    file.open("C://DATOS//reporte.txt");
    for(int i =0;i<4;i++)
        {
            file>>nombres[i]>>tarifas[i]>>horas[i];
        }

file.close();
}
float pagoEx(float horas,float tarifa)
{
    float pago=0;
    if(horas>40)
    {
        pago=(horas-40)*(1.5*tarifa);
    }
    return pago;
}
float pagoR(float horas,float tarifa)
{
    float pago=0;
    if(horas>40)
    {
        pago=40*tarifa;
    }
else pago=horas*tarifa;
    return pago;
}

void tabla(char nombres[4][30],float tarifas[4],float horas[4])
{
clrscr();
 cout<<"Nombre         | Tarifa  | Horas | Pago Bruto | Pago T.Extra | Pago Regular\n\n";
float peTotal=0,pbTotal=0,prTotal=0;
 for(int i=0 ;i<4;i++)
    {
        float ptExtra=pagoEx(horas[i],tarifas[i]);
        float pregular=pagoR(horas[i],tarifas[i]);
        float pagoBruto=ptExtra+pregular;
        cout<<setiosflags(ios::left)<<setw(15)<<nombres[i]<<"| ";
        cout<<setiosflags(ios::left)<<setw(8)<<tarifas[i]<<"| ";
        cout<<setiosflags(ios::left)<<setw(6)<<horas[i]<<"| ";
        cout<<setiosflags(ios::left)<<setw(11)<<pagoBruto<<"| ";
        cout<<setiosflags(ios::left)<<setw(13)<<ptExtra<<"| ";
        cout<<setiosflags(ios::left)<<setw(15)<<pregular<<endl<<endl;
peTotal+=ptExtra;
pbTotal+=pagoBruto;
prTotal+=pregular;
    }
cout<<"Totales:"<<"                         | ";
cout<<setiosflags(ios::left)<<setw(11)<<pbTotal<<"| ";
cout<<setiosflags(ios::left)<<setw(13)<<peTotal<<"| ";
cout<<setiosflags(ios::left)<<setw(15)<<prTotal<<endl<<endl;
}

int main()
{
    char nombres[4][30];
    float tarifas[4],horas[4];
    captura();
    lectura(nombres,tarifas,horas);
    tabla(nombres,tarifas,horas);
    getch();
    return 0;
}


No hay comentarios.:

Publicar un comentario