Como mostro meu código na Janela [C/C++; SDL]
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
Curtidas 0