Como mostro meu código na Janela [C/C++; SDL]
26/09/2019
0
GALERA, TENHO O SEGUINTE CÓDIGO E QUERO QUE AS INFORMAÇÕES INTERAÇÃO COM O USUARIO APARECA NA JANELA DO SDL, COMO FAÇO ?
// g++ main.cpp -o main.exe -lSDLmain -lSDL -lGL #include<stdio.h> #include<stdlib.h> #include<time.h> #include<SDL/SDL.h> #include "SDL/SDL_opengl.h" #define TAM 10 int menu(); int sequencial(int elemento); int arvoreBinaria(int elemento); int insertion(int vetor[]); int arvore(int vetor[],int elemento); int main(){ // TESTE COM SDL SDL_Init(SDL_INIT_EVERYTHING); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); // NOME DA JANELA SDL_WM_SetCaption("ALGORITMOS DE BUSCA", NULL); //TAMANHO DA JANELA SDL_SetVideoMode(600, 400, 32, SDL_OPENGL); // COR glClearColor(1, 1, 1, 1); //area exibida glViewport(0, 0, 600, 400); // sombra glShadeModel(GL_SMOOTH); //2d glMatrixMode(GL_PROJECTION); glLoadIdentity(); glDisable(GL_DEPTH_TEST); //logica abaixo:::: printf("eai meu chamego"); SDL_Delay(10000); int vetor[TAM],i; FILE * arq = fopen("teste.txt","w"); if(arq==NULL){ printf("\nErro ao Abrir o Arquivo"); return 1; } srand(time(NULL)); for(i=0;i<TAM;i++){ vetor[i]=rand()%TAM; fprintf(arq,"%d ",vetor[i]); } fclose(arq); menu(); glClear(GL_COLOR_BUFFER_BIT); SDL_GL_SwapBuffers(); //codigo SDL SDL_Quit(); return -666; } void menu_principal(int &op){ printf( " \n + -------------------------------- + " " \n | MENU | " " \n + -------------------------------- + " " \n | 1 | BUSCA SEQUENCIAL | " " \n | 2 | BUSCA ARVORE BINARIA | " " \n | 3 | SAIR | " " \n + -------------------------------- + " ); printf("\n\nInsira o valor correspondente ao tipo de busca desejada:"); scanf("%d",&op); } int menu(){ int op,elemento,i; //clock_t tempo; menu_principal(op); while(op!=3){ printf("\n\nInsira o elemento a ser procurado:"); scanf("%d",&elemento); switch(op){ case 1: //tempo = clock(); sequencial(elemento); //tempo = clock() - tempo; //printf("TEMPO DE PROCESSAMENTO: %d milissegundos\n", tempo); //system("pause"); //system("clear"); break; case 2: //tempo = clock(); arvoreBinaria(elemento); //tempo = clock() - tempo; //printf("TEMPO DE PROCESSAMENTO: %d milissegundos\n", tempo); //system("PAUSE"); //system("clear"); break; case 3: break; default: fflush(stdin); printf("\nOpcao Invalida\n\n"); //system("pause"); //system("cls"); break; } menu_principal(op); } return 1; } int sequencial(int elemento){ FILE * arq = fopen("teste.txt","r"); int j; if(arq==NULL){ printf("\nErro ao Abrir o Arquivo"); return 1; } int k=0; while(!feof(arq)){ fscanf(arq,"%d ",&j); if(j==elemento){ printf("\n\nA posicao ocupada no arquivo eh %d\n\n",k); return 1; } k++; } printf("\nEste elemento nao esta incluso no arquivo\n"); fclose(arq); return 0; } int arvoreBinaria(int elemento){ FILE * arq = fopen("teste.txt","r"); int vetor[TAM],k=0,i; //INICIA O CONTADOR =0 , QUE SE NAO VAI DAR ERRO DE RUN TIME MSM if(arq==NULL){ printf("\nErro ao Abrir o Arquivo"); menu(); } while(!feof(arq)){ fscanf(arq,"%d ",&vetor[k]); k++; } vetor[TAM]=insertion(vetor); int pos; pos=arvore(vetor,elemento); if(pos!=-1){ printf("\nPosicao:%d\n\n",pos); fclose(arq); return pos; }else{ printf("\n\nElemento nao encontrado.\n\n"); fclose(arq); return -99; } fclose(arq); } int insertion(int vetor[]){ int i,j,esc; for(i=1;i<TAM;i++){ j=i-1; esc=vetor[i]; while((j>=0)&&(vetor[j]>esc)){ vetor[j+1]=vetor[j]; j--; } vetor[j+1]=esc; } return vetor[TAM]; } int arvore(int vetor[],int elemento){ int posini=0,posfim=TAM-1,posmeio; while (posini<=posfim){ posmeio=(posini+posfim)/2; if(vetor[posmeio]==elemento) return posmeio; else if(vetor[posmeio]<elemento) posini=posmeio+1; else posfim=posmeio-1; } return -1; }
Jordan
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)