Skip to content

Instantly share code, notes, and snippets.

@valchaqui
Created December 6, 2015 22:23
Show Gist options
  • Save valchaqui/06ad6fd57d95e8875334 to your computer and use it in GitHub Desktop.
Save valchaqui/06ad6fd57d95e8875334 to your computer and use it in GitHub Desktop.
Algoritmo piSol {
//declaração de variáveis
int i = 0;
int nFunc = 4; // quantidade de registros de usuarios;
int statusLogin = 1;
int segueSis = 1;
String login[2];
String username[4];
String password[4];
String menuRef[4];
int menuCod[4];
int menuOp = 666;
int submenuOp = 666;
int excluir = 2;
int x,y;
int codigo=1,alteraOp=666;
int resAltera = 0;
int codigoBusca = 0;
String cadastro[4][3];
/*
+------+ CADASTRO +--------+ y /|\
| NOME | TELEFONE | STATUS | |
+------+----------+--------+ |
| | | | |
+------+----------+--------+ |
| | | | |
+------+----------+--------+ |
| | | | |
+------+----------+--------+ +-------------------------------> x
*/
cadastro[0][0] = "CODIGO";
cadastro[1][0] = "NOME";
cadastro[2][0] = "TELEFONE";
cadastro[3][0] = "OBSERVACAO";
//controle de subsistemas
menuRef[0] = "Cadastro de clientes";
menuCod[0] = 1;
menuRef[2] = "Orçamentos";
menuCod[2] = 2;
/*clientes
clientCod[0] = 1;
clientRef[0] = "Estagiario";
clientTel[0] = "1234-4321";
clientSts[0] = "Orçamento";
clientCod[2] = 2;
clientRef[2] = "Devil";
clientTel[2] = "1234-4321";
clientSts[2] = "MLK";
*/
//usuarios cadastrados no sistemas
//Renoir de Paula Faria dos Reis
username[0] = "renoirfaria"; //username
password[0] = "410141"; //password
// variaveis de orcamento
int qtdOrc = 1;
int orcamento[10][5];
int l,c;
int selOrc = 0;
//variaveis para calculo de orçamento
int moradores, arCondicionados, comodos, geladeiras, computadores, chuveiros, televisores, microOndas, total=0;
float valorOrcamento = 0;
int potPlacaSolar = 100;
float precoPlacaSolar = 500.00;
int qtdPlacas = 0;
int tempoSol = 8;
float valorContaLuz = 0;
escreva("\n***** piSol - Sistema de Gerenciamento de vendas *****\n\n");
do {
//while (statusLogin != 1) {
//TELA DE LOGIN DO USUARIO
escreva ("Nome de usuario: ");
leia (login[0]);
escreva ("Senha..........: ");
leia (login[1]);
//INICIO DA VALIDAÇÃO DO LOGIN
if (login[0] == null) {
escreva ("Campo login vazio!");
statusLogin = 0;
}
else {
for (i=0; i < 4; i++) {
if (login[0]==(username[i])) {
//escreva ("\n****Usuário Encontrado****\n");
statusLogin = 1;
}
else {
escreva("** Usuario não cadastrado\n");
statusLogin = 0;
}
if (login[1].equals(password[i])) {
//escreva("\n****Senha Encontrada****\n");
statusLogin =1;
}
else {
escreva("** Senha não equivale ao usuario\n");
statusLogin = 0;
}
//INICIO DO SISTEMA
while (statusLogin == 1) {
//INICIO CAMADA SECUNDARIA
while (segueSis == 1) {
escreva ("Bem vindo ao sistema " + login[0] + "!");
do {
//inicio da camada menuOp
for (i=0; i < (menuCod.length - 1); i++) {
escreva(menuCod[i] + " - " + menuRef[i]);
}
escreva("0 - Deslogar");
escreva("\nOperacao: ");
leia (menuOp);
switch(menuOp) {
case 0:
statusLogin = 0;
break;
//inicio da camada submenuOp
case 1:
while(submenuOp != 0) {
escreva("\n\n");
escrevaln("***** CADASTRO DE CLIENTES *****");
escrevaln("1 - Listar clientes.");
escrevaln("2 - Adicionar cliente.");
escrevaln("3 - Editar cliente.");
escrevaln("4 - Excluir cliente.");
escrevaln("0 - Sair.");
escreva("Operacao: ");
submenuOp = ;
switch (submenuOp) {
case 1:
submenuOp = 666;
escreva("***** LISTA DE CLIENTES *****");
for (y=0; y < 3; y++) {
if ((cadastro[0][y] != null) && (cadastro[1][y] != null) && (cadastro[2][y] != null)) {
escreva("Código: " + cadastro[0][y]);
escreva("Nome do cliente: " + cadastro[1][y]);
escreva("Telefone: " + cadastro[2][y]);
escreva("Descrição: " + cadastro[3][y] + "\n");
}
}
escrevaln("***** FIM DE LISTAGEM *****\n\n\n");
break;
case 2:
escreva("***** CADASTRAR CLIENTE *****");
escreva("Codigo: " + codigo);
cadastro[0][codigo] = "" + codigo;
escreva("Nome do cliente: ");
leia(cadastro[1][codigo]);
escreva("Telefone: ");
leia(cadastro[2][codigo]);
escreva("Observação: ");
leia (cadastro[3][codigo]);
escreva("***** CADASTRO CONCLUIDO *****\n\n\n");
break;
case 3:
escreva("***** EDITAR CLIENTE *****");
while(codigoBusca == 0) {
escreva("Digite o código do usuário: ");
leia (codigoBusca);
}
escreva("Buscando o cliente com código: " + codigoBusca);
//for (y=0; y < 3; y++) {
//if (cadastro[0][y] == codigoBusca) {
//resAltera = y;
escreva("Código: " + cadastro[0][codigoBusca]);
escreva("1 - Nome do cliente: " + cadastro[1][codigoBusca]);
escreva("2 - Telefone: " + cadastro[2][codigoBusca]);
escreva("3 - Descrição: " + cadastro[3][codigoBusca]);
escreva("Desejo alterar a o campo/linha nº: ");
leia (alteraOp);
switch (alteraOp) {
case 1:
escreva("Nome do cliente: ");
leia (cadastro[1][codigoBusca]);
break;
case 2:
escreva("Telefone: ");
leia (cadastro[2][codigoBusca]);
break;
case 3:
escreva("Observação: ");
leia (cadastro[3][codigoBusca]);
break;
default:
escreva("Opção inválida. Tente novamente"); // tratar melhor essa parte
}
//}
//}
break;
case 4:
while( excluir == 2) {
escreva("\nDigite o código do cliente: ");
leia (codigoBusca);
escreva("Código: " + cadastro[0][codigoBusca]);
escreva("1 - Nome do cliente: " + cadastro[1][codigoBusca]);
escreva("2 - Telefone: " + cadastro[2][codigoBusca]);
escreva("3 - Descrição: " + cadastro[3][codigoBusca]);
escreva("\nDeseja excluir o cliente? ");
escreva("\n[1] - Sim ");
escreva("\n[2] - Não ");
escreva("Operacão: ");
leia (excluir);
}
cadastro[0][codigoBusca] = null;
cadastro[1][codigoBusca] = null;
cadastro[2][codigoBusca] = null;
cadastro[3][codigoBusca] = null;
break;
default:
for (y=0; y < 3; y++) {
escreva(cadastro[0][y] + " | ");
escreva(cadastro[1][y] + " | ");
escreva(cadastro[2][y] + " | ");
escreva(cadastro[3][y] + " | ");
escreva("\n");
}
}//fim dos switch de cadastro
}//fim do submenuOp
break;
case 2:
submenuOp = 666;
while(submenuOp != 0) {
escreva("***** CONTROLE DE ORCAMENTOS *****");
escreva("1 - Verificar orçamento.");
escreva("2 - Criar orçamento.");
escreva("0 - Sair.");
escreva("Operacao: ");
leia (submenuOp);
switch (submenuOp) {
case 1:
escreva("***** VERIFICAR ORÇAMENTO *****");
escreva("Digite o número do orçamento: ");
leia (selOrc);
for (l = 0; l < 10; l++) {
if(orcamento[l][0] == selOrc) {
escreva("*********** pi Sol - ORCAMENTO **********");
escreva("Orcamento: " + orcamento[l][0]);
escreva("Cliente: " + cadastro[l][orcamento[1][1]]); //aprimorar com integração a array clientes
escreva("Potencia: " + orcamento[l][2]);
escreva("Valor: " + orcamento[l][3]);
escreva("Status: " + orcamento[l][4]);
escreva("*********** FIM DE ORCAMENTO **********");
}
else if(l == 9) {
escreva("\n Não encontramos nenhum orcamento no sistema");
}
}
break;
case 2:
escreva("\n*********** pi Sol - CRIAR ORCAMENTO **********");
//codigo do orcamento
orcamento[qtdOrc][0] = qtdOrc;
escreva("Codigo do cliente: ");
leia (orcamento[qtdOrc][1]);
escreva("Quantidade de moradores: ");
leia (moradores);
escreva("Quantidade de comodos: ");
leia (comodos);
escreva("Quantidade de ar-condicionados: ");
leia (arCondicionados);
escreva("Quantiade de geladeiras: ");
leia (geladeiras);
escreva("Quantidade de computadores: ");
leia (computadores);
escreva("Quantidade de chuveiros: ");
leia (chuveiros);
escreva("Quantidade de televisores: ");
leia (televisores);
escreva("Quantidade de microOndas: ");
leia (microOndas);
// calculando a potencia necessaria
// POTENCIA | QTD HORAS | QTD de APARELHOS
total += ((1200 * 6 ) * arCondicionados);
total += ((10 * 6 ) * comodos);
total += ((200 * 12 ) * geladeiras);
total += ((300 * 6 ) * computadores);
total += ((4400 * 0.17 ) * chuveiros);
total += ((200 * 6 ) * televisores);
total += ((1200 * (moradores * 0.08)) * microOndas);
orcamento[qtdOrc][2] = total;
escreva("Potencia necessaria: " + orcamento[qtdOrc][2] + " Kwh");
// calculando valor de materiais
valorContaLuz = (((total * 30) * 0.46 )/ 1000);
qtdPlacas = (total/(potPlacaSolar*tempoSol));
valorOrcamento = precoPlacaSolar * qtdPlacas;
orcamento[qtdOrc][3] = valorOrcamento + 1;
escreva("Valor do orcamento: R$ " + orcamento[qtdOrc][3] + ".00"); //reclama pra dilma
//status do orcamento
orcamento[qtdOrc][4] = 1;
qtdOrc = qtdOrc + 1;
escreva("*********** ORCAMENTO Nº" + orcamento[qtdOrc][0] + " CRIADO COM SUCESSO! **********\n");
break;
case 3:
break;
}
}
break;
default:
escreva("Operação inválida, insira um valor equivalente a lista.\n");
}
}while(menuOp != 0);
segueSis = 0;
}//fim do segueSis
}//fim do statusLogin
}
}
} while (statusLogin != 1);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment