AlexisRuiz

Manejo de bienes raices

Nov 25th, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.38 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define TAM 3
  4.  
  5. struct ubicacion_geografica {
  6. char barrio[40];
  7. char direcion_casa[60];
  8. char ciudad[60];
  9. };
  10.  
  11. struct propieda{
  12. char codigo[60];
  13. int area;
  14. int area_construida;
  15. char caractersticas[20];
  16. int niveles;
  17. int estrato;
  18. struct ubicacion_geografica direccion;
  19. long precio;
  20. char disponibilidad;
  21. };
  22.  
  23. //____________________________________________________________________________________________________________________
  24.  
  25.  
  26. int main(){
  27.  
  28. struct propieda bienes[TAM];
  29. int op;///Contendra char opcion
  30.  
  31. do{
  32. op=menu();///Funcion menu principal
  33. int i;
  34.  
  35. switch (op){
  36. char barri[70];
  37. int area_a,area_b,valor_a,valor_b;
  38. char city[80];
  39. int estra;
  40.  
  41. case 1:
  42. ///Cargar informacion
  43. puts("Ingresar datos propiedades:");
  44. for(i=0;i<TAM;i++){
  45. ///fflush(stdin);
  46. printf("Datos %da propiedad\n",i+1);
  47. puts("Ingrese codigo:");
  48. fgets(bienes[i].codigo,61, stdin);
  49. fflush(stdin);
  50. puts("Ingrese area:");
  51. scanf("%d",&bienes[i].area);
  52. fflush(stdin);
  53. puts("Ingrese area construida:");
  54. scanf("%d",&bienes[i].area_construida);
  55. fflush(stdin);
  56. puts("Ingrese caracteristicas:");
  57. fflush(stdin);
  58. gets(bienes[i].caractersticas);
  59. fflush(stdin);
  60. puts("Ingrese nivel:");
  61. scanf("%d",&bienes[i].niveles);
  62. fflush(stdin);
  63. puts("Ingrese estrato:");
  64. scanf("%d",&bienes[i].estrato);
  65. fflush(stdin);
  66.  
  67. puts("Ingrese barrio:");
  68. fflush(stdin);
  69. gets(bienes[i].direccion.barrio);
  70. puts("Ingrese ciudad:");
  71. fflush(stdin);
  72. gets(bienes[i].direccion.ciudad);
  73. puts("Ingrese direccion casa:");
  74. fflush(stdin);
  75. gets(bienes[i].direccion.direcion_casa);
  76. fflush(stdin);
  77. puts("Ingrese el estado de disponibilidad: v:venta,a:arrendo");
  78. fflush(stdin);
  79. scanf("%c",&bienes[i].disponibilidad);
  80.  
  81. }///Fin for
  82.  
  83. break;
  84.  
  85. case 2:
  86. // b-Propiedades Disponibles para la venta segun barrio y $350-600.
  87. //char barri[70];
  88.  
  89. ///mostrar barrios
  90. puts("LISTADO DE BARRIOS");
  91. for(i=0;i<TAM;i++){
  92. printf("%s",bienes[i].direccion.barrio);
  93. }
  94. puts(" ");
  95. fflush(stdin);
  96. puts("Ingrese barrio:");
  97. gets(barri);
  98.  
  99. for(i=0;i<TAM;i++){
  100. if(bienes[i].direccion.barrio==barri && bienes[i].disponibilidad=='v' && bienes[i].precio>=350000 && bienes[i].precio<=600000){
  101. puts("Las propiedades que estan a la venta, con un costo en un rango de 350 a 600000 son:");
  102. printf("%d- Codigo: %s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles %d \n"
  103. "Barrio %s Direccion:%s Ciudad %s ",i+1,bienes[i].codigo,bienes[i].area_construida,bienes[i].area
  104. ,bienes[i].caractersticas,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
  105. puts(" ");
  106.  
  107. }else{
  108. puts("¡¡¡¡¡ERROR,BARRIO SIN REGISTRAR!!!!!");
  109. }
  110. }///fin for
  111.  
  112. break;
  113.  
  114. case 3 :
  115. /*Al recibir un cierto rango de área construida y un cierto rango respecto al precio, genere
  116. * el listado de todas las propiedades disponibles para alquiler
  117. */
  118. ///int area_a,area_b,valor_a,valor_b;
  119.  
  120. puts("Ingrese un rango de area construidad:");
  121. puts(" ");
  122.  
  123. puts("Ingrese el valor minimo de area:");
  124. scanf("%d",&area_a);
  125. puts("Ingrese el valor maximo de area:");
  126. scanf("%d",&area_b);
  127.  
  128. puts("Ahora ingrese un rango de precio:");
  129. puts(" ");
  130. puts("Ingrese el valor minimo de precio:");
  131. scanf("%d",&valor_a);
  132. puts("Ingrese el valor minimo de precio:");
  133. scanf("%d",&valor_b);
  134.  
  135. for(i=0;i<TAM;i++){
  136. if(bienes[i].disponibilidad=='a' && bienes[i].area_construida >= area_a && bienes[i].area_construida<= area_b && bienes[i].precio
  137. >=valor_a && bienes[i].precio<=valor_b){
  138. printf("El listado de las propiedades que cumplen con estos requisitos son\n"
  139. "%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
  140. "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);
  141.  
  142.  
  143. }
  144. }
  145.  
  146.  
  147.  
  148. break;
  149.  
  150. case 4:
  151. /*Al recibir una ciudad y un estrato mostrar las propiedades para venta y las propiedades para
  152. * alquiler que cumplen con esas condiciones
  153. */
  154.  
  155. // char city[80];
  156. //int estra;
  157. puts("Listado de ciudades registradas");
  158. for(i=0;i<TAM;i++){
  159. printf(" %s \n",bienes[i].direccion.ciudad);
  160. }
  161. fflush(stdin);
  162. puts(" ");
  163. puts("Ingrese una ciudad");
  164. gets(city);
  165.  
  166. puts("Ingrese un estrato");
  167. scanf("%d",&estra);
  168.  
  169. for(i=0;i<TAM;i++){
  170. if(bienes[i].estrato==estra && bienes[i].direccion.ciudad==city){
  171. if(bienes[i].disponibilidad=='a'){
  172. puts("Las propiedades a alquilar son las sgts:");
  173. printf("%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
  174. "Direcion:%s Ciudad: %s ",i+1,bienes[i].codigo, bienes[i].area_construida,bienes[i].area,bienes[i].caractersticas
  175. ,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
  176.  
  177. }else{
  178. puts("Las propiedades a vender son las sgts:");
  179. printf("%d: Codigo:%s Area construidad: %d Area terreno: %d Caracteristicas: %s Niveles: %d Barrio:%s "
  180. "Direcion:%s Ciudad: %s ",i+1,bienes[i].codigo, bienes[i].area_construida,bienes[i].area,bienes[i].caractersticas
  181. ,bienes[i].niveles,bienes[i].direccion.barrio,bienes[i].direccion.direcion_casa,bienes[i].direccion.ciudad);
  182. }///fin sino
  183. }else{
  184. puts("!!!!ERROR,INFORMACION NO REGISTRADA, INTENTELO DE NUEVO");
  185. }
  186. }//fin for
  187.  
  188. break;
  189.  
  190.  
  191. default: ("!!!!ERROR, OPCION INEXISTENTE!!!");
  192.  
  193.  
  194. }///Fin switch
  195.  
  196. }while(op!=5);///Fin do-while
  197.  
  198.  
  199.  
  200. }
  201.  
  202. int menu(){
  203. int opc;
  204. puts("BIENVENIDO\n ___________SISTEMAS ADMINISTRACION BIENES RAICES DE PEREIRA 2013___________");
  205. puts(" ");
  206. puts("1-Registro propiedades");
  207. puts("2-Propiedades Disponibles para la venta segun barrio $350-600.");
  208. puts("3-Propiedades disponibles para alquiler segun rango area_contruida y rango precio");
  209. puts("4-Propiedades a la venta y alquiler segun ciudad y estrato");
  210. puts("5-Salir");
  211. puts(" ");
  212. scanf("%d",&opc);
  213. ///cada listado debera mostrar codigo,area construida,area terreno,caracteristicas,niveles,barrio,direccion y ciuda
  214.  
  215. return opc;
  216. }
Advertisement
Add Comment
Please, Sign In to add comment