Programación General > C/C++
PROBLEMA...
(1/1)
el_funa:
bien tengo este codigo a medio armar el problema es que al momento de vender un departamento tengo que verificar que primero existe, segundo si esta ocupado o desocupado, y al estar desocupado asignarlo como ocupado para que no se vuelva a vender.
el problema esta en que no puedo hacer eso del case 3
lo que me explicaron es que se asignaba al principio donde creaba los deptos desocupado y al momento de venderlos ivan cambiando a ocupado pero esa parte no la pude hacer por que me confundi :S
espero que me puedan ayudar con este problemita...
saludos.
--- Código: C++ ---#include<stdio.h>#include<stdlib.h> typedef struct str_departamento{int n_habitaciones;int n_banos;float precio_dpto;int n_dpto; }departamento; typedef struct str_deuda{float cancelado;float debe;}deuda; typedef struct str_persona{char nombre[20];int edad;char rut[9]; }persona; typedef struct str_edificio{char nombre[20];int pisos; departamento dpto[3];persona habitante;deuda deuda_cliente;}edificio; edificio crear_edificio(edificio);edificio crear_dpto(edificio);edificio vender_dpto(edificio);edificio pagar_dpto(edificio);void pago_mayor(edificio);void dpto_ocupados(edificio);void dpto_desocupados(edificio); int main(){int op; edificio edif;persona dueno; do{printf("----------------MENU--------------");printf("n----------------------------------n");printf("-----1> crear_edificio------------n");printf("-----2> agregar departamento------n");printf("-----3> vender departamento-------n");printf("-----4> pagar departamento--------n");printf("-----5> mostrar persona >50-------n");printf("-----6> departamentos ocupados----n");printf("-----7> departamentos desocupados-n");printf("-----8> salir---------------------n"); printf("elija una opcion: nn");scanf(" %d",&op); switch(op){case 1: crear_edificio(edif); break; case 2: crear_dpto(edif); break; case 3: vender_dpto(edif); break; case 4: pagar_dpto(edif); break; case 5: pago_mayor(edif); break; case 6: dpto_ocupados(edif); break; case 7: dpto_desocupados(edif); break; default : printf("opcion invalida"); break; } }while(op!=8); return EXIT_SUCCESS;} edificio crear_edificio(edificio a ){ printf("ingrese nombre del edificionn");scanf("%s",&a.nombre); return a;} edificio crear_dpto(edificio a){int i; for(i=1;i<=3;i++){printf("nningrese numero departamenton");scanf("%d",&a.dpto[i].n_dpto);printf("ningrese numero de habitacionesn");scanf("%d",&a.dpto[i].n_habitaciones);printf("ningrese numero de banosn");scanf("%d",&a.dpto[i].n_banos);printf("ningrese precio del departamenton");scanf("%f",&a.dpto[i].precio_dpto);} return a;} edificio vender_dpto(edificio a){ int i,p;printf("ingrese nombre del compradornn");scanf("%s",a.habitante.nombre);printf("ingrese rut del compradorn");scanf("%s",a.habitante.rut);printf("ingrese edad del compradorn");scanf(" %d",&a.habitante.edad);printf("que departamento decea comprarn");scanf(" %d",&p); //------------------------------------ es aqui el PROBLEMA---------------------------------for(i=1;i<=3;i++){ } if(p==a.dpto[i].n_dpto){ printf("es suyo el dpton"); } else{ printf("no existe el dpton"); } //-----------------------------------------------------------------return a; } edificio pagar_dpto(edificio a){int i; printf("ingrese numero de dpto a pagarnn");scanf("%d",&i);printf("el valor del dpto es: ");printf("%f",a.dpto[i].precio_dpto);printf("nningrese monto cancelado del departamentonn");scanf("%f",&a.deuda_cliente.cancelado); return a;} void pago_mayor(edificio a){ printf("%sn",a.habitante.nombre); printf("%sn",a.habitante.rut); } void dpto_ocupados(edificio a){ } void dpto_desocupados(edificio a){ }
Navegación
Ir a la versión completa