sombriks
(usa Slackware)
Enviado em 27/10/2007 - 00:29h
Olá, modifiquei seus fontes um pouco. aí vão eles!
#include<curses.h>
#include<stdio.h>
int main(int argc, char ** argv) {
initscr();
int opcao ;
for (;;) {
move(3,5);
printw("[1] Opcao numero 1.");
move(5,5);
printw("[2] Opcao numero 2.");
move(7,5);
printw("Opcao:");
opcao=getch();
move(10,5);
if (opcao=='1'){
printw("Voce digotou a opcao: 1");
getch();
break;
}else{
printw("Voce digitou a opcao: 2");
getch();
break;
}
}
endwin();
return 0;
}
//gcc -Wall $(pkg-config --cflags --libs gnt) testeCurses.c -o testeCurses
Sendo esse comentário aí em cima mostrando como foi que isso compilou no meu slackware. precisei puxar essa gnt, que é abiblioteca do curses.
Primerio eu me preocupei com o laço infinito, mas logo vi que tinha os breaks, então o problema não era esse.
Daí eu notei que não importando a resposta, o resultado era sempre "você escolhei a opção 2", ou algo do tipo.
Acontece que vc está usando getch(), e por isso tudo o que vem é char, e não inteiro. Por isso sempre dava falso. botei as aspas simples e pronto, funcionou. Pelo menos eu acho.
Continue com seus estudos, com sorte um dia eu aprendo algo com vc ;D