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

[0] Índice de Mensajes

Ir a la versión completa