Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.92 KB | None | 0 0
  1. /*
  2.    @author Ramon Caldeira
  3. */
  4.  
  5. #include <windows.h>
  6. #include <stdio.h>
  7. #include <conio.h>
  8.  
  9. #define TEXT_NORMAL   15
  10. #define TEXT_REVERSE 240
  11.  
  12. #define ENTER 13
  13. #define UP    72
  14. #define DOWN  80
  15.  
  16. typedef short  COLOR;
  17.  
  18. void printxy(int x, int y, char* text);
  19. void setColor(COLOR c);
  20.  
  21. void Entrar();
  22. void Cadastrar();
  23. void Sair();
  24.  
  25.  
  26. struct OPTION {
  27.    char* description;
  28.    void (*function)();
  29. };
  30.  
  31. OPTION options[3] =
  32. {  {"Entrar", Entrar },
  33.    {"Cadastrar", Cadastrar },
  34.    {"Sair", Sair},
  35. };
  36.  
  37. int main() {
  38.    int selecionado= 0;
  39.    bool done = false;
  40.    char ch;
  41.    
  42.    do {
  43.       for(int i = 0; i < 3; i++) {
  44.          setColor((selecionado == i) ? TEXT_REVERSE : TEXT_NORMAL);
  45.          printxy(10, 5 + (i * 2), options[i].description);
  46.       }    
  47.      
  48.       ch = getch();
  49.      
  50.       switch(ch) {
  51.          case ENTER:
  52.             options[selecionado].function();
  53.             done = true;
  54.             break;
  55.          case UP:
  56.             selecionado = (selecionado == 0) ? 0 : selecionado - 1;
  57.             break;
  58.          case DOWN:
  59.             selecionado = (selecionado == 2) ? 2 : selecionado + 1;
  60.             break;
  61.       }
  62.      
  63.    } while(!done);
  64.  
  65.    getchar();
  66.    return 0;
  67. }
  68.  
  69. void printxy(int x, int y, char* text) {
  70.    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
  71.    COORD c = {x - 1, y - 1};
  72.    SetConsoleCursorPosition(hOut, c);
  73.    printf("%s", text);
  74. }
  75.  
  76. void setColor(COLOR c) {
  77.    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
  78.    SetConsoleTextAttribute(hOut, c);
  79. }
  80.  
  81. void Entrar() {
  82.    system("cls");
  83.    printf("NOME: \n\n");
  84.    printf("SENHA: ");
  85. }
  86.  
  87. void Cadastrar() {
  88.    int i=0;
  89.    
  90.    char nome[30];
  91.    char email[30];
  92.    char senha[20];
  93.    
  94.    system("cls");
  95.    
  96.    printxy(10, 5, "NOME: ");
  97.    gets(nome);
  98.    printxy(10, 10, "E-MAIL: ");
  99.    gets(email);
  100.    printxy(10, 15, "SENHA: ");
  101.    gets(senha);
  102. }
  103.  
  104. void Sair() {
  105.    exit(0);
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement