Sunteți pe pagina 1din 21

Universidad Mariano Glvez

Ingeniera en Sistemas
Seccin: B
Algoritmos
Ing. Manuel Noriega

Proyecto de inmobiliaria

Ricardo Alfaro
Cristian Alejandro Ramirez Matias
Roberto Lam Mendez
Monica Elizabeth Herrera Monrroy
Ingrid Maricela Soto Poitan
Elsa Leticia Valdez Morataya

5990-14-13029
5990-14-11116
5990-14-6880
5990-14-11938
5990-14-12181
5990-14-11923

Guatemala, 08 de Noviembre 2014

Diagrama de
Flujo

Pseudocdigo

Programa Inmobiliaria

Documentacin
Interna

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
using std::cout;
//Definicin de Constantes y variables
#define Fila 19
#define Columna 15
#define Cristal 150000
#define Esmeralda 200000
#define Diamante 250000

char Direccion[Fila][2];
char status[Fila][2];
char fecha_cons[Fila][11];
char tipo_casa[Fila][2];
int precio[Fila];
char fecha_res[Fila][11];
char vendedor_res[Fila][31];
char comprador_res[Fila][31];
char email_comp_res[Fila][31];
char fecha_ven[Fila][11];
char vendedor_ven[Fila][31];
char comprador_com[Fila][31];
char telefono_comp[Fila][8];
char email_comp_com[Fila][31];

int MenuReportes()
{
int respR;

do
{
system("cls");
printf("MENU PRINCIPAL\n");
printf("--------------\n\n");
printf("1- Informe del Proyecto\n");
printf("2- Informe de Casas Disponibles\n");
printf("3- Informe de casas Reservadas\n");
printf("4- Informe de casas Vendidad\n");
printf("5- Informe de comisiones por vendedor\n");
printf("6- Detalle de Casa\n");
printf("7- Salir\n");
scanf ("%d",&respR);
} while( respR < 7);
return respR;
}
int CreaArchivo(char dato)
{
int f,c;
f = 0;
c = 0;
ofstream Entrada;
if (dato =='a')
{
Entrada.open("ManzanaA.txt",ios::out); //se abre el archivo de la manzana A
en modo de escritura,
//si no existe lo crea, si existe lo borra y vuelve a crearlo
for (f = 0; f <=Fila; f++)
{
Direccion[f][0]='A';
Direccion[f][1]='\0';
}
}
else if(dato=='b')
{
Entrada.open("ManzanaB.txt",ios::out); //se abre el archivo de la manzana B
en modo de salida
//si no existe lo crea, si existe lo borra y vuelve a crearlo
for (f = 0; f <=Fila; f++)

{
Direccion[f][0]='B';
Direccion[f][1]='\0';
}
}
else
{
Entrada.open("ManzanaC.txt",ios::out); //se abre el archivo de la manzana C
en modo de salida
//si no existe lo crea, si existe lo borra y vuelve a crearlo
for (f = 0; f <=Fila; f++)
{
Direccion[f][0]='C';
Direccion[f][1]='\0';
}
}

if (Entrada.fail()) //Verifica si hay un error al abrir el archivo


{
printf("Hubo un error al abrir Manzana A"); //muestra mensaje de que hubo
un error
system("PAUSE"); //hace una pausa para que se pueda ver el mensaje
}
else //Continua si se puede abrir el archivo
{
for(f = 0; f <=Fila; f++)
{
Entrada<<Direccion[f]<<f+1<<"-"<<status[f]<<",";
for (c=0; c<=10; c++)
{
Entrada<<fecha_cons[f][c];
}
Entrada<<","<<tipo_casa[f][c]<<","<<precio[c]<<",";
for (c=0; c<=10; c++)
{
Entrada<<fecha_res[f][c];

}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<vendedor_res[f][c];
}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<comprador_res[f][c];
}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<email_comp_res[f][c];
}
Entrada<<",";
for (c=0; c<=10; c++)
{
Entrada<<fecha_ven[f][c];
}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<vendedor_ven[f][c];
}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<comprador_com[f][c];
}
Entrada<<",";
for (c=0; c<=8; c++)
{
Entrada<<telefono_comp[f][c];
}
Entrada<<",";
for (c=0; c<=30; c++)
{
Entrada<<email_comp_com[f][c];
}

Entrada<<endl;

//email_comp_com[Fila][31];
}
}
Entrada.close();
}
void LeeArchivo(char dato)
{
int contfila,contcolumna;
contfila= 0;
contcolumna= 0;
ifstream Salida;
if (dato =='a')
{
Salida.open("ManzanaA.txt",ios::in); //se abre el archivo de la manzana A en
modo de salida,
}
else if(dato=='b')
{
Salida.open("ManzanaB.txt",ios::in); //se abre el archivo de la manzana B en
modo de salida
}
else
{
Salida.open("ManzanaC.txt",ios::out); //se abre el archivo de la manzana C en
modo de salida
}

if (Salida.fail()) //Verifica si hay un error al abrir el archivo


{
printf("Hubo un error al abrir Manzana A"); //muestra mensaje de que hubo
un error

system("PAUSE"); //hace una pausa para que se pueda ver el mensaje


}
else //Continua si se puede abrir el archivo
{
contfila=0;
do
{
contfila= contfila++;
Salida>>Direccion[contfila][0]>>status[contfila][0];
}
while(!Salida.eof());
}
Salida.close();
}
void IniciarProyecto()
{
//inicializacin de las variables
int contador,contador2;// contadores para for que se usa para recorrer la
matriz
char respuesta;
system("cls");//Limpia pantalla
printf("Esta Opcion Borrara todos los datos existentes \n");
printf("desea Continuar S/N ");
scanf("%s",&respuesta);
if (respuesta == 's'|| respuesta == 'S')
{
for(contador = 0; contador <=Fila; contador++)
{

status[contador][0]='C';
status[contador][1]='\0';
tipo_casa[contador][0]='C';
tipo_casa[contador][1]='\0';

fecha_cons[contador][0]='0';
fecha_cons[contador][1]='0';
fecha_cons[contador][2]='/';
fecha_cons[contador][3]='0';
fecha_cons[contador][4]='0';
fecha_cons[contador][5]='/';
fecha_cons[contador][6]='0';
fecha_cons[contador][7]='0';
fecha_cons[contador][8]='0';
fecha_cons[contador][9]='0';
fecha_cons[contador][10]='\0';
fecha_res[contador][0]='0';
fecha_res[contador][1]='0';
fecha_res[contador][2]='/';
fecha_res[contador][3]='0';
fecha_res[contador][4]='0';
fecha_res[contador][5]='/';
fecha_res[contador][6]='0';
fecha_res[contador][7]='0';
fecha_res[contador][8]='0';
fecha_res[contador][9]='0';
fecha_res[contador][10]='\0';
fecha_ven[contador][0]='0';
fecha_ven[contador][1]='0';
fecha_ven[contador][2]='/';
fecha_ven[contador][3]='0';
fecha_ven[contador][4]='0';
fecha_ven[contador][5]='/';
fecha_ven[contador][6]='0';
fecha_ven[contador][7]='0';
fecha_ven[contador][8]='0';
fecha_ven[contador][9]='0';
fecha_ven[contador][10]='\0';
for (contador2 = 0; contador2 <=30; contador2++)
{
vendedor_res[Fila][contador2] =' ';
comprador_res[Fila][contador2] =' ';
email_comp_res[Fila][contador2]=' ';

vendedor_ven[Fila][contador2]=' ';
comprador_com[Fila][contador2]=' ';
email_comp_com[Fila][contador2]=' ';
}
vendedor_res[0][0] =' ';vendedor_res[0][1] =' ';vendedor_res[0][2] ='
';vendedor_res[0][3] =' ';vendedor_res[0][4] =' ';vendedor_res[0][5] =' ';
vendedor_res[Fila][30] ='\0';
comprador_res[Fila][30] ='\0';
email_comp_res[Fila][30]='\0';
vendedor_ven[Fila][30]='\0';
comprador_com[Fila][30]='\0';
email_comp_com[Fila][30]='\0';

}
CreaArchivo('a');
CreaArchivo('b');
CreaArchivo('c');
printf("Se Inicio el proyecto correctamente \n");
system("pause");
}
}
void CrearCasa()
{
int numero;
char manzana;
char tipoc;
char fecha[11];
int precioc,r;
char resp;
do
{
system("cls");
printf("Ingrese Manzana ");
scanf("%s",&manzana);
printf("Ingrese No. de la casa ");

scanf("%d",&numero);
LeeArchivo(manzana);
if (status[numero][0]='C')
{
printf("Ingrese Fecha de construccin ");
scanf("%s",&fecha);
printf("\n");
printf("Tipo de la casa [C,E o D] ");
scanf("%s",&tipoc);
if (tipoc ='C') precioc = Cristal;
else if (tipoc ='E') precioc = Esmeralda;
else precioc = Diamante;
tipo_casa[numero][0] = tipoc;
tipo_casa[numero][0] = '\0';
status[numero][0] = 'D';
status[numero][1] = '\0';
precio[numero]=precioc;
for (r=0;r<=11;r++)
{
fecha_cons[numero][r] = fecha[r];
}
CreaArchivo(manzana);
}
printf("La Casa se Creo correctamente");
printf("\n Desea Crear otra casa S/N ");
scanf("%s",resp);
}
while(resp !='s' || resp != 'S');
}
void ReservarCasa()
{
int numero,r = 0;
char manzana= ' ';
char fecha[11];
char nombrev[31];

char nombrec[31];
char telefono[8];
char email[31];
char continua;
//do
//{
cout<< continua;
system("pause");
system("cls");
printf("Ingrese Manzana ");
scanf("%s",&manzana);
printf("\n");
printf("Ingrese No. de la casa ");
scanf("%d",&numero);
LeeArchivo(manzana);
if (status[numero][0]='D')
{
printf("Ingrese Fecha de Reserva ");
scanf("%s",&fecha);
printf("\n");
printf("Nombre del Vendedor ");
scanf("%s",&nombrev);
printf("\n");
printf("Nombre del Comprador ");
scanf("%s",&nombrec);
printf("\n");
printf("Telefono del cliente ");
scanf("%s",&telefono);
printf("\n");
printf("email del cliente");
scanf("%s",&email);
printf("\n");
for (r=0;r<=10;r++)
{
fecha_res[numero][r] = fecha[r];
}
for (r=0;r<=30;r++)

{
vendedor_res[numero][r]=nombrev[r];
comprador_res[numero][r] =nombrec[r];
email_comp_com[numero][r] = email[r];
}
CreaArchivo(manzana);
}
printf("La Casa se reservo correctamente");
//cout<<("\n Desea Reservar otra casa S/N ");
// cin>>continua;
//}
cout<< continua;
system("pause");
//while(resp !='s');
}
void LiberarCasa()
{
}
void VenderCasa()
{
}
void InformacionCasa()
{
}
void mapa()
{
}
int Reportes()
{
int opcionR;
do
{
opcionR = MenuReportes();
switch(opcionR)
{
case 1:
break;

case 2: // Mostrar registro


break;
case 3: // Eliminar registro
break;
case 4: // Mostrar todo
system("PAUSE");
break;
case 5: // Eliminar marcados
break;
case 6: // Eliminar marcados
break;
}
} while(opcionR != 7);
return 0;
}
int Menu()
{
int opcion;
int numero,r = 0;
char manzana= ' ';
char fecha[11];
char nombrev[31];
char nombrec[31];
char telefono[8];
char email[31];
char continua;
opcion = 0;
do
{
system("cls");
printf("MENU PRINCIPAL\n");
printf("--------------\n\n");
printf("1- Iniciar Proyecto\n");
printf("2- Crear Casa\n");
printf("3- Reservar Casa\n");
printf("4- Liberar Reserva de Casa\n");
printf("5- Vender Casa\n");

printf("6- Informacion de Casa\n");


printf("7- Ver Mapa\n");
printf("8- Reporte\n");
printf("9- Salir\n");
scanf ("%d",&opcion);
system("cls");
switch(opcion)
{
case 1:
IniciarProyecto();
break;
case 2: // Mostrar registro
CrearCasa();
break;
case 3: // reservar casa

//do
//{
cout<< continua;
system("pause");
system("cls");
printf("Ingrese Manzana ");
scanf("%s",&manzana);
printf("\n");
printf("Ingrese No. de la casa ");
scanf("%d",&numero);
LeeArchivo(manzana);
if (status[numero][0]='D')
{
printf("Ingrese Fecha de Reserva ");
scanf("%s",&fecha);
printf("\n");
printf("Nombre del Vendedor ");
scanf("%s",&nombrev);
printf("\n");
printf("Nombre del Comprador ");

scanf("%s",&nombrec);
printf("\n");
printf("Telefono del cliente ");
scanf("%s",&telefono);
printf("\n");
printf("email del cliente");
scanf("%s",&email);
printf("\n");
for (r=0;r<=10;r++)
{
fecha_res[numero][r] = fecha[r];
}
for (r=0;r<=30;r++)
{
vendedor_res[numero][r]=nombrev[r];
comprador_res[numero][r] =nombrec[r];
email_comp_com[numero][r] = email[r];
}
CreaArchivo(manzana);
}
printf("La Casa se reservo correctamente");
//cout<<("\n Desea Reservar otra casa S/N ");
// cin>>continua;
//}
cout<< continua;
system("pause");
//while(resp !='s');
break;
case 4: // Liberar casa
LiberarCasa();
break;
case 5: // vender casa
break;
case 6: // Informacion de casa
break;
case 7: // Mapa
break;
case 8:
Reportes();
break;

}
}
while( opcion < 8);
return(0);
}
int main()
{
Menu();
return(0);
}

S-ar putea să vă placă și