Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define TAM 3
- struct ubicacion_geografica {
- char barrio[40];
- char direcion_casa[60];
- char ciudad[60];
- };
- struct propieda{
- char codigo[60];
- int area;
- int area_construida;
- char caractersticas[20];
- int niveles;
- int estrato;
- struct ubicacion_geografica direccion;
- long precio;
- char disponibilidad;
- };
- //____________________________________________________________________________________________________________________
- int main(){
- struct propieda bienes[TAM];
- int op;///Contendra char opcion
- do{
- op=menu();///Funcion menu principal
- int i;
- switch (op){
- char barri[70];
- int area_a,area_b,valor_a,valor_b;
- char city[80];
- int estra;
- case 1:
- ///Cargar informacion
- puts("Ingresar datos propiedades:");
- for(i=0;i<TAM;i++){
- ///fflush(stdin);
- printf("Datos %da propiedad\n",i+1);
- puts("Ingrese codigo:");
- fgets(bienes[i].codigo,61, stdin);
- fflush(stdin);
- puts("Ingrese area:");
- scanf("%d",&bienes[i].area);
- fflush(stdin);
- puts("Ingrese area construida:");
- scanf("%d",&bienes[i].area_construida);
- fflush(stdin);
- puts("Ingrese caracteristicas:");
- fflush(stdin);
- gets(bienes[i].caractersticas);
- fflush(stdin);
- puts("Ingrese nivel:");
- scanf("%d",&bienes[i].niveles);
- fflush(stdin);
- puts("Ingrese estrato:");
- scanf("%d",&bienes[i].estrato);
- fflush(stdin);
- puts("Ingrese barrio:");
- fflush(stdin);
- gets(bienes[i].direccion.barrio);
- puts("Ingrese ciudad:");
- fflush(stdin);
- gets(bienes[i].direccion.ciudad);
- puts("Ingrese direccion casa:");
- fflush(stdin);
- gets(bienes[i].direccion.direcion_casa);
- fflush(stdin);
- puts("Ingrese el estado de disponibilidad: v:venta,a:arrendo");
- fflush(stdin);
- scanf("%c",&bienes[i].disponibilidad);
- }///Fin for
- break;
- case 2:
- // b-Propiedades Disponibles para la venta segun barrio y $350-600.
- //char barri[70];
- ///mostrar barrios
- puts("LISTADO DE BARRIOS");
- for(i=0;i<TAM;i++){
- printf("%s",bienes[i].direccion.barrio);
- }
- puts(" ");
- fflush(stdin);
- puts("Ingrese barrio:");
- gets(barri);
- for(i=0;i<TAM;i++){
- if(bienes[i].direccion.barrio==barri && bienes[i].disponibilidad=='v' && bienes[i].precio>=350000 && bienes[i].precio<=600000){
- puts("Las propiedades que estan a la venta, con un costo en un rango de 350 a 600000 son:");
- printf("%d- Codigo: %s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles %d \n"
- "Barrio %s Direccion:%s Ciudad %s ",i+1,bienes[i].codigo,bienes[i].area_construida,bienes[i].area
- ,bienes[i].caractersticas,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
- puts(" ");
- }else{
- puts("¡¡¡¡¡ERROR,BARRIO SIN REGISTRAR!!!!!");
- }
- }///fin for
- break;
- case 3 :
- /*Al recibir un cierto rango de área construida y un cierto rango respecto al precio, genere
- * el listado de todas las propiedades disponibles para alquiler
- */
- ///int area_a,area_b,valor_a,valor_b;
- puts("Ingrese un rango de area construidad:");
- puts(" ");
- puts("Ingrese el valor minimo de area:");
- scanf("%d",&area_a);
- puts("Ingrese el valor maximo de area:");
- scanf("%d",&area_b);
- puts("Ahora ingrese un rango de precio:");
- puts(" ");
- puts("Ingrese el valor minimo de precio:");
- scanf("%d",&valor_a);
- puts("Ingrese el valor minimo de precio:");
- scanf("%d",&valor_b);
- for(i=0;i<TAM;i++){
- if(bienes[i].disponibilidad=='a' && bienes[i].area_construida >= area_a && bienes[i].area_construida<= area_b && bienes[i].precio
- >=valor_a && bienes[i].precio<=valor_b){
- printf("El listado de las propiedades que cumplen con estos requisitos son\n"
- "%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
- "Direcion:%s Ciudad: %s ",i+1,bienes[i].codigo, bienes[i].area_construida,bienes[i].area,bienes[i].caractersticas,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
- }
- }
- break;
- case 4:
- /*Al recibir una ciudad y un estrato mostrar las propiedades para venta y las propiedades para
- * alquiler que cumplen con esas condiciones
- */
- // char city[80];
- //int estra;
- puts("Listado de ciudades registradas");
- for(i=0;i<TAM;i++){
- printf(" %s \n",bienes[i].direccion.ciudad);
- }
- fflush(stdin);
- puts(" ");
- puts("Ingrese una ciudad");
- gets(city);
- puts("Ingrese un estrato");
- scanf("%d",&estra);
- for(i=0;i<TAM;i++){
- if(bienes[i].estrato==estra && bienes[i].direccion.ciudad==city){
- if(bienes[i].disponibilidad=='a'){
- puts("Las propiedades a alquilar son las sgts:");
- printf("%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
- "Direcion:%s Ciudad: %s ",i+1,bienes[i].codigo, bienes[i].area_construida,bienes[i].area,bienes[i].caractersticas
- ,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
- }else{
- puts("Las propiedades a vender son las sgts:");
- printf("%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
- "Direcion:%s Ciudad: %s ",i+1,bienes[i].codigo, bienes[i].area_construida,bienes[i].area,bienes[i].caractersticas
- ,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
- }///fin sino
- }else{
- puts("!!!!ERROR,INFORMACION NO REGISTRADA, INTENTELO DE NUEVO");
- }
- }//fin for
- break;
- default: ("!!!!ERROR, OPCION INEXISTENTE!!!");
- }///Fin switch
- }while(op!=5);///Fin do-while
- }
- int menu(){
- int opc;
- puts("BIENVENIDO\n ___________SISTEMAS ADMINISTRACION BIENES RAICES DE PEREIRA 2013___________");
- puts(" ");
- puts("1-Registro propiedades");
- puts("2-Propiedades Disponibles para la venta segun barrio $350-600.");
- puts("3-Propiedades disponibles para alquiler segun rango area_contruida y rango precio");
- puts("4-Propiedades a la venta y alquiler segun ciudad y estrato");
- puts("5-Salir");
- puts(" ");
- scanf("%d",&opc);
- ///cada listado debera mostrar codigo,area construida,area terreno,caracteristicas,niveles,barrio,direccion y ciuda
- return opc;
- }
Advertisement
Add Comment
Please, Sign In to add comment