Anda di halaman 1dari 10

Programacin C++

Realizar un programa donde se pueda visualizar la administracin de una


finca donde los productos se puedan elaborar, ejemplo: si se pide frutas
mostrar el nombre de la fruta, cuantas se cosechan en un periodo o con los
animales cada cuento se les puede sacar sus derivados, esto ser
programado con clases en el lenguaje C++.
Main:
#include <conio.h>
#include"Produccion.h"
#include<conio.h>
void main()
{
Produccion anim,frut;
int seleccion,repetir=1;
while (repetir==1)
{
system("cls");
printf("\n\n\t\t\tHACIENDA");
printf("\n\t1. Produccion Frutas");
printf("\n\t2. Produccion Animales");
printf("\n\t3. Imprimir Frutas");
printf("\n\t4. Mostrar Animales");
printf("\n\t5. Consolidado");
printf("\n\t6. Salir");
printf("\n\t\tQue desea hacer?");
seleccion=getche();switch(seleccion)
{
case '1':
system("cls");printf("\n\tINGRESO FRUTAS");
frut.PedirFrutas();
getch();break;
case '2': system("cls");printf("\n\tINGRESO ANIMALES");
anim.PedirAnimales();
getch();break;
case '3': system("cls");printf("\n\tIMPRIMIR FRUTAS");
cout<<"\nNombre\tCantidad\t Mes 1\t"<<"Mes 2\t"<<"Mes
3\t"<<"Mes 4\t"<<"Produccion"<<endl;
frut.MostrarF();
cout<<"\n";
frut.MostrarPromF();

getch();break;
case '4': system("cls");printf("\n\tIMPRIMIR ANIMALES");

cout<<"\nNombre\tCantidad\t Mes 1\t"<<"Mes 2\t"<<"Mes


3\t"<<"Mes 4\t"<<"Produccion"<<endl;
anim.MostrarA();
anim.MostrarPromA();
cout<<"\n";
getch();break;
case '5': system("cls");printf("IMPRIMIR CONSOLIDADO");
cout<<"\nNombre\tCantidad\t Mes 1\t"<<"Mes 2\t"<<"Mes
3\t"<<"Mes 4\t"<<"Produccion"<<endl;
anim.MostrarA();
frut.MostrarF();
cout<<"\n";
cout<<"\n";
anim.MostrarPromA();
cout<<"\n";
frut.MostrarPromF();
getch();break;
case '6': repetir=0;break;//se indica que debe salir
//Si la opcion es incorrecta, entra aqui
default:
{
printf("Opcion Invalida");
getch();
}
}
}
}
#include <stdio.h>
#include<iostream>
using namespace std;
class ProductosA{
private:
char nombre[20];
float costov;
int cantidad;
void CalcularPvP(float precioP){
costov=precioP*0.1+precioP*cantidad;
}
protected:
ProductosA(){
costov=0;
cantidad=0;
}

public:
void PedirDatosA(){
cout<<"NOMBRE: ";
cin>>nombre;
cout<<"CANTIDAD: ";
cin>>cantidad;
}
void MostrarA(){
cout<<nombre<<"\t";
cout<<cantidad<<"\t\t";

}
};
#include <iostream>
#include <stdio.h>
//#include"Fecha.h"
#include"ProductosA.h"
//using namespace std;
class Animal:public ProductosA
{
private:
char nombre[20];
int diasP;
Fecha cosecha,siembra;
public:
void PedirAnimal()
{
PedirDatosA();
do{
int aux=0;
siembra.pedir();
}while(siembra.validarFecha(siembra)==0);
cout<<"TIEMPO DE "<<endl;
cin>>diasP;

};
void CalcularTC()
{
cosecha=siembra.sumarDias(siembra,diasP);

};
void MostrarDatos(){
MostrarA();
cout<<"fecha de cultivo anio
mes
dia \n\t\t";
cout<<cosecha.getAnio() <<"\t"
<<cosecha.getMes()<<"\t"<< cosecha.getDia()<< "n"<<endl;
}
};
#include <iostream>
#include <stdio.h>
#include"Fecha.h"
#include"Productos.h"
using namespace std;
class Fruta:public ProductosP
{
private:
char nombre[20];
int diasP;
Fecha cosecha,siembra;
public:
void PedirFruta()
{
PedirDatosP();
do{
int aux=0;
siembra.pedir();
}while(siembra.validarFecha(siembra)==0);
cout<<"Ingresa el tiempo de cosecha"<<endl;
cin>>diasP;

};
void CalcularTC()
{
cosecha=siembra.sumarDias(siembra,diasP);
};
void MostrarDatos(){
Mostrar();

cout<<"fecha de cultivo anio


mes
dia \n\t\t";
cout<<cosecha.getAnio() <<"\t"
<<cosecha.getMes()<<"\t"<< cosecha.getDia()<< "n"<<endl;
}
};
#include<iostream>
using namespace std;
#include<stdio.h>
class Fecha{
private:
int dia,mes,anio;
public:
Fecha(){
dia=1;
mes=1;
anio=2015;
}
void pedir()
{
cout<<"DATOS FECHA:"<<endl;
cout<<"DIA: ";
cin>>dia;
cout<<"MES: ";
cin>>mes;
cout<<"ANIO: ";
cin>>anio;
}
void setDia(int a){
dia=a;
}
void setMes(int a){
mes=a;
}void setAnio(int a){
anio=a;
}
int getDia(){
return dia;
}
int getMes(){
return mes;
}

int getAnio(){
return anio;
}
int bisiesto(int any)
{
if (any%400 == 0 || (any%4==0 && any%100!=0))
return 1;
else
return 0;
}
int dias_mes(Fecha fecha)
{
switch (fecha.getMes())
{
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12:
return 31;
break;
case 4: case 6:
case 9: case 11:
return 30;
break;
case 2:
if (bisiesto(fecha.getAnio()))
return 29;
else
return 28;
}
}
int validarFecha(Fecha fecha)
{
if (fecha.getMes()>0 && fecha.getMes()<=12 && fecha.getAnio()>0)
{
if (fecha.getDia()>0 && fecha.getDia()<=dias_mes(fecha))
return 1;
else
return 0;
}
else
return 0;
}

Fecha sumarDias(Fecha fecha, int x)


{
int d,m,a;
a=fecha.getAnio();
m=fecha.getMes();
d= fecha.getDia();
for(;x>0;x--)
{
if(d<dias_mes(fecha) )
d++;
else
{
if (m==12)
{
m=1;
a++;
}
else m++;
d=1;
}
}
fecha.setAnio(a);
fecha.setMes(m);
fecha.setDia(d);
return fecha;
}
};
#include "ProduccionP.h"
#include "ProduccionA.h"
class Produccion
{
private:
int n;
ProduccionP frutas[100];
ProduccionA Animales[100];
float produccionT;
public:
void PedirFrutas()
{
cout<<"CUANTAS FRUTAS VA A AGREGAR"<<endl;
cin>>n;
for(int i=0;i<n;i++)
{

ProduccionP fruta;
fruta.PedirProduccionFrutas();
frutas[i]=fruta;
}
};
void PedirAnimales()
{
cout<<"CUANTOS ANIMALES VA A AGREGAR"<<endl;
cin>>n;
for(int i=0;i<n;i++)
{
ProduccionA animal;
animal.PedirProduccion();
Animales[i]=animal;
}
};
void MostrarF()
{
//system("cls");
float aux=0;
for(int i=0;i<n;i++)
{
frutas[i].Imprimir();
aux=aux+frutas[i].getPromedioF();
}
produccionT=aux/n;
};
void MostrarPromF(){
cout<<"Promedio total de las frutas es :"<<produccionT;
}
void MostrarA()
{
//system("cls");
float aux=0;
for(int i=0;i<n;i++)
{
Animales[i].Imprimir();
aux=aux+Animales[i].getPromedioF();
}
produccionT=aux/n;
};
void MostrarPromA(){
cout<<"Promedio total de los animales es :"<<produccionT;
}

};
#include "Fruta.h"
//#include "Animal.h"
class ProduccionP
{
private:
Fruta fruta;
//Animal Animal;
float produccionM[4],promedioF;
void CalcularP()
{
float aux=0;
for (int i=0;i<4;i++)
{
aux=aux + produccionM[i];
}
promedioF=aux/4;
};
public:
float getPromedioF()
{
return promedioF;
};
void PedirProduccionFrutas()
{
float aux=0;
fruta.PedirFruta();
for (int i=0;i<4;i++)
{
cout<<"PRODUCCION "<<i+1<<"mes"<<endl;
cin>>aux;
produccionM[i]=aux;
}
CalcularP();
};

void Imprimir()
{
fruta.Mostrar();
for (int i=0;i<4;i++)
{
cout<<produccionM[i]<<"\t";
}
cout<<promedioF<<"\n";
};
};

Nota: cada lnea separa una clase.

Anda mungkin juga menyukai