Ir ao conteúdo
  • Cadastre-se

Samuel Vasconcelos

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

11
  1. #include <conio2.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <windows.h> #define esquerda 75 #define direita 77 #define abaixo 80 #define acima 72 #define ESC 27 #define enter 13 #define max 10 typedef struct estudante{/// Estrutura para as Funções CADASTRAR e MOSTRAR_DADOS char nome_completo[80]; char rga[20]; char endereco[80]; char email[80]; char nome_pai[80]; char nome_mae[80]; char celular[20]; char data_nascimento[20]; char cidade[80]; char bairro[80]; char curso[80]; char semestre[20]; char campus[80]; }estudante; estudante studnt; void Menu(int col){/// Criação do Menu int c; textbackground(LIGHTBLUE); textcolor(WHITE); for(c=8; c<81; c++){ if(c>34){ gotoxy(c,8); printf("%c", 205); gotoxy(c,10); printf("%c", 205); gotoxy(c,22); printf("%c", 205); gotoxy(c,24); printf("%c", 205); } if(c>7 && c<25){ gotoxy(35,c); printf("%c", 186); if(c<21 && c>=10){ gotoxy(35,c+1); printf(" "); } gotoxy(80,c); printf("%c", 186); } } gotoxy(35,8); printf("%c", 201); gotoxy(35,10); printf("%c", 204); gotoxy(35,22); printf("%c", 204); gotoxy(35,24); printf("%c", 200); gotoxy(80,8); printf("%c", 187); gotoxy(80,10); printf("%c", 185); gotoxy(80,22); printf("%c", 185); gotoxy(80 , 24); printf("%c", 188); textbackground(24); textcolor(BLUE); gotoxy(36,9); printf(" "); textcolor(BLACK); gotoxy(40, 9 ); printf(" Aluno" ); gotoxy(50, 9 ); printf(" Pilha" ); gotoxy(60, 9 ); printf(" Fila" ); gotoxy(70, 9 ); printf(" Sobre" ); textbackground(LIGHTBLUE); gotoxy(36,23); printf(" "); textbackground(24); gotoxy(1,1); //printf(" "); if(col==40){/// Na posição 40 referente ao X do gotoxy(X,Y) gotoxy(37,11);printf(" Cadastrar Dados ");/// Fica impresso na posição(37,11) cadastrar dados gotoxy(37,13);printf(" Mostrar Dados ");/// Fica impresso na posição (37,13) mostrar dados } else if(col==50){/// Na posição 50 refente ao X do gotoxy(X,Y) gotoxy(50,11);printf(" Inserir ");/// Fica impresso na posição (50,11) inserir gotoxy(50,13);printf(" Excluir ");/// Fica impresso na posição (50,13) excluir gotoxy(50,15);printf(" Listar ") ;/// Fica impresso na posição (50,15) listar gotoxy(50,17);printf(" Buscar ") ;/// Fica impresso na posição (50,17) buscar } else if(col==60){/// Na posição 60 referente ao X do goto(X,Y) gotoxy(60,11);printf(" Inserir ");/// Fica impresso na posição (60,11)inserir gotoxy(60,13);printf(" Excluir ");/// Fica impresso na posição (60,13) excluir gotoxy(60,15);printf(" Listar ") ;/// Fica impresso na posição (60,15) listar gotoxy(60,17);printf(" Buscar ") ;/// Fica impresso na posição (60,17) buscar } } int a_c,ant_l; void botao(){ if(ant_l==9){/// imprime os botões da linha 9 if (a_c==40){gotoxy(40,9);printf(" Aluno ");} else if(a_c==50){gotoxy(50,9);printf(" Pilha ");} else if(a_c==60){gotoxy(60,9);printf(" Fila ");} else if(a_c==70){gotoxy(70,9);printf(" Sobre ");} } else{ if(ant_l==11){/// imprime os botões da linha 11 if (a_c==40){gotoxy(37,11);printf(" Cadastrar Dados ");} else if(a_c==50){gotoxy(50,11);printf(" Inserir ");} else if(a_c==60){gotoxy(60,11);printf(" Inserir ");} } else if(ant_l==13){/// imprime os botões da linha 13 if (a_c==40){gotoxy(37,13);printf(" Mostrar Dados ");} else if(a_c==50){gotoxy(50,13);printf(" Excluir ");} else if(a_c==60){gotoxy(60,13);printf(" Excluir ");} } else if(ant_l==15){/// imprime os botões da linha 15 if (a_c==50){gotoxy(50,15);printf(" Listar ");} else if(a_c==60){gotoxy(60,15);printf(" Listar ");} } else if(ant_l==17){/// imprime os botões da linha 17 if (a_c==50){gotoxy(50,17);printf(" Buscar ");} else if(a_c==60){gotoxy(60,17);printf(" Buscar ");} } } } void cadastrar(int col){/// Função cadastro int d; textcolor(WHITE);/// Mantém o texto em branco textbackground(LIGHTBLUE);/// Coloração para tela for(d=0;d<124;d++){/// Forma um retângulo if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE);/// Colore todo o interior do retângulo de azul, tentei fazer com FOR mas não deu certo gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } }/// Fim do retângulo gotoxy(4,2);///posição em que será impresso os dados abaixo printf("Digite o nome completo:");/// Acrescenta dados na estrutura em nome completo gets(studnt.nome_completo); gotoxy(4,3); printf("Digite o RGA:");/// Acrescenta dados na estrutura em RGA gets(studnt.rga); gotoxy(4,4); printf("Digite o seu endere%co:",135);/// Acrescenta dados na estrutura em endereço gets(studnt.endereco); gotoxy(4,5); printf("Digite o seu E-mail:");/// Acrescenta dados na estrutura em email gets(studnt.email); gotoxy(4,6); printf("Digite o nome do seu pai:");/// Acrescenta dados na estrutura em nome pai gets(studnt.nome_pai); gotoxy(4,7); printf("Digite o nome da sua m%ce:",132);/// Acrescenta dados na estrutura em nome mãe gets(studnt.nome_mae); gotoxy(4,8); printf("Digite o seu numero de telefone:");/// Acrescenta dados na estrutura em telefone gets(studnt.celular); gotoxy(4,9); printf("Digite a sua data de nascimento:");/// Acrescenta dados na estrutura em data nascimento gets(studnt.data_nascimento); gotoxy(4,10); printf("Digite a cidade onde mora:"); gets(studnt.cidade); gotoxy(4,11); printf("Digite o bairro onde mora:"); gets(studnt.bairro); gotoxy(4,12); printf("Digite o curso:"); gets(studnt.curso); gotoxy(4,13); printf("Digite o semetre:"); gets(studnt.semestre); gotoxy(4,14); printf("Digite campus:"); gets(studnt.campus); gotoxy(26,16); printf("Cadastro realizado com sucesso!"); gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpa a tela Menu(col);/// Faz a chamada da função MENU } void mostrar_dados(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(33,2); printf("LISTA DE CADASTRO");/// Leitura dos dados que foram colocados na ESTRUTURA pela função CADASTRO gotoxy(4,3); printf("RGA: %s",studnt.rga); gotoxy(4,4); printf("Nome: %s",studnt.nome_completo); gotoxy(4,5); printf("Nome do pai: %s",studnt.nome_pai); gotoxy(4,6); printf("Nome da mae: %s",studnt.nome_mae); gotoxy(4,7); printf("curso: %s",studnt.curso); gotoxy(4,8); printf("Semestre:%s",studnt.semestre); gotoxy(4,9); printf("Campus:%s",studnt.campus); gotoxy(4,10); printf("Endereco: %s",studnt.endereco); gotoxy(4,11); printf("Bairro: %s",studnt.bairro); gotoxy(4,12); printf("Cidade: %s",studnt.cidade); gotoxy(4,13); printf("Numero de telefone: %s",studnt.celular); gotoxy(4,14); printf("Data de nascimento: %s",studnt.data_nascimento); gotoxy(4,15); printf("E-mail: %s",studnt.email); gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } int vetorPilha[max]; int topo=0; void incluir_pilha(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); if (topo == max) { printf("A Pilha está cheia!\n"); } else { gotoxy(33,2); printf("PREENCHER PILHA"); gotoxy(4,3); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,4); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,5); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,6); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,7); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,8); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,9); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,10); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,11); scanf("%d", &vetorPilha[topo]); topo++; gotoxy(4,12); scanf("%d", &vetorPilha[topo]); topo++; } gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } int vetorFila[max]; void incluir_fila(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(33,2); printf("PREENCHER FILA"); if (topo == max) { gotoxy(4,3); printf("A FILA EST%c CHEIA!",181); } else { gotoxy(4,3); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,4); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,5); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,6); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,7); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,8); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,9); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,10); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,11); scanf("%d", &vetorFila[topo]); topo++; gotoxy(4,12); scanf("%d", &vetorFila[topo]); topo++; } gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void listar_pilha(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(33,2); printf("LISTANDO PILHA"); gotoxy(4,3); printf("%d",vetorPilha[0]); gotoxy(4,4); printf("%d",vetorPilha[1]); gotoxy(4,5); printf("%d",vetorPilha[2]); gotoxy(4,6); printf("%d",vetorPilha[3]); gotoxy(4,7); printf("%d",vetorPilha[4]); gotoxy(4,8); printf("%d",vetorPilha[5]); gotoxy(4,9); printf("%d",vetorPilha[6]); gotoxy(4,10); printf("%d",vetorPilha[7]); gotoxy(4,11); printf("%d",vetorPilha[8]); gotoxy(4,12); printf("%d",vetorPilha[9]); gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void listar_fila(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(33,2); printf("LISTANDO FILA"); if (topo == 0) { gotoxy(4,3); printf("Fila VAZIA!!"); } else { gotoxy(4,3); printf("%d",vetorFila[0]); gotoxy(4,4); printf("%d",vetorFila[1]); gotoxy(4,5); printf("%d",vetorFila[2]); gotoxy(4,6); printf("%d",vetorFila[3]); gotoxy(4,7); printf("%d",vetorFila[4]); gotoxy(4,8); printf("%d",vetorFila[5]); gotoxy(4,9); printf("%d",vetorFila[6]); gotoxy(4,10); printf("%d",vetorFila[7]); gotoxy(4,11); printf("%d",vetorFila[8]); gotoxy(4,12); printf("%d",vetorFila[9]); } gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void excluir_pilha(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(33,2); printf("REMO%c%cO DE ELEMENTO",128,142); if (topo == 0) { gotoxy(4,3); printf("A PILHA EST%c VAZIA!\n",181); } else { gotoxy(4,4); printf("RETIRANDO O VALOR [%d] DA PILHA... ", vetorPilha[topo-1]); topo--; } gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } int aux[]; void excluir_fila(int col){ int d; int i; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); if(topo==0) { gotoxy(4,3); printf("A FILA EST%c VAZIA.",181); } else { gotoxy(4,3); printf("Elemento [%d] REMOVIDO!\n", vetorFila[0]); for (i =0; i<= topo -1 ; i++) { vetorFila[i] = aux[i+1]; } } topo--; gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void buscar_pilha(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void buscar_fila(int col){ int d; textcolor(WHITE); textbackground(LIGHTBLUE); for(d=0;d<124;d++){ if(d<83){ gotoxy(d,1); printf("%c",205); gotoxy(d,26); printf("%c",205); } gotoxy(83,1); printf("%c",187); gotoxy(83,26); printf("%c",188); gotoxy(1,1); printf("%c",201); gotoxy(1,26); printf("%c",200); textbackground(LIGHTBLUE); gotoxy(2,2); printf(" "); gotoxy(2,3); printf(" "); gotoxy(2,4); printf(" "); gotoxy(2,5); printf(" "); gotoxy(2,6); printf(" "); gotoxy(2,7); printf(" "); gotoxy(2,8); printf(" "); gotoxy(2,9); printf(" "); gotoxy(2,10); printf(" "); gotoxy(2,11); printf(" "); gotoxy(2,12); printf(" "); gotoxy(2,13); printf(" "); gotoxy(2,14); printf(" "); gotoxy(2,15); printf(" "); gotoxy(2,16); printf(" "); gotoxy(2,17); printf(" "); gotoxy(2,18); printf(" "); gotoxy(2,19); printf(" "); gotoxy(2,20); printf(" "); gotoxy(2,21); printf(" "); gotoxy(2,22); printf(" "); gotoxy(2,23); printf(" "); gotoxy(2,24); printf(" "); gotoxy(2,25); printf(" "); if(d<26){ gotoxy(83,d); printf("%c",186); gotoxy(1,d); printf("%c",186); } } textbackground(LIGHTBLUE); gotoxy(20,18); printf("TECLE ENTER PARA VOLTAR AO MENU PRINCIPAL"); getch(); textbackground(0);/// Coloração preta para a tela clrscr();/// Limpeza da tela Menu(col);/// Chamada da função MENU } void sobre(int col){ gotoxy(60,11); printf("Esse Programa Ainda"); gotoxy(60,12); printf("Esta Sendo Criado !"); gotoxy(60,14); printf(" Tecle ! "); getch(); Menu(col); } int main(){ printf("Use As Setas Do Teclado Para Mover. Tecle ESC Para Sair"); int a=0,col=40,lin=9; Menu(col);/// Chama a função menu fazendo o desenho da tela textbackground(24); do{ a=0;/// Para cancelar o botão anterior a_c=col;/// Coluna anterior igual coluna atual ant_l=lin;/// Linha anterior igual linha atual gotoxy(col,lin );/// Vai para a posição do botão selecionado textbackground(12); textcolor(15); botao(col,lin);/// Colore o botão selecionado de vermelho if(kbhit()) a = getch(); /// pega a tecla digitada if(a == 224 )a = getch(); /// Se pegar caractere inválido if(a == enter){ /// Se presionar enter if (lin==9 && col==70 ) sobre(col);/// E se estiver na posição do botão sobre, então chama a função sobre else if(lin==11 && col == 40) cadastrar(col);/// E se estiver na posição do botão cadastro, então chama a função cadastro else if(lin==13 && col == 40)mostrar_dados(col);/// E se estiver na posição do botão mostrar_dados, então chama a função mostrar_dados else if(lin==11 && col == 50)incluir_pilha(col);/// E se estiver na posição do botão incluir_pilha, então chama a função incluir_pilha else if(lin==13 && col == 50)excluir_pilha(col);/// E se estiver na posição do botão excluir_pilha, então chama a função excluir_pilha else if(lin==15 && col == 50) listar_pilha(col);/// E se estiver na posição do botão listar_pilha, então chama a função listar_pilha else if(lin==17 && col == 50) buscar_pilha(col);/// E se estiver na posição do botão buscar_pilha, então chama a função buscar_pilha else if(lin==11 && col == 60)incluir_fila(col);/// E se estiver na posição do botão incluir_fila, então chama a função incluir_fila else if(lin==13 && col == 60)excluir_fila(col);/// E se estiver na posição do botão excluir_fila, então chama a função excluir_fila else if(lin==15 && col == 60) listar_fila(col);/// E se estiver na posição do botão listar_fila, então chama a função listar_fila else if(lin==17 && col == 60) buscar_fila(col);/// E se estiver na posição do botão buscar_fila, então chama a função buscar_fila } else if(a == direita )col+=10; /// Move o cursor para a esquerda else if(a == esquerda)col-=10; /// Move o cursor para a esquerda else if(a == abaixo )lin+=2;/// Move o cursor para baixo else if(a == acima )lin-=2;/// Move o cursor para cima if(col==70)lin=ant_l; /// O botão sobre não pode mover para baixo e nem para cima if(lin > 9)col=a_c; /// Se estiver nos botões de baixo não pode mover para os lados if(col<40)col=70; /// Se cursor passou da lateral direita volta para o lado esquerdo else if(col>70)col=40; /// Se cursor passou da lateral esquerda volta para o lado direita if(lin<9 && col == 40)lin=13;/// Se cursor passou da linha de cima volta para a linha de baixo else if(lin<9 && (col == 50||col==60))lin=17;/// Se passou da linha de cima em relação aos botões de PILHA e FILA, volta para linha de baixo else if(lin>13 && col == 40)lin=9;/// Se passou da linha de baixo em relação ao botão ALUNO, volta para linha de cima else if(lin>17 && (col == 50||col==60))lin=9;/// Se passou da linha de baixo em relação aos botões de PILHA e FILA, volta para linha de cima textbackground(24 ); textcolor(0 ); gotoxy(a_c,lin);/// Onde o cursor estiver if(a_c != col || ant_l != lin){/// Se a variável a_c for diferente da variável col e ant_1 for diferente de lin Menu(col);/// Chama a função menu gotoxy(a_c,lin);/// Onde estiver o cursor botao();/// chama a função botão para a impressão dos botões } gotoxy(36,1); Sleep(10); }while( a != 27 );/// O ciclo funciona enquanto não for clicado ESC textcolor(7); textbackground(0); gotoxy(78,26); return 0; } o código ficou um pouco extenso, mas ainda faltam algumas coisas...
  2. Obrigado pela ideia @devair1010 e todo o pessoal que ajudou com as dicas... postarei o código completo aqui quando finalizado.
  3. #define esquerda 75 #define direita 77 #define abaixo 80 #define acima 72 #define ESC 27 #define ENTER 13 int a_c,d; void botao(){/// botão para o menu principal. if (a_c==40)printf(" Aluno "); else if(a_c==50)printf(" Pilha "); else if(a_c==60)printf(" Fila "); else if(a_c==70)printf(" Sobre "); } void botao1(){///botão para aluno if (a_c==40 && d==11)printf("Cadastrar Dados" ); else if(a_c==40 && d==13)printf("Listar Dados" ); } void botao2(){///botão para pilha if (a_c==50 && d==11)printf("Inserir"); else if(a_c==50 && d==13)printf("Excluir"); else if(a_c==50 && d==15)printf("Listar"); else if(a_c==50 && d==17)printf("Buscar"); } void sobre(){///fução sobre gotoxy(60,11); printf("Esse Programa Ainda"); gotoxy(60,12); printf("Esta Sendo Criado !"); gotoxy(60,14); printf(" Tecle ! "); getch(); Menu(); } void Cadastro(){///função cadastro só para teste. gotoxy(40,20); printf("gg"); getch(); Menu(); mover_esquerda_direita(); } void mover_esquerda_direita(){///função para mover o cursor para esquerda e direita int a=0,col=40,lin=9; textbackground(24); do{///inicio do ciclo a=0; a_c=col; d =lin; gotoxy(col,lin );///col=x e lin=y textbackground(12); textcolor(15); botao();///chamada da função do menu principal if(kbhit()) a = getch(); /// Inicio do Cursor if(a == 224 )a = getch(); /// se pegar caractere inválido if((a == 13) && (col==70)){sobre();}///caso a==13 e col na posição 70 então a função sobre é chamada if(a == direita )col+=10; /// Move o cursor para a esquerda else if(a == esquerda)col-=10; /// Move o cursor para a esquerda if(col<40)col=70;///se col for menor que 40 então col vai para a posição 70 else if(col>70)col=40;///se col for maior que 70 então col vai para posição 40 textbackground(24 ); textcolor(0 ); gotoxy(a_c,lin); if(a_c != col)botao();///para controle de cores gotoxy(1,1); Sleep(10); }while( a != 80 );///o laço só termina quando for teclado baixo if ((a==80)){/// se a==abaixo então a função mover_baixo_cima_aluno é chamada /*mover_baixo_cima_aluno();*////porém ainda estou pensando em uma lógica para acrescentar todas as funções ///para acima e abaixo DIFICULDADE AQUI!!! mover_baixo_cima_pilha(); } } void mover_baixo_cima_aluno(){ int a=0,col=40,lin=9; textbackground(24); do{ a=0; col=40; d =lin; gotoxy(col,lin ); textbackground(12); textcolor(15); botao1(); if(kbhit()) a = getch(); /// Inicio do Cursor if(a == 224 )a = getch();/// se pegar caractere inválido if(a==13 && col==40 && lin==11)Cadastro();///caso a==13 e col na posição 40 e lin na posição 11 ///então a função sobre é chamada if(a==abaixo)lin+=2;///se for teclado abaixo lin soma 2 na posição else if(a==acima)lin-=2;///caso contrário lin subtrai 2 na posição if(lin<9){///controle para que o cursor não saia do menu gotoxy(col,13); lin=13;}///se lin for menor que 9 então a posição assumida sera 13 else if(lin>13){ gotoxy(col,9); lin=9;///se lin for maior que 13 então a posição assumida será 9 } textbackground(12 ); textcolor(0 ); gotoxy(col,lin); if(d = lin)botao1();///controle de cores gotoxy(1,1); Sleep(10); }while(a != 75);///o laço funciona até que seja teclado para esquerda if(a==75){///se a==esquerda Menu();///chamada da função menu para a tela inicial voltar mover_esquerda_direita();}///chamada da função mover_esquerda_direita ///para controle das setas } void mover_baixo_cima_pilha(){///mesma lógica da função mover_baixo_cima_aluno int a=0,col=50,lin=9; textbackground(24); do{ a=0; col=50; d =lin; gotoxy(col,lin ); textbackground(12); textcolor(15); botao2(); if(kbhit()) a = getch(); if(a == 224 )a = getch(); if(a==abaixo)lin+=2; else if(a==acima)lin-=2; if(lin<9){ gotoxy(col,17); lin=17;} else if(lin>17){ gotoxy(col,9); lin=9; } textbackground(12 ); textcolor(0 ); gotoxy(col,lin); if(d = lin)botao2(); gotoxy(1,1); Sleep(10); }while(a != 75); if(a==75){ Menu(); mover_esquerda_direita();} } int main(){ Menu(); mover_esquerda_direita(); textcolor(7); textbackground(0); gotoxy(78,26); return 0; } pensei um pouco e decidi dividir em funções... ficou dessa maneira, mas a dificuldade agora é colocar todas as funções para cima e para baixo quando for teclado esquerda ou direita. E muito abrigado pelas dicas pessoal, tão ajudando bastante.
  4. abaixo do botão aluno terá os botões cadastrar dados e mostrar dados; abaixo de pilha e fila terá os botões Inserir, Excluir, Listar e Buscar. essas funções estão prontas, somente o menu que ta dando dor de cabeça
  5. int main(){ Menu(); int a=0,col=40,lin=9; textbackground(24); do{ a=0; a_c=col; d =lin; gotoxy(col,lin ); textbackground(12); textcolor(15); botao(); if(kbhit()) a = getch(); /// Inicio do Cursor if(a == 224 )a = getch(); /// se pegar caractere inválido if(a == 13 && col==70)sobre(); if(a == direita )col+=10; /// Move o cursor para a esquerda else if(a == esquerda)col-=10; /// Move o cursor para a esquerda if(col<40)col=70; else if(col>70)col=40; gotoxy(col,lin); textbackground(20); textcolor(16); botao1(); if(a==abaixo)lin+=2; else if(a==acima)lin-=2; if(lin<9)lin=13; else if(lin>13)lin=9; textbackground(24 ); textcolor(0 ); gotoxy(a_c,lin); if(a_c != col)botao(); if(d!=lin)botao1(); gotoxy(1,1); Sleep(10); }while( a != 27 ); Fiz dessa outra forma, desce e sobe porém ta meio estranho... fiz somente para aluno para testar adicionado 7 minutos depois nesse menu, abaixo dos botões Aluno, pilha e fila terá outros botões que quando apertado enter chamará as respectivas funções, eu tenho as funções prontas separadas, a dificuldade mesmo ta em implementar a interatividade para baixo e cima... OBS: vou tentar colocar os outros botões e envio o código aqui
  6. #include<conio2.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include <windows.h> void Menu(){ textbackground(1); int c; for(c=10; c<25; c++){ gotoxy(37,c); printf(" "); } textbackground(LIGHTBLUE); textcolor(WHITE); for(c=35; c<=80; c++){ gotoxy(c,8); printf("%c", 205); gotoxy(c,10); printf("%c", 205); gotoxy(c,22); printf("%c", 205); gotoxy(c,24); printf("%c", 205); } for(c=8; c<=24; c++){ gotoxy(35,c); printf("%c", 186); if(c<21 && c>=10){ gotoxy(35,c+1); printf(" ");} gotoxy(80,c); printf("%c", 186); } gotoxy(35,8); printf("%c", 201); gotoxy(35,24); printf("%c", 200); gotoxy(80,8); printf("%c", 187); gotoxy(80 , 24); printf("%c", 188); gotoxy(35,10); printf("%c", 204); gotoxy(80,10); printf("%c", 185); gotoxy(35,22); printf("%c", 204); gotoxy(80,22); printf("%c", 185); textbackground(24); textcolor(BLUE); gotoxy(39,13); gotoxy(36,9); printf(" "); textcolor(BLACK); gotoxy(40, 9 ); printf(" Aluno" ); gotoxy(50, 9 ); printf(" Pilha" ); gotoxy(60, 9 ); printf(" Fila" ); gotoxy(70, 9 ); printf(" Sobre" ); textbackground(LIGHTBLUE); gotoxy(36,23); printf(" "); textbackground(BLACK); gotoxy(37,25); printf(" "); } #define esquerda 75 #define direita 77 #define abaixo 80 #define acima 72 #define ESC 27 #define ENTER 13 int a_c,d; void botao(){ if (a_c==40)printf(" Aluno "); else if(a_c==50)printf(" Pilha "); else if(a_c==60)printf(" Fila "); else if(a_c==70)printf(" Sobre "); } void botao1(){ if (a_c==40 && d==11)printf("Cadastro" ); else if(a_c==40 && d==13)printf("Mostrar" ); } void sobre(){ gotoxy(60,11); printf("Esse Programa Ainda"); gotoxy(60,12); printf("Esta Sendo Criado !"); gotoxy(60,14); printf(" Tecle ! "); getch(); Menu(); } void Cadastro(){///só para teste. gotoxy(40,20); printf("gg"); getch(); Menu(); } int main(){ Menu(); int a=0,col=40,lin=9; textbackground(24); do{ a=0; a_c=col; d =lin; gotoxy(col,lin ); textbackground(12); textcolor(15); botao(); if(kbhit()) a = getch(); /// Inicio do Cursor if(a == 224 )a = getch(); /// se pegar caractere inválido if(a == 13 && col==70)sobre(); if(a == direita )col+=10; /// Move o cursor para a esquerda else if(a == esquerda)col-=10; /// Move o cursor para a esquerda if(col<40)col=70; else if(col>70)col=40; do{ a=0; a_c=col; d =lin; gotoxy(col,lin );///col=x e lin=y. textbackground(12); textcolor(15); botao1(); ///faz a chama da função botao1. if(kbhit()) a = getch(); /// Inicio do Cursor. if(a == 224 )a = getch(); /// se pegar caractere inválido. if(a == 13 && lin==11 && col==40)Cadastro();///abre a função cadastro caso as condições sejam essas. if(a==abaixo)lin+=2;///se a seta abaixo for teclada a lin soma 2, ou seja de 9 passa a 11. else if(a==acima)lin-=2;///se a seta acima for teclada a lin subtrai 2. if(lin<9)lin=13; ///se lin for menor que 9 lin passa a ter o valor 13. else if(lin>13)lin=9;///se lin for maior que 13 lin passa a ter o valor 9. }while(a!=77 || a!=75 );///lógica que não está dando certo... textbackground(24 ); textcolor(0 ); gotoxy(a_c,lin); if(a_c != col)botao(); gotoxy(1,1); Sleep(10); }while( a != 27 ); textcolor(7); textbackground(0); gotoxy(78,26); return 0; } Mexendo mais um pouco eu consegui fazer mover o cursor para cima e baixo, mas agora não vai mais para os lados. As únicas mudanças que fiz foi acrescentar mais uma função botao1 e cadastro para teste.
  7. Eu entendi o código @devair1010 só estou tendo dificuldade de como fazer o cursor ir para baixo e para cima, eu implementei algumas linhas em cima do seu código, mas ao invés de descer o cursor o que ocorre é um print do que esta acima... alguma dica de como posso trabalhar melhor nisso? OBS: só estou comentando agora porque na faculdade e no estágio está muito corrido...
  8. muito obrigado pelo feedback pessoal, assim que terminar o código eu posto aqui.
  9. concordo com você, mas quem manda é o professor... se não for feito desse jeito a nota não vem haha... valeu pelo comentário
  10. #include<conio2.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> void Menu(){ textbackground(1); int c; for(c=10; c<=25; c++){ gotoxy(37,c); printf(" "); } textbackground(LIGHTBLUE); textcolor(WHITE); for(c=35; c<=80; c++){ gotoxy(c,8); printf("%c", 205); gotoxy(c,10); printf("%c", 205); gotoxy(c,22); printf("%c", 205); gotoxy(c,24); printf("%c", 205); } for(c=8; c<=24; c++){ gotoxy(35,c); printf("%c", 186); if(c<21 && c>=10){ gotoxy(35,c+1); printf(" ");} gotoxy(80,c); printf("%c", 186); } gotoxy(35,8); printf("%c", 201); gotoxy(35,24); printf("%c", 200); gotoxy(80,8); printf("%c", 187); gotoxy(80 , 24); printf("%c", 188); gotoxy(35,10); printf("%c", 204); gotoxy(80,10); printf("%c", 185); gotoxy(35,22); printf("%c", 204); gotoxy(80,22); printf("%c", 185); gotoxy(38,12); //printf(""); gotoxy(38,150); //printf(""); textbackground(24); textcolor(BLUE); gotoxy(39,13); gotoxy(36,9); printf(" "); textcolor(BLACK); gotoxy(40, 9); printf("Aluno"); gotoxy(50,9); printf("Pilha"); gotoxy(58, 9); printf("Fila"); gotoxy(67,9); printf("Sobre"); textbackground(LIGHTBLUE); gotoxy(36,23); printf(" "); textbackground(BLACK); gotoxy(37,25); printf(" "); } #define esquerda 75 #define direita 77 #define abaixo 80 #define acima 72 #define ESC 27 int main() { Menu(); int a, d=0; do{ a = getch(); // Inicio do Cursor if(a==direita){//Move o cursor para a esquerda d++; if(d==0){ gotoxy(40,9); } if(d==1){ gotoxy(50, 9); } if(d==2){ gotoxy(58, 9); } if(d==3){ gotoxy(67, 9); } if(d==4){ gotoxy(40, 9); } if(d==4){d=0;} } if(a == esquerda){ // Move o cursor para a esquerda d--; if(d==1) { gotoxy(50, 9); } if(d==2){ gotoxy(58, 9); } if(d==3){ gotoxy(67, 9); } if(d==0){ gotoxy(67, 9); } } }while(a!=27); return 0; } como posso fazer para que o menu fique "automático", ou seja, quando ele chegar em sobre e eu der mais um click na seta direita ele volte para aluno, sem bugar... ja tentei com laços e nada.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...