Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <conio.h>
- #include <iostream>
- // PROTOTIPOS DE FUNCOES
- char * GravarChar(int maximo);
- float GravarFloat(int maximo);
- int GravarInteiro(int maximo);
- void Draw(int slash,const char * options[],HANDLE hConsole,char arrows[],int OPTIONS);
- int Move(int * slash,HANDLE hConsole,char arrows[],int OPTIONS);
- int setInfo(int iNumeroQuartos,HANDLE hConsole,int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[]);
- int showData(int iNumeroQuartos, int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[]);
- int createInfos(int iNumeroQuartos, HANDLE hConsole,int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[]);
- int changeStatus(int iNumeroQuartos,int iSituacao[],HANDLE hConsole);
- int showBusy(int iNumeroQuartos,int iSituacao[]);
- int extraExpenses(int iNumeroQuartos,float iDespesas[],float iTotal[], HANDLE hConsole);
- int sumTotal(int iNumeroQuartos, float iPrecoDiaria[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[],HANDLE hConsole);
- int setData(int* slash,HANDLE hConsole,int iDataDia[][2],int iDataMes[][2],int iDataAno[][4],char arrows[], int x,int type);
- int criaArrowsData(int iDataDia[][2],int iDataMes[][2],int iDataAno[][4],char arrows[],int x);
- int main()
- {
- HANDLE hConsole;
- hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
- char arrows[7] ={char(26),' ',' ',' ',' ',' ',' '};
- int slash = 0;
- const char * options[7]={
- "1. Alterar informacoes sobre os quartos",
- "2. Listar os dados de todos os quartos",
- "3. Alterar status (livre, ocupado, reservado) de um determinado quarto",
- "4. Listar os dados dos quartos ocupados",
- "5. Cadastrar despesas extras de um determinado quarto",
- "6. Calcular despesa final de um determinado quarto",
- "7. Finalizar"};
- int iNumeroQuartos=0;
- while(iNumeroQuartos<=0)
- {
- printf("Digite o numero de quartos a cadastrar( minimo = 1) : ");
- iNumeroQuartos = GravarInteiro(10);
- system("cls");
- }
- int myresult = (-1);
- char StartArrows[2] ={char(26),' '};
- const char * StartMenu[2]= { " 1. Cadastrar quartos agora", " 2. Cadastrar quartos depois"};
- int StartSeta = 0;
- int iNumeroQuarto;
- int iQuantidadeAcomodacoes[iNumeroQuartos];
- float iPrecoDiaria[iNumeroQuartos];
- int iSituacao[iNumeroQuartos];
- int iDataEntradaDia[iNumeroQuartos][2];
- int iDataEntradaMes[iNumeroQuartos][2];
- int iDataEntradaAno[iNumeroQuartos][4];
- int iDataSaidaDia[iNumeroQuartos][2];
- int iDataSaidaMes[iNumeroQuartos][2];
- int iDataSaidaAno[iNumeroQuartos][4];
- float iDespesas[iNumeroQuartos];
- float iTotal[iNumeroQuartos];
- while(myresult == (-1))
- {
- Draw(StartSeta,StartMenu,hConsole,StartArrows,2);
- myresult = Move(&StartSeta,hConsole,StartArrows,2);
- }
- if(myresult == 0)
- {
- system("cls");
- createInfos(iNumeroQuartos,
- hConsole,
- iQuantidadeAcomodacoes,
- iPrecoDiaria,
- iSituacao,
- iDataEntradaDia,
- iDataEntradaMes,
- iDataEntradaAno,
- iDataSaidaDia,
- iDataSaidaMes,
- iDataSaidaAno,
- iDespesas,
- iTotal);
- }
- else
- {
- for(int i = 0; i < iNumeroQuartos; i++)
- {
- iQuantidadeAcomodacoes[i]=0;
- iPrecoDiaria[i]=0;
- iSituacao[i]=0;
- iDataEntradaDia[i][0]=0;
- iDataEntradaDia[i][1]=0;
- iDataEntradaMes[i][0]=0;
- iDataEntradaMes[i][1]=0;
- iDataEntradaAno[i][0]=0;
- iDataEntradaAno[i][1]=0;
- iDataEntradaAno[i][2]=0;
- iDataEntradaAno[i][3]=0;
- iDataSaidaDia[i][0]=0;
- iDataSaidaDia[i][1]=0;
- iDataSaidaMes[i][0]=0;
- iDataSaidaMes[i][1]=0;
- iDataSaidaAno[i][0]=0;
- iDataSaidaAno[i][1]=0;
- iDataSaidaAno[i][2]=0;
- iDataSaidaAno[i][3]=0;
- iDespesas[i]=0;
- iTotal[i]=0;
- }
- }
- while(1)
- {
- Draw(slash,options,hConsole,arrows,7);
- int result = Move(&slash,hConsole,arrows,7);
- if(result != (-1))
- {
- switch(result)
- {
- case 0:
- system("cls");
- setInfo(iNumeroQuartos,
- hConsole,
- iQuantidadeAcomodacoes,
- iPrecoDiaria,
- iSituacao,
- iDataEntradaDia,
- iDataEntradaMes,
- iDataEntradaAno,
- iDataSaidaDia,
- iDataSaidaMes,
- iDataSaidaAno,
- iDespesas,
- iTotal);
- break;
- case 1:
- showData(iNumeroQuartos,
- iQuantidadeAcomodacoes,
- iPrecoDiaria,
- iSituacao,
- iDataEntradaDia,
- iDataEntradaMes,
- iDataEntradaAno,
- iDataSaidaDia,
- iDataSaidaMes,
- iDataSaidaAno,
- iDespesas,
- iTotal);
- break;
- case 2:
- changeStatus(iNumeroQuartos,
- iSituacao,
- hConsole);
- break;
- case 3:
- showBusy(iNumeroQuartos,
- iSituacao
- );
- break;
- case 4:
- extraExpenses(iNumeroQuartos,
- iDespesas,
- iTotal,
- hConsole);
- break;
- case 5:
- sumTotal(iNumeroQuartos,
- iPrecoDiaria,
- iDataEntradaDia,
- iDataEntradaMes,
- iDataEntradaAno,
- iDataSaidaDia,
- iDataSaidaMes,
- iDataSaidaAno,
- iDespesas,
- iTotal,
- hConsole);
- break;
- case 6:
- return 0;
- break;
- }
- }
- }
- }
- float GravarFloat(int maximo) //Usado para gravar numeros Float.
- {
- fflush(stdin); //Limpa o buffer para evitar problemas.
- char numero_s[maximo];
- fgets(numero_s,maximo,stdin); //Metodo similar a Scanf ou Cin porem mais seguro, Limitação de caracteres.
- float numero_f = atof(numero_s); //Converte string em Float para retornar no final.
- return numero_f;
- }
- int GravarInteiro(int maximo) //Usado para gravar numeros Inteiros.
- {
- fflush(stdin); //Limpa o buffer para evitar problemas.
- char numero_s[maximo];
- fgets(numero_s,maximo,stdin); //Metodo similar a Scanf ou Cin porem mais seguro, Limitação de caracteres.
- int numero_i = atoi(numero_s); //Converte string em Int para retornar no final.
- return numero_i;
- }
- char * GravarChar(int maximo) //Usado para gravar chars
- {
- fflush(stdin); //Limpa o buffer para evitar problemas.
- char * numero_s = new char[maximo];
- fgets(numero_s,maximo,stdin); //Metodo similar a Scanf ou Cin porem mais seguro, Limitação de caracteres.
- return numero_s;
- }
- int criaArrowsData(int iDataDia[][2],int iDataMes[][2],int iDataAno[][4],char arrows[],int x)
- {
- fflush(stdin);
- char Data[8];
- itoa ( iDataDia[x][0], &Data[0], 10 );
- itoa ( iDataDia[x][1], &Data[1], 10 );
- itoa ( iDataMes[x][0], &Data[2], 10 );
- itoa ( iDataMes[x][1], &Data[3], 10 );
- itoa ( iDataAno[x][0], &Data[4], 10 );
- itoa ( iDataAno[x][1], &Data[5], 10 );
- itoa ( iDataAno[x][2], &Data[6], 10 );
- itoa ( iDataAno[x][3], &Data[7], 10 );
- char arrows1[8]={'_',Data[1],Data[2],Data[3],Data[4],Data[5],Data[6],Data[7]};
- }
- int setData(int * slash,HANDLE hConsole,int iDataDia[][2],int iDataMes[][2],int iDataAno[][4],char arrows[], int x,int type)
- {
- fflush(stdin);
- system("cls");
- if(type == 1)
- {
- printf("Data de Entrada:\n");
- }
- else if(type == 2)
- {
- printf("Data de Saida:\n");
- }
- for(int i = 0; i < 8;i++)
- {
- if(i == 2 || i == 4)
- {
- SetConsoleTextAttribute(hConsole, 15);
- printf("/");
- }
- if(*slash == i)
- {
- SetConsoleTextAttribute(hConsole, 12);
- }
- else
- {
- SetConsoleTextAttribute(hConsole, 15);
- }
- printf("%c",arrows[i]);
- }
- SetConsoleTextAttribute(hConsole, 15);
- char Data[8];
- itoa ( iDataDia[x][0], &Data[0], 10 );
- itoa ( iDataDia[x][1], &Data[1], 10 );
- itoa ( iDataMes[x][0], &Data[2], 10 );
- itoa ( iDataMes[x][1], &Data[3], 10 );
- itoa ( iDataAno[x][0], &Data[4], 10 );
- itoa ( iDataAno[x][1], &Data[5], 10 );
- itoa ( iDataAno[x][2], &Data[6], 10 );
- itoa ( iDataAno[x][3], &Data[7], 10 );
- fflush(stdin);
- int key=0;
- //while(1){
- key = getch();
- //printf("key %d",key);}
- if(key == 75) // Left Key
- {
- if(*slash == 0)
- {
- arrows[*slash] = Data[*slash];
- *slash = 7;
- arrows[*slash] = '_';
- }
- else
- {
- arrows[*slash] = Data[*slash];
- *slash -= 1;
- arrows[*slash] = '_';
- }
- }
- else if(key == 77) // Right key
- {
- if(*slash == 7)
- {
- arrows[*slash] = Data[*slash];
- *slash = 0;
- arrows[*slash] = '_';
- }
- else
- {
- arrows[*slash] = Data[*slash];
- *slash += 1;
- arrows[*slash] = '_';
- }
- }
- else if(key > 47 && key < 58)
- {
- switch(*slash)
- {
- case 0:
- iDataDia[x][0] = key - 48;
- break;
- case 1:
- iDataDia[x][1] = key - 48;
- break;
- case 2:
- iDataMes[x][0] = key - 48;
- break;
- case 3:
- iDataMes[x][1] = key - 48;
- break;
- case 4:
- iDataAno[x][0] = key - 48;
- break;
- case 5:
- iDataAno[x][1] = key - 48;
- break;
- case 6:
- iDataAno[x][2] = key - 48;
- break;
- case 7:
- iDataAno[x][3] = key - 48;
- break;
- }
- }
- if(key == 13)
- {
- return 3;
- }
- }
- int sumTotal(int iNumeroQuartos, float iPrecoDiaria[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[],HANDLE hConsole)
- {
- char arrows0[iNumeroQuartos];
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- if(i != 0 )
- {
- arrows0[i] = ' ';
- }
- else
- {
- arrows0[i] = (char)26;
- }
- }
- int seta0 = 0;
- int result0=(-1);
- const char * menu0[iNumeroQuartos];
- for(int j = 0; j <iNumeroQuartos; j++)
- {
- char *quartoString = new char[10]();
- strcpy(quartoString,"Quarto [");
- char convert[3];
- itoa(j,convert,10);
- strcat(quartoString,convert);
- strcat(quartoString,"]");
- menu0[j] = quartoString;
- }
- while(result0 == (-1))
- {
- Draw(seta0,menu0,hConsole,arrows0,iNumeroQuartos);
- result0 = Move(&seta0,hConsole,arrows0,iNumeroQuartos);
- }
- system("cls");
- iTotal[result0] = iDespesas[result0];
- float dias = ( ( iDataSaidaAno[result0][0]*1000 + iDataSaidaAno[result0][1]*100 + iDataSaidaAno[result0][2]*10 + iDataSaidaAno[result0][0]*1 ) - (iDataEntradaAno[result0][0] *1000 + iDataEntradaAno[result0][1] *100 + iDataEntradaAno[result0][2] *10 + iDataEntradaAno[result0][0] *1 ) * 360);
- dias += ( (iDataSaidaMes[result0][0]*10 + iDataSaidaMes[result0][1]*1 ) - (iDataEntradaMes[result0][0]*10+iDataEntradaMes[result0][0]*1) * 30 );
- dias += ( (iDataSaidaDia[result0][0]*10 + iDataSaidaDia[result0][1]*1)- (iDataEntradaDia[result0][0]*10 + iDataEntradaDia[result0][1]*1));
- iTotal[result0] += dias*iPrecoDiaria[result0] ;
- printf("Dias : %.f ; Valor referente a os dias : $%.2f\n", dias, iTotal[result0] );
- printf("Aperte Enter para continuar");
- int key = 0;
- while(key != 13)
- {
- key = getch();
- }
- }
- int extraExpenses(int iNumeroQuartos,float iDespesas[],float iTotal[], HANDLE hConsole)
- {
- char arrows0[iNumeroQuartos];
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- if(i != 0 )
- {
- arrows0[i] = ' ';
- }
- else
- {
- arrows0[i] = (char)26;
- }
- }
- int seta0 = 0;
- int result0=(-1);
- const char * menu0[iNumeroQuartos];
- for(int j = 0; j <iNumeroQuartos; j++)
- {
- char *quartoString = new char[10]();
- strcpy(quartoString,"Quarto [");
- char convert[3];
- itoa(j,convert,10);
- strcat(quartoString,convert);
- strcat(quartoString,"]");
- menu0[j] = quartoString;
- }
- while(result0 == (-1))
- {
- Draw(seta0,menu0,hConsole,arrows0,iNumeroQuartos);
- result0 = Move(&seta0,hConsole,arrows0,iNumeroQuartos);
- }
- system("cls");
- printf("Digite o valor de dispesas extras(Digite um valor negativo para retirar): ");
- iDespesas[result0] += GravarFloat(10);
- }
- int showBusy(int iNumeroQuartos,int iSituacao[])
- {
- system("cls");
- printf("Quartos ocupados no memento: \n");
- for(int i = 0; i < iNumeroQuartos; i ++ )
- {
- if(iSituacao[i]==1)
- {
- printf("Quarto %d esta ocupado\n",i);
- }
- }
- printf("Aperte enter para continuar");
- int key = 0;
- while(key != 13)
- {
- key = getch();
- }
- }
- int changeStatus(int iNumeroQuartos,int iSituacao[],HANDLE hConsole)
- {
- char arrows0[iNumeroQuartos];
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- if(i != 0 )
- {
- arrows0[i] = ' ';
- }
- else
- {
- arrows0[i] = (char)26;
- }
- }
- int seta0 = 0;
- int result0=(-1);
- const char * menu0[iNumeroQuartos];
- for(int j = 0; j <iNumeroQuartos; j++)
- {
- char *quartoString = new char[10]();
- strcpy(quartoString,"Quarto [");
- char convert[3];
- itoa(j,convert,10);
- strcat(quartoString,convert);
- strcat(quartoString,"]");
- menu0[j] = quartoString;
- }
- while(result0 == (-1))
- {
- Draw(seta0,menu0,hConsole,arrows0,iNumeroQuartos);
- result0 = Move(&seta0,hConsole,arrows0,iNumeroQuartos);
- }
- const char * StartMenu1[3]={" 1. Livre", " 2. Ocupado", " 3. Reservado"};
- int StartSeta1 = 0;
- int myresult = (-1);
- char StartArrows1[3] ={char(26),' ',' '};
- while(myresult == (-1))
- {
- Draw(StartSeta1,StartMenu1,hConsole,StartArrows1,3);
- myresult = Move(&StartSeta1,hConsole,StartArrows1,3);
- }
- iSituacao[result0] = myresult;
- }
- int createInfos(int iNumeroQuartos, HANDLE hConsole,int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[])
- {
- for(int i = 0; i < iNumeroQuartos; i++)
- {
- system("cls");
- SetConsoleTextAttribute(hConsole, 12);
- printf("\nQuarto %d\n",i);
- SetConsoleTextAttribute(hConsole, 15);
- for(int result = 0; result < 6; result ++)
- {
- switch(result)
- {
- case 0:
- printf("\nDigite a quantidade de acomodacoes: ");
- iQuantidadeAcomodacoes[i] = GravarInteiro(10);
- break;
- case 1:
- printf("\nDigite o preco da diaria: ");
- iPrecoDiaria[i] = GravarFloat(10);
- break;
- case 2:
- printf("\nMudar status do quarto ( 0 = livre , 1 = ocupado, 2 = reservado : ");
- iSituacao[i] = 3;
- while( iSituacao[i] != 0 && iSituacao[i] != 1 && iSituacao[i] != 2 )
- {
- iSituacao[i] = GravarInteiro(10);
- }
- break;
- case 3:
- {
- fflush(stdin);
- int slashx = 0;
- char arrowsx[8]={'_','0','0','0','0','0','0','0'};
- iDataEntradaDia[i][0] = 0;
- iDataEntradaDia[i][1] = 0;
- iDataEntradaMes[i][0] = 0;
- iDataEntradaMes[i][1] = 0;
- iDataEntradaAno[i][0] = 0;
- iDataEntradaAno[i][1] = 0;
- iDataEntradaAno[i][2] = 0;
- iDataEntradaAno[i][3] = 0;
- criaArrowsData(iDataEntradaDia,iDataEntradaMes,iDataEntradaAno,arrowsx,i);
- int res = 0;
- while(res != 3)
- {
- res = setData(&slashx,hConsole,iDataEntradaDia,iDataEntradaMes,iDataEntradaAno,arrowsx,i,1);
- }
- break;
- }
- case 4:
- {
- fflush(stdin);
- iDataSaidaDia[i][0] = 0;
- iDataSaidaDia[i][1] = 0;
- iDataSaidaMes[i][0] = 0;
- iDataSaidaMes[i][1] = 0;
- iDataSaidaAno[i][0] = 0;
- iDataSaidaAno[i][1] = 0;
- iDataSaidaAno[i][2] = 0;
- iDataSaidaAno[i][3] = 0;
- int slashx = 0;
- char arrowsx[8]={'_','0','0','0','0','0','0','0'};
- criaArrowsData(iDataSaidaDia,iDataSaidaMes,iDataSaidaAno,arrowsx,i);
- int res = 0;
- while(res != 3)
- {
- res = setData(&slashx,hConsole,iDataSaidaDia,iDataSaidaMes,iDataSaidaAno,arrowsx,i,2);
- }
- system("cls");
- break;
- }
- case 5:
- printf("\nDigite o preco dispesas: ");
- iDespesas[i] = GravarFloat(10);
- break;
- }
- }
- }
- }
- int showData(int iNumeroQuartos,int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[] )
- {
- system("cls");
- printf("Quantidade de acomodacoes: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Acomodacoes %d\n",i,iQuantidadeAcomodacoes[i]);
- }
- printf("\n\nPreco diaria: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Preco diaria $%.2f\n",i,iPrecoDiaria[i]);
- }
- printf("\n\nSituacao do quarto: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- const char * status[3] = { "Livre","Ocupado","Reservado"};
- printf("Quarto %d status %s\n",i,status[ iSituacao[i] ] );
- }
- printf("\n\nData entrada: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Data entrada %d%d/%d%d/%d%d%d%d\n",i,iDataEntradaDia[i][0],iDataEntradaDia[i][1],iDataEntradaMes[i][0],iDataEntradaMes[i][1],iDataEntradaAno[i][0],iDataEntradaAno[i][1],iDataEntradaAno[i][2],iDataEntradaAno[i][3]);
- }
- printf("\n\nData saida: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Data saida %d%d/%d%d/%d%d%d%d\n",i,iDataSaidaDia[i][0],iDataSaidaDia[i][1],iDataSaidaMes[i][0],iDataSaidaMes[i][1],iDataSaidaAno[i][0],iDataSaidaAno[i][1],iDataSaidaAno[i][2],iDataSaidaAno[i][3]);
- }
- printf("\n\nDespesas: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Ultima despesa $%.2f\n",i,iDespesas[i]);
- }
- printf("\n\nTotal: \n");
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- printf("Quarto %d Total $%.2f\n",i,iTotal[i]);
- }
- int mykey = 0;
- printf("\n Aperte enter para continuar ");
- while(mykey != 13)
- {
- mykey = getch();
- }
- }
- int setInfo(int iNumeroQuartos, HANDLE hConsole,int iQuantidadeAcomodacoes[],float iPrecoDiaria[],int iSituacao[],int iDataEntradaDia[][2],int iDataEntradaMes[][2],int iDataEntradaAno[][4],int iDataSaidaDia[][2],int iDataSaidaMes[][2],int iDataSaidaAno[][4],float iDespesas[],float iTotal[])
- {
- char arrows0[iNumeroQuartos];
- for(int i = 0; i <iNumeroQuartos; i++)
- {
- if(i != 0 )
- {
- arrows0[i] = ' ';
- }
- else
- {
- arrows0[i] = (char)26;
- }
- }
- int seta0 = 0;
- int result0=(-1);
- const char * menu0[iNumeroQuartos];
- for(int j = 0; j <iNumeroQuartos; j++)
- {
- char *quartoString = new char[10]();
- strcpy(quartoString,"Quarto [");
- char convert[3];
- itoa(j,convert,10);
- strcat(quartoString,convert);
- strcat(quartoString,"]");
- menu0[j] = quartoString;
- }
- while(result0 == (-1))
- {
- Draw(seta0,menu0,hConsole,arrows0,iNumeroQuartos);
- result0 = Move(&seta0,hConsole,arrows0,iNumeroQuartos);
- }
- char arrows[5] ={char(26),' ',' ',' ',' '};
- const char * menu[5]= { " 1. Mudar Quantidade de acomodacoes", " 2. Mudar Preco da diaria", " 3. Mudar situacao quarto", " 4. Mudar data entrada", " 5. Mudar data saida"};
- int seta = 0;
- int result(-1);
- while(result == (-1))
- {
- Draw(seta,menu,hConsole,arrows,5);
- result = Move(&seta,hConsole,arrows,5);
- }
- switch(result)
- {
- case 0:
- printf("\nDigite a quantidade de acomodacoes: ");
- iQuantidadeAcomodacoes[result0] = GravarInteiro(10);
- break;
- case 1:
- printf("\nDigite o preco da diaria: ");
- iPrecoDiaria[result0] = GravarFloat(10);
- break;
- case 2:
- printf("\nMudar status do quarto( 0 = Livre , 1 - Ocupado , 2 - Reservado: ");
- iSituacao[result0] = 3;
- while( iSituacao[result0] != 0 && iSituacao[result0] != 1 && iSituacao[result0] != 2 )
- {
- iSituacao[result0] = GravarInteiro(10);
- }
- break;
- case 3:
- {
- int slashx = 0;
- char arrowsx[8]={'_','0','0','0','0','0','0','0'};
- criaArrowsData(iDataEntradaDia,iDataEntradaMes,iDataEntradaAno,arrowsx,result0);
- int res = 0;
- while(res != 3)
- {
- res = setData(&slashx,hConsole,iDataEntradaDia,iDataEntradaMes,iDataEntradaAno,arrowsx,result0,1);
- }
- system("cls");
- break;
- }
- case 4:
- {
- int slashx = 0;
- char arrowsx[8]={'_','0','0','0','0','0','0','0'};
- criaArrowsData(iDataSaidaDia,iDataSaidaMes,iDataSaidaAno,arrowsx,result0);
- int res = 0;
- while(res != 3)
- {
- res = setData(&slashx,hConsole,iDataSaidaDia,iDataSaidaMes,iDataSaidaAno,arrowsx,result0,2);
- }
- system("cls");
- break;
- }
- }
- }
- void Draw(int slash,const char * options[],HANDLE hConsole,char arrows[],int OPTIONS)
- {
- system("cls");
- for(int i = 0; i < OPTIONS;i++)
- {
- if(slash == i)
- {
- SetConsoleTextAttribute(hConsole, 12);
- }
- else
- {
- SetConsoleTextAttribute(hConsole, 15);
- }
- printf(" %c %s\n",arrows[i],options[i]);
- }
- SetConsoleTextAttribute(hConsole, 15);
- }
- int Move(int * slash, HANDLE hConsole, char arrows[],int OPTIONS)
- {
- char key = getch();
- //printf("%d",key); Usado para testar o "id" de cada tecla
- //system("pause");
- if(key == 80) // Down Key
- {
- if(*slash == OPTIONS-1)
- {
- arrows[*slash] = ' ';
- *slash = 0;
- arrows[*slash] = (char)26;
- }
- else
- {
- arrows[*slash] = ' ';
- *slash += 1;
- arrows[*slash] = (char)26;
- }
- }
- if(key == 72) // Up key
- {
- if(*slash == 0)
- {
- arrows[*slash] = ' ';
- *slash = OPTIONS-1;
- arrows[*slash] = (char)26;
- }
- else
- {
- arrows[*slash] = ' ';
- *slash -= 1;
- arrows[*slash] = (char)26;
- }
- }
- if(key == 13)
- {
- if(*slash >= 0 && *slash < OPTIONS)
- {
- return *slash;
- }
- }
- return (-1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement