Ir ao conteúdo

Posts recomendados

Postado
#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. 

 

 

  • Amei 1
Postado
4 horas atrás, Luís Roberto C. da Silva disse:

Meu Deus do Céu, o que é isso!? Você tem que refazer esse código com urgência. Não se usa goto, isso é uma aberração que já deveria ser extinta e nenhuma linguagem moderna tem mais.

Não confunda goto com gotoxy.

adicionado 22 minutos depois

Veja se assim funciona:

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 > 3) { d = 0; }

			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 (a == esquerda) { // Move o cursor para a esquerda
			d--;
			if (d < 0) d = 3;
			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;
}

P.S. se possível, user switch//case aos invés desses vários "if"

  • Curtir 2
  • Obrigado 1
Postado

 

@Samuel Vasconcelos   @Samuel Vasconcelos    para mover o cursor você verifica se ele passou para além da última posição possível , e caso tenha passado volte para a primeira posição ,  então seu código com algumas modificações  poderia ser assim  :

#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
int a_c;
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 sobre(){
    gotoxy(60,11);
    printf("Esse Programa Ainda");
    gotoxy(60,12);
    printf("Esta Sendo Criado !");
    gotoxy(60,14);
    printf("  Tecle ! ");
    getch();
    Menu();
}
int main(){
    Menu();
    int a=0,col=40,lin=9;
    textbackground(24);
    do{
        a=0;
        a_c=col;
        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;
        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;
}

 

  • Obrigado 1
  • 4 semanas depois...
Postado

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... 

  • Curtir 1
Postado
#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.

  • Amei 1
Postado

@Samuel Vasconcelos     entao esse menu terah 12 botões , sendo 4 em cada linha  ?   mas para mover os botões para baixo , nao precisa de outro. Do/While  , deixe apenas quele mesmo e acrescente o codigo para somar ou subtrair as  linhas , do jeito que voce fez mesmo , assim de acordo com a coluna e linha ele vai colorir de vermelho aquele botao que esta naquela posicao , e na hora que precionar enter ele vai verificar qual botao esta selecionado e ir para a funcao  referente  .

  • Obrigado 1
Postado
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

  • Obrigado 1
Postado
10 minutos atrás, Samuel Vasconcelos disse:

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 1 minuto depois

tente alterar o trecho 

if(a == 13 && col==70)

    sobre();

 

Para

if((a== 13) &&(col==70))

    sobre();

  • Curtir 1
  • Obrigado 1
Postado

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

  • Obrigado 1
Postado
#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.

  • Curtir 1
Postado

@Samuel Vasconcelos    se seu menu for assim  :

1562893860_menuselecionvel.thumb.jpg.c138d6d6a6630a9c689c3ce6e9edab91.jpg

então você pode usar um código parecido com esse aqui   :

#include <conio2.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void Movement();
int flag,w,rj;
void Menu(int col){
    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);
    if( flag ){
    if(col==40){
        gotoxy(37,11);printf(" Cadastrar Dados ");
        gotoxy(37,13);printf(" Mostrar Dados ");
    }
    else
        if(col==50){
            gotoxy(50,11);printf(" Inserir ");
            gotoxy(50,13);printf(" Excluir ");
            gotoxy(50,15);printf(" Listar ");
            gotoxy(50,17);printf(" Buscar ");
        }
        else
            if(col==60){
                gotoxy(60,11);printf(" Inserir ");
                gotoxy(60,13);printf(" Excluir ");
                gotoxy(60,15);printf(" Listar ");
                gotoxy(60,17);printf(" Buscar ");
            }
    }
}
#define esquerda 75
#define direita  77
#define abaixo   80
#define acima    72
#define ESC      27
#define enter    13
int a_c,ant_l,flag;
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( flag ){*/
        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(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no cadastrar Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void mostrar_dados(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no mostrar_dados Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void incluir_pilha(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no incluir Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void incluir_fila(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no incluir Fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void listar_pilha(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no listar Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void listar_fila(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no listar Fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                            \n           ");
}
void excluir_pilha(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no excluir Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                             \n           ");
}
void excluir_fila(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no excluir fila para Apenas hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                              \n           ");
}
void buscar_pilha(){
    textcolor(15);
    textbackground(0);
    gotoxy(1,3);
    printf("esta no buscar Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                             \n           ");
}

void buscar_fila(){
    textbackground(0);
    gotoxy(1,3);
    printf("esta no buscar fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
    gotoxy(1,3);
    printf("                                              \n           ");
}
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);
    flag=0;
}
int main(){
    printf("Use As Setas Do Teclado Para Mover.   Tecle ESC Para Sair");
    int a=0,col=40,lin=9,temp=0,mov=0;
    Menu(col);/* desenha a tela */
    textbackground(24);
    do{
        a=0;/* para cancelar o botão anterior */
        temp=0;
        a_c=col;/* cuoluna 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 digitadsa */
        if(a == 224 )a =      getch(); /* se pegar caractere inválido*/
        if(a == enter){                /* se presionar enter */
            if(lin==9){if(flag==0)flag=1;else flag=0;   }/* flag igual 1 mostrar botões de baixo */
            if(lin==9){if(temp==0)temp=1;else temp=0;   }
            if     (lin== 9 && col == 70)     sobre(col);
            else if(lin==11 && col == 40)    cadastrar();
            else if(lin==13 && col == 40)mostrar_dados();
            else if(lin==11 && col == 50)incluir_pilha();
            else if(lin==13 && col == 50)excluir_pilha();
            else if(lin==15 && col == 50) listar_pilha();
            else if(lin==17 && col == 50) buscar_pilha();
            else if(lin==11 && col == 60)incluir_fila( );
            else if(lin==13 && col == 60)excluir_fila( );
            else if(lin==15 && col == 60) listar_fila( );
            else if(lin==17 && col == 60) 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  ){    /* move o cursor para baixo */
                        lin+=2;
                        if(lin==11){
                            if(flag==0)flag=1;
                            temp=1;
                        }
                    }
                    else
                        if(a == acima  ){   /* move o cursor para cima */
                            lin-=2;
                            if(lin<=9){
                                flag=0;
                                temp=1;
                                ant_l=lin;
                            }
                        }
        if( temp ){Menu(col);botao(col,lin);}
        if(col==70 || ! flag )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)lin=9;/* se cursor passou da linha de cima volta para a linha de baixo */
        else
            if(lin>13 && col == 40)lin=13;
            else
                if(lin>17 && (col == 50||col==60))lin=17;
        textbackground(24   );
        textcolor(0         );
        gotoxy(a_c,lin);
        if(a_c != col || ant_l != lin){
            Menu(col);
            gotoxy(a_c,lin);
            botao();
        }
        gotoxy(59,1);
        mov++;
        if(mov==1000){
            Movement();
            mov=0;
        }
    }while( a != 27 );
    textcolor(7);
    textbackground(0);
    gotoxy(78,26);
    return 0;
}
void Movement(){
    int carac[4]={179,47,196,92};
    textbackground(14);
    textcolor(12);         
    gotoxy(2,14);printf("      ");
    gotoxy(2,16);printf("      ");
    gotoxy(5,15);
    printf(" %d  ",9-rj);                   /* contagem decrescente                    */
    if(kbhit())w=getch();
    gotoxy(1,15);
    printf("  %c  ",carac[w]);            /* gira o caractere na tela                */
    w++;
    if(w>3)w=0;
    rj++;
    if(rj>9)rj=0;
}

 

  • Curtir 1
Postado

@Samuel Vasconcelos       hum refinamento no código e algumas animações :

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <math.h>
/*             0     1    2     3   4      5      6      7         8  */
typedef enum{BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,DARKGRAY,   /* nome das cores */
LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE} COLORS;
/*  9         10         11        12        13         14    15 */

static int __BACKGROUND = 0/*BLACK*/;/*pode ser o numero ou o nome da cor*/
static int __FOREGROUND = LIGHTGRAY;

void textcolor2 (int letras, int fundo){/*para mudar a cor de fundo mude o background*/
    __FOREGROUND = letras;
    __BACKGROUND = fundo;
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
    letras + (__BACKGROUND << 4));
}
                  /* y = linha de 0 a 24 , x = coluna de 0 a 80 */
void gotoxy2(int x, int y){/*imprimir na linha e coluna desejada */
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

void Movement();
void desenha (int co_i, int li_i, int caract[], int w );
void circle();
void apaga_bola(int ant_cs, int ant_sn);
void desenha_bola(int cs, int sn);
int flag,rj,b,a_c,w,w2,ant_l,mov,mov2=6;
int ant_cs,ant_sn;
float circulo,cs[3],sn[3];
int bola[3]={6,9,6};
int pos[25]={35,8,201,35,10,204,35,22,204,35,24,200,
             79,8,187,79,10,185,79,22,185,79,24,188};
int carac[105]={
     16, 16, 16, 16, 16, 16, 16,
      8,  8, 16, 16, 16, 32, 32,
      4,  8,  8, 16, 32, 32, 64,
      0,  4,  8, 16, 32, 64,  0,
      0,  2, 12, 16, 96,128,  0,
      0,  0,  6, 56,192,  0,  0,
      0,  0,  2,124,128,  0,  0,
      0,  0,  0,254,  0,  0,  0,
      0,  0,128,124,  2,  0,  0,
      0,  0,192, 56,  6,  0,  0,
      0,128, 64, 56,  4,  2,  0,
      0, 64, 32, 16,  8,  4,  0,
     32, 32, 32, 16,  8,  8,  8,
     32, 32, 16, 16, 16,  8,  8,
     32, 16, 16, 16, 16, 16,  8
};
int carac2[70]={                                  //  decimal  Binário
    124,130,130,126,  2,130,124,/* Digito  9 */   //  124 --> 01111100 --| os bits setados ( = 1 ) forma o dígito
    124,130,124,130,130,130,124,/* Digito  8 */   //  130 --> 10000010   |
    254,  2, 12, 16, 96, 64, 64,/* Digito  7 */   //  130 --> 10000010   |
    124,128,188,194,130,130,124,/* Digito  6 */   //  126 --> 01111110   |-- Digito Nove
    252,128,252,  2,  2,130,124,/* Digito  5 */   //  2 ----> 00000010   |
     28, 36, 68,132,252,  4, 62,/* Digito  4 */   //  130 --> 10000010   |
    124,130,  2, 28,  2,130,124,/* Digito  3 */   //  124 --> 01111100 --|
    124,130,  2, 28, 96,128,252,/* Digito  2 */
     16, 112, 16, 16,16, 16,124,/* Digito  1 */
     56, 68,138,146,162, 68, 56 /* Digito  0 */
};
void botos_de_baixo(int col){
    if( flag ){
    if(col==40){
        gotoxy2(37,11);printf(" Cadastrar Dados ");
        gotoxy2(37,13);printf(" Mostrar   Dados ");
    }
    else
        if(col!= 70){
            gotoxy2(col,11);printf(" Inserir ");
            gotoxy2(col,13);printf(" Excluir ");
            gotoxy2(col,15);printf(" Listar  ");
            gotoxy2(col,17);printf(" Buscar  ");
        }
    }
    gotoxy2(59,1);
}
void menu2(int col){
    textcolor2(15,9);
    for(b=11;b<18;b++){
        gotoxy2(37,b);
        printf("                                ");
    }
    gotoxy(40,10);
    textcolor2(0,24);
    printf("  Aluno     Pilha     Fila      Sobre");
    botos_de_baixo(col);
    gotoxy2(59,1);
}
void Menu(int col){
    textcolor2(WHITE,LIGHTBLUE);
    for(b=8;b<25;b++){
        gotoxy2(35,b);
        printf("%c                                           %c",186,186);
    }
    for(b=36;b<79;b++){
        for(w=8;w<11;w+=2){
            gotoxy2(b,w);
            printf("%c",205);
            gotoxy2(b,w+14);
            printf("%c",205);
        }
    }
    for(b=0;b<24;b+=3){
        gotoxy2(pos[b],pos[b+1]);
        printf("%c",pos[b+2]);
    }
    textcolor2(WHITE,8);
    gotoxy2(36,9);
    printf("                                           ");
    menu2(col);
    botos_de_baixo(col);
    gotoxy2(59,1);w=0;
}
#define esquerda 75
#define direita  77
#define abaixo   80
#define acima    72
#define ESC      27
#define enter    13
#define pi 3.141592

void botao(){/* colorir botão de vermelho */
    if(ant_l==9){/* imprime o botões da linha 9 */
        if     (a_c==40){gotoxy2(40,9);printf(" Aluno ");}
        else if(a_c==50){gotoxy2(50,9);printf(" Pilha ");}
        else if(a_c==60){gotoxy2(60,9);printf(" Fila  ");}
        else if(a_c==70){gotoxy2(70,9);printf(" Sobre ");}
    }
    else{
        if(ant_l==11){/* imprime o botões da linha 11 */
            if(a_c==40){gotoxy2(37,11);printf(" Cadastrar Dados ");}
            else{ if(a_c==50)gotoxy2(50,11);
            else  if(a_c==60)gotoxy2(60,11);
            printf(" Inserir ");           }
        }
        else
            if(ant_l==13){/* imprime o botões da linha 13 */
                if(a_c==40){gotoxy2(37,13);printf(" Mostrar   Dados ");}
                else{if(a_c==50)gotoxy2(50,13);
                else if(a_c==60)gotoxy2(60,13);
                printf(" Excluir ");          }
            }
            else
                if(ant_l==15){/* imprime o botões da linha 15 */
                    if     (a_c==50)gotoxy2(50,15);
                    else if(a_c==60)gotoxy2(60,15);
                    printf(" Listar  ");
                }
                else
                    if(ant_l==17){/* imprime o botões da linha 17 */
                        if     (a_c==50)gotoxy2(50,17);
                        else if(a_c==60)gotoxy2(60,17);
                        printf(" Buscar  ");
                    }
    }
}
void cadastrar(){
    printf("esta no cadastrar Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void mostrar_dados(){
    printf("esta no mostrar_dados Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void incluir_pilha(){
    printf("esta no incluir Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void incluir_fila(){
    printf("esta no incluir Fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void listar_pilha(){
    printf("esta no listar Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void listar_fila(){
    printf("esta no listar Fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void excluir_pilha(){
    printf("esta no excluir Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void excluir_fila(){
    printf("esta no excluir fila para Apenas hum teste !\n   Espere !");
    Sleep(2000);
}
void buscar_pilha(){
    printf("esta no buscar Pilha Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}

void buscar_fila(){
    printf("esta no buscar fila Apenas para hum teste !\n   Espere !");
    Sleep(2000);
}
void sobre(int col){
    gotoxy2(0,1);
    textcolor2(15,12);
    gotoxy2(60,11);
    printf("Esse Programa Ainda");
    gotoxy2(60,12);
    printf("Esta Sendo Criado !");
    gotoxy2(60,14);
    printf("  Tecle ! ");
    getch();
    Menu(col);
    flag=0;
    gotoxy2(59,1);
}
int main(){
    printf("\nUse As Setas Do Teclado Para Mover.   Tecle ESC Para Sair");
    int a,col=40,lin=9,temp;
    Menu(col)                                           ;/* desenha a tela                       */
    do{
        a=0                                             ;/* para cancelar o botão anterior       */
        temp=0                                          ;/* para não ir nas funções menu e botao */
        a_c=col                                         ;/* cuoluna anterior igual coluna atual  */
        ant_l=lin                                       ;/* linha anterior igual linha atual     */
        gotoxy2(col,lin)                                ;/* na posição do botão selecionado      */
        textcolor2(15,12)                               ;/* letras brancas com fundo vermelho    */
        botao(col,lin)                                  ;/* botão selecionado fica vermelho      */
        if(kbhit())  a = getch()                        ;/* pega a tecla digitadsa               */
        if(a == 224 )a = getch()                        ;/* se pegar caractere inválido          */
        if(a == enter){                                  /* se presionar enter                   */
            textcolor2(15,0);gotoxy2(1,48)              ;/* branco com fundo preto na linha 48   */
            if(lin==9){if(flag==0)flag=1;else flag=0;   }/* mostrar ou não os botões de baixo    */
            if     (lin== 9 && col == 70)     sobre(col);/* bot sobre selec ir para a funç sobre */
            else if(lin==11 && col == 40)    cadastrar();/* bot cadas selec ir para a funç cadas */
            else if(lin==13 && col == 40)mostrar_dados();/* bot mos d selec ir para a funç mos d */
            else if(lin==11 && col == 50)incluir_pilha();/* bot inc p selec ir para a funç inc p */
            else if(lin==13 && col == 50)excluir_pilha();/* bot exc p selec ir para a funç exc p */
            else if(lin==15 && col == 50) listar_pilha();/* bot lis p selec ir para a funç lis p */
            else if(lin==17 && col == 50) buscar_pilha();/* bot bus p selec ir para a funç bus p */
            else if(lin==11 && col == 60)incluir_fila( );/* bot inc f selec ir para a funç inc f */
            else if(lin==13 && col == 60)excluir_fila( );/* bot exc f selec ir para a funç exc f */
            else if(lin==15 && col == 60) listar_fila( );/* bot lis f selec ir para a funç lis f */
            else if(lin==17 && col == 60) buscar_fila( );/* bot bus f selec ir para a funç bus f */
            temp=1;
            gotoxy2(1,3);
            textcolor2(15,0);
            printf("                                              \n           ");
        }
        else
            if(a == direita ){
                col+=10;                   // Move o cursor para a direita
                if(lin==9)flag=0;          /* não mostrar botões de baixo */
            }
            else
                if(a == esquerda){
                    col-=10;               // Move o cursor para a esquerda
                    if(lin==9)flag=0;      /* não mostrar botões de baixo */
                }
                else
                    if(a == abaixo  ){     /* mover para baixo                       */
                        lin+=2;            /* move o cursor para baixo               */
                        if(lin==11){
                            flag=1;        /* para mostrar os botões de baixo        */
                            temp=1;        /* para ir na função menu e botao         */
                        }
                    }
                    else
                        if(a == acima  ){  /* mover para cima                        */
                            lin-=2;        /* move o cursor para cima                */
                            if(lin<=9){    /* estiver na linha do menu ou acima dela */
                                flag=0;    /* para não mostrar os botões de baixo    */
                                temp=1;    /* para ir na função menu e botao         */
                                ant_l=lin; /* para limpar o botão anterior de baixo  */
                            }
                        }
        if(temp){menu2(col);botao(col,lin);}/* vai nas funções menu e botao           */
        if(col==70 || ! flag )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)lin=9;                    /* se cursor passou da linha de cima volta para a linha de baixo  */
        else
            if(lin>13 && col == 40)lin=13; /* se passou abaixo dos botõe abaixo de aluno , volta para cima   */
            else
                if(lin>17 && (col == 50||col==60))/*se passou abaixo dos botõe abaixo de pilha ou fila       */
                    lin=17;               /*  volta para cima                                                */
        if(a_c != col || ant_l != lin){
            menu2(col);
            gotoxy2(a_c,lin);
            botao();
        }
        gotoxy2(59,1);
        mov++;
        if(mov==300){
            Movement();
            mov=0;
        }
        if(b==mov)circle();
    }while( a != 27 );
    textcolor2(7,0);
    gotoxy2(0,25);
    return 0;
}
void Movement(){
    textcolor2(14,0);             /* primeiro a cor da letra , segundo a cor de fundo */
    gotoxy2(8,12);
    if(mov>299)mov2++;
    if(mov2>5){
        desenha(20,5,carac2,w2);  /* são os dígitos                                   */
        mov2=0;
        w2+=7;
        if(w2 > 69)w2=0;
    }                            /* contagem decrescente                              */
    textcolor2(10,0);            /*printf("valor w = %d",w);getch();                  */
    desenha(12,14,carac,w);      /* é o traço que gira                                */
    w+=7;
    if(w > 104)w=0;
    rj++;
    if(rj>9)rj=0;
    gotoxy2(59,1);
}
void circle(){
    int x1,grau=0;
    textcolor2(11,0);
    for(x1=0;x1<3;x1++){
        if(sn[x1]==0 && cs[x1]==0){
            ant_sn=12;
            ant_cs=22;
        }
        else{
            ant_cs=cs[x1];
            ant_sn=sn[x1];
        }
        gotoxy2(ant_cs,ant_sn);
        apaga_bola(ant_cs,ant_sn);
        sn[x1]=(float)sin((circulo+grau)*pi/180)*11+13;
        cs[x1]=(float)cos((circulo+grau)*pi/180)*13+14;
        gotoxy2(cs[x1],sn[x1]);
        desenha_bola(cs[x1],sn[x1]);
        grau+=120;
    }
    circulo+=8;
    if(circulo>360)circulo=0;
    b+=200;
    if(b>299)b=0;
    gotoxy2(59,1);
}
void apaga_bola(int ax, int ay){
    int j,y;
    for(j=0;j<3;j++){
        for(y=0;y<4;y++){
            gotoxy2(ax+y,ay+j);
            printf(" ");
        }
    }
    gotoxy2(59,1);
}
void desenha_bola(int x, int y){
    int j,m,s,n=0;
    for(j=0;j<3;j++){
        s=bola[n];
        for(m=0;m<4;m++){
            gotoxy2(x+m,y+j);
            if(s%2==0)printf(" ");
            else printf("%c",219);
            s/=2;
        }
        n++;
    }
}
void desenha(int co_i, int li_i, int caract[],int w){
    int x,y,q,co,li;
    li=li_i;
    for(x=0;x<7;x++){                  /* linhas */
        co=co_i;
        q=caract[x+w];
        for(y=0;y<8;y++){              /* colunas */
            gotoxy2(co,li);
            if(q % 2==0)printf(" ");
            else   printf("%c",219);
            co--;
            q/=2;
        }
        li++;
    }
}

 

  • Amei 1
Postado
#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...

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...