//nombre:nombre del municio
//may: almacena el nombre del mayor
//men: almacena el nombre del nenor
//anciano: ancianos hombre
//ancianas: ancianas mujeres
//hombres: adultos hombres
//mujeres: adultos mujeres
//niños: niños
//niñas: niñas
//nn: suma de niños y niñas
//prima= subcidio que depende la cantidad de niños
//ancianos2=suma de los ancianos de todo el pais
//adultos: sumas de todos los adultos del pais
//nn2: suma de todos los niños del pais
#include<iostream>
#include<conio.h>
#include <cstring>
using namespace std;
// Programa censo realizado por el gobierno en el año 2010.
void main()
{
char nombre[100],may[100],men[100];
int ciclo,opcion,municipio, ancianos,ancianas, hombres,mujeres,niños,niñas,nn,prima,adultos,t_ancianos,subcidio,total,mayor,menor,total2 ;
int ancianos2,adultos2,nn2,subcidio2;
cout<<"Censo realizado por el gobierno en el año 2010."<<endl<<endl<<endl<<endl;
//inicializo todas en 0 para mejor funcionalidad
total2=0;
mayor=0;
menor=10000000;
ancianos2=0;
adultos2=0;
nn2=0;
subcidio2=0;
ciclo=0;
while(ciclo==0){
total=0;
ancianos=0;
ancianas=0;
hombres=0;
mujeres=0;
niños=0;
niñas=0;
nn=0;
prima=0;
adultos=0;
t_ancianos=0;
subcidio=0;
cout<<endl<<endl;
cout<<"Nombre del municipio:";
cin>>nombre;
cout<<"cantidad de ancianos hombres:";
cin>>ancianos;
cout<<"cantidad de ancianos mujeres:";
cin>>ancianas;
cout<<"cantidad de hombres adultos:";
cin>>hombres;
cout<<"cantidad de mujeres adultos:";
cin>>mujeres;
cout<<"cantidad de niños :";
cin>>niños;
cout<<"cantidad de niñas :";
cin>>niñas;
adultos=hombres+mujeres;
t_ancianos=ancianos+ancianas;
nn=niños+niñas;
if((nn>0)&&(nn<3000))
{
prima=35;
}
if((nn>=3000)&&(nn<6000))
{
prima=25;
}
if((nn>=6000)&&(nn<9000))
{
prima=20;
}
if(nn>=9000)
{
prima=10;
}
subcidio=prima*nn;
cout <<endl<<endl<<endl;
cout<<"MUNICIPIO: "<<nombre<<endl;
cout<<"cantidad de ancianos hombres: "<<ancianos<<endl;
cout<<"cantidad de ancianos mujeres: "<<ancianas<<endl;
cout<<"cantidad de hombres adultos: "<<hombres<<endl;
cout<<"cantidad de mujeres adultos: "<<mujeres<<endl;
cout<<"cantidad de niños: "<<niños<<endl;
cout<<"cantidad de niñas: "<<niñas<<endl;
cout<<"Monto de prima por subsidio de los niños: "<<subcidio<<endl<<endl;
ancianos2=ancianos2+ancianos;
adultos2=adultos2+adultos;
nn2=nn2+nn;
subcidio2=subcidio2+subcidio;
total=nn+adultos+t_ancianos;
total2=total2+total;
if(total>mayor){
mayor=total;
strcpy(may, nombre);//strcpy se usa para copiar una cadena de caracter a otra
}
if(total<menor){
menor=total;
strcpy(men, nombre);//strcpy se usa para copiar una cadena de caracter a otra
}
cout<<"Desea agregar otro municipio? SI=1 , NO=2 :";
cin>>opcion;
if(opcion>=2){
ciclo=2;
}
}
cout<<endl<<"Totales del país: "<<endl<<endl<<endl;
cout<<"Total de ancianos en el país: "<<ancianos2<<endl;
cout<<"Total de adultos en el país: "<<adultos2<<endl;
cout<<"Total de niños en el país: "<<nn2<<endl;
cout<<"Total de prima por niños en el país: "<<subcidio2<<endl;
cout<<"Total de personas en el país: "<<total2<<endl;
cout<<"Municipio con mayor personas: "<<may<<endl;
cout<<"Municipio con menor personas: "<<men<<endl;
getch();
}
Comentarios sobre la versión: 1.0 (3)
1.- No me detecta las eñes, y he tenido que cambiar niños y niñas por ninos y ninas.
2.- Me da el error: "main must retur int", y he tenido que cambiar:
void main()
por:
int main()
No se si con algun otro compilador no da estos problemas.
Necesito para modelamiento poblacional simple (modelo exponencial)
lo realice para datos fijos
lo quisiera para ingresar los datos ingresando el tiempo y me determine cuanto ascendió la población se en determinado tiempo.
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
void resolver();
int main(void)
{
int opcion;
bool repetir = true;
do {
system("cls");
// Texto del menú que se verá cada vez
cout << "\n\nMenu de Opciones" << endl;
cout << "1. Opcion 1" << endl;
cout << "2. Opcion 2" << endl;
cout << "0. SALIR" << endl;
cout << "\nIngrese una opcion: ";
cin >> opcion;
system("cls");
switch (opcion) {
case 1:
// Lista de instrucciones de la opción 1
system("pause>nul"); // Pausa
break;
case 2:{
resolver();
system("pause>nul"); // Pausa
break;
}
}
} while (repetir);
return 0;
}
void resolver(){
float p,p0,t,t1,e,k,res,res1,res2,res3;
float res4,res5,res6;
float eu=2.718281;
cout << "\n P = Calculo de Poblacion"
<< "\n P0 = Poblacion ascendida"
<< "\n t = años"
<<"\n"
<<"\n";
cout << "\n Ingrese valor de P = ";
cin>>p;
cout << "\n Ingrese valor de P0 = ";
cin>>p0;
cout << "\n Ingrese valor de t = ";
cin>>t;
cout<<"\n B. Modelo de solución particular: Como resultado del modelo de solución"
<<"\n general, se tiene que P0 y k son constantes; para determinar el valor de"
<<"\n P0 se aplica la condición inicial según la cual P = "<<p<<" y t = "<<t;
cout<<"\n P = P0 e^(kt)";
cout<<"\n";
cout<<"\n"<<p<<" = P0 e^(kt)";
cout<<"\nEs decir que \n ";
cout<<"\n"<<p<<" = "<<p0 <<"e^(kt)";
if(p>p0){
cout<<"\n Es necesario ahora determinar el valor de k, para lo cual utilizamos la"
<<"\n información de que en "<<t<< "años la población de peces ascendió a "<<p0<<" Para"
<<"\n esto se utiliza la solución general: \n";
cout<<"\n"<<p<<" = "<<p0 <<"e^(kt) \n";
res=p/p0;
cout<<"\nEs decir que \n ";
cout<<res<<" = e^(tk)";
cout<<"\n"<<res<<" = e^("<<t<<"k)";
cout<<"\n Utilizando los logaritmos naturales en ambos lados de la ecuación se tiene: \n";
double lg = log(res);
//std::cout << lg << std::endl;
cout<<lg<<" = "<<t<<"k";
if(lg>t){
res1=t/lg;
cout<<"n Esto es que: \n";
cout<<"\nK= "<<res1;
cout<<"\n Con base en lo anterior, la solución particular es: \n";
cout<<"\n P = "<<p<<" e^("<<res1<<")("<<t<<")";
cout<<"\n C. Corroboración de las condiciones de población a"<< t <<" años: Con base en la"
<<"\n solución particular se tiene el siguiente planteamiento de solución"
<<"\n singular: \n";
double res2 = exp(res1*t);
//cout<<"\n"<<res2;
res3=p*res2;
cout<<"\n P = "<<p<<"("<<res2<<") = "<<res3;
cout<<"\n Con este cálculo, la situación a "<<t<<" años está corroborada\n";
}
cout << "\n Ingrese valor de t = ";
cin>>t1;
system("cls");
cout<<"\n Determinación de la población de peces foráneos que habrá en"<< t1 <<"años:"
<<"\n La solución singular se basaría en: \n";
cout<<"\n P = "<<p<<" e^("<<res1<<")("<<t1<<")";
cout<<"\n Esto es: \n";
cout<<"\n P = "<<p<<"("<<eu<<")"<<"^("<<res1<<")("<<t1<<")";
res5=res1*t1;
double res4 = exp(res5);
res6=p*res4;
cout<<"\n P = "<<p<<"("<<res4<<")"<<" = "<<res6;
cout<<"Por lo tanto, se espera que en "<<t1<< "años la población de peces foráneos"
<<"ascienda a "<< res6 <<"individuos.";
}
else
if(p<p0){
cout<<"\n Es necesario ahora determinar el valor de k, para lo cual utilizamos la"
<<"\n información de que en "<<t<< "años la población de peces ascendió a "<<p0<<" Para"
<<"\n esto se utiliza la solución general: \n";
cout<<"\n"<<p0<<" = "<<p <<"e^(kt) \n";
res=p0/p;
cout<<"\nEs decir que \n ";
cout<<res<<" = e^(tk)";
cout<<"\n"<<res<<" = e^("<<t<<"k)\n";
cout<<"\n Utilizando los logaritmos naturales en ambos lados de la ecuación se tiene: \n";
double lg = log(res);
//std::cout << lg << std::endl;
cout<<lg<<" = "<<t<<"k";
if(lg<t){
res1=lg/t;
cout<<"n Esto es que: \n";
cout<<"\nK= "<<res1;
cout<<"\n Con base en lo anterior, la solución particular es: \n";
cout<<"\n P = "<<p<<" e^("<<res1<<")("<<t<<")\n";
cout<<"\n C. Corroboración de las condiciones de población a"<< t <<" años: Con base en la"
<<"\n solución particular se tiene el siguiente planteamiento de solución"
<<"\n singular: \n";
double res2 = exp(res1*t);
//cout<<"\n"<<res2;
res3=p*res2;
cout<<"\n P = "<<p<<"("<<res2<<") = "<<res3;
cout<<"\n Con este cálculo, la situación a "<<t<<" años está corroborada\n";
}
cout << "\n Ingrese valor de t = ";
cin>>t1;
system("cls");
cout<<"\n Determinación de la población de peces foráneos que habrá en"<< t1 <<"años:"
<<"\n La solución singular se basaría en: \n";
cout<<"\n P = "<<p<<" e^("<<res1<<")("<<t1<<")";
cout<<"\n Esto es: \n";
cout<<"\n P = "<<p<<"("<<eu<<")"<<"^("<<res1<<")("<<t1<<")";
res5=res1*t1;
double res4 = exp(res5);
res6=p*res4;
cout<<"\n P = "<<p<<"("<<res4<<")"<<" = "<<res6;
cout<<"Por lo tanto, se espera que en "<<t1<< "años la población de peces foráneos"
<<"ascienda a "<< res6 <<"individuos.";
}
}