El manejo de arrays se vuelve una tarea muy sencilla cuando puedes utilizar lógica de objetos.
Un pequeño ejemplo que tuve que hacer para salvar la vida de una amiga.
Comparto código, compilado en "Dev-C++" y una parte del requerimiento.
Comparto código, compilado en "Dev-C++" y una parte del requerimiento.
#include <iostream> #include <string> #define tam 14 void menu(); float calcular(int metros,int costo_metro); using namespace std; int main() { struct datosPersona { int numero; string nombre; int cedula; int metros ; float pago; }; struct cuota { int numero; string estado; float pago; }; int op,met,ops; bool salida,salidas,salid; int costo; costo=1; int depar; datosPersona *persona = new datosPersona[tam]; do{ menu(); cout << "Ingrese su opcion: " << endl; cin >> op; salida = true; salid = true; salidas = true; switch(op) { case 1: { do{ cout << "Ingrese el numero de Departamentos que desea Ingresar (max: 14) " << endl; cin>>depar; if(depar>0&&depar<=tam) { salid= false; } }while(salid ); for (int i=0; i<depar; i++) { persona[i].numero=i; cout << "Dime el nombre del propietario " << i << endl; cin >> persona[i].nombre; cout << "Dime la cedula del propietario " << i << endl; cin >> persona[i].cedula; do{ cout << "Dime los metros cuadrados que tiene tu departamento " << i << endl; cout << "1.- Departameto 115" << endl; cout << "2.- Penthouse 325" << endl; cin >> op; if (op==1||op==2) { salida=false; } }while(salida); switch(op) { case 1: { persona[i].metros = 115; break; } case 2: { persona[i].metros = 325; break; } } } break; } case 2: { cout << "\t Junta de Condominios de ciudadela "<< endl; cout << "Num\tPropietario\t Cedula \tMetros\tPagos"<< endl; for (int i=0; i<depar; i++) { persona[i].pago = calcular(persona[i].metros,costo); cout<<"|"<< persona[i].numero << "|\t"<< persona[i].nombre <<"|\t\t"<< persona[i].cedula<<"|\t\t"<< persona[i].metros<<"|\t"<< persona[i].pago<<endl; } //float calcular(int metros,int costo_metro) break; } case 4: { cout << "\t Junta de Condominios de ciudadela "<< endl; cout << "Num\tPropietario\t Cedula \tMetros\tPagos"<< endl; int total; total=0; for (int i=0; i<depar; i++) { persona[i].pago = calcular(persona[i].metros,costo); cout<<"|"<< persona[i].numero << "|\t"<< persona[i].nombre <<"|\t\t"<< persona[i].cedula<<"|\t\t"<< persona[i].metros<<"|\t"<< persona[i].pago<<endl; total = total + persona[i].pago; } cout << ":::\t TOTAL POR CONDOMINIO :::: "<< endl; cout << "total:\t "<< total << endl; break; } case 5: { do{ cout << "El costo actual por metro cuadrado es: "<< costo << endl; cout << "1.- Mantener precio "<< endl; cout << "2.- Actulizar precio: "<< endl; cin >> ops; if (ops==1||ops==2) { salidas=false; } }while(salidas); switch(ops) { case 1: { break; } case 2: { cout << "2.- Actulizar precio: "<< endl; cout << "Ingrese el nuevo costo "<< endl; cin >> costo; break; } } break; } } }while(op!=0); return 0; } void menu() { cout << "\tMENU " << endl; cout << "1.- INGRESE DATOS DE DEPARTAMENTOS" << endl; cout << "2.- CALCULE COSTO DE PAGO POR DEPARTAMENTO " << endl; cout << "4.- CALCULE COSTO DE PAGO POR CONDOMINIO " << endl; cout << "5.- CONFIGURE COSTO POR METRO CUADRADO " << endl; cout << "0.- Salir " << endl; } float calcular(int metros,int costo_metro) { return metros*costo_metro; }Entregar un archivo .c con las estructuras necesarias y SOLO las funciones solicitadas y el main del ejercicio. La junta de Condominios de ciudadela en la ciudad de Guayaquil desea contratarlo para representar la información en un sistema referente al pago de los recibos de alícuotas. Los recibos se generan mensualmente de manera automática usando la estructura de datos que usted proponga calculando el monto y generando el estado de cada recibo ( P: pendiente, C: cancelado). El monto de alícuotas recaudadas totales por condominio es conocido mensualmente, el valor de la alícuota es calculado en función a los metros cuadrados ( $1 por metro cuadrado) . El conjunto consta de 2 torres de tres pisos cada una, un penthouse en cada una de ellas en su 4to piso. Cada piso tiene 2 apartamentos ( 1 tipo estudio (E) de 50 mt2, 1 de dos habitaciones con 65 mt2. Los penthouse constan de 325 mt2. Cada apartamento o penthouse almacena el nombre del propietario, cédula y los metros cuadrados de propiedad y el monto que paga por mensualmente ( valor que puede variar). Diseñe las estructuras necesarias para este problema. Implemente las siguientes funciones: • Función de ingresar los datos de todos los departamentos • Función que imprima uno a uno sus departamentos y el costo de su alícuota dependiendo de los mts2





0 comentarios:
Publicar un comentario