astrix Posted May 26, 2008 at 08:59 PM Report Share #187680 Posted May 26, 2008 at 08:59 PM entao e assim ja fiz o meu menu principal,agora nao estou a ver como utilizar aqui o ciclo do...while porque dame geito q ele percorra os cases pelo menos uma vez,e so depois saia se o resultado nao fore o esperado,pois terei q fazer uma validaçao sobre as opçoes caso o utilizador insira uma qualquer tecla q nao as q lhe dei como base ele imita uma mensagem para o utilizador a dar a dita mensagem e a pedir q insira uma das teclas possiveis,sei q sera uma sena basica mas nao estou a ir lá,vou deixar aqui o codigo a ver se alguem me ajuda :hmm void menu() { char opcao; printf(" caixa\n\n"); printf("1 - Recolha de dados\n\n"); printf("2 - Consultar resultados\n\n"); printf("3 - Sair\n\n"); printf("Opçao: "); opcao=getchar(); } int main() { menu(); return 0; } Link to comment Share on other sites More sharing options...
anolsi Posted May 26, 2008 at 09:03 PM Report Share #187681 Posted May 26, 2008 at 09:03 PM char menu() { char opcao; printf("\tcaixa\n\n"); printf("1 - Recolha de dados\n\n"); printf("2 - Consultar resultados\n\n"); printf("3 - Sair\n\n"); printf("Opçao: "); opcao=getchar(); return (opcao); } int main() { char opc; do{ opc = menu(); } while(opc != '3') return 0; } É isto que queres? "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
astrix Posted May 26, 2008 at 09:35 PM Author Report Share #187691 Posted May 26, 2008 at 09:35 PM pois agora baralhaste-me todo pois tou a fazer isto por funçoes e no main nao tenho mais nada do q o nome das funçoes a chamar e tu neste caso com o codigo como puseste baralhaste-me e nao estou a ver como por isso de acordo com o q estou a fazer se puderes dar mais uma ajudita agradeço ? Link to comment Share on other sites More sharing options...
anolsi Posted May 26, 2008 at 09:40 PM Report Share #187692 Posted May 26, 2008 at 09:40 PM Por exemplo, depois dentro do ciclo tens um switch int main() { char opc; do{ opc = menu(); switch (opc){ case '1': recolha();break; //Chamas a função de recolha case '2': consulta();break; //Chamas a função de consulta } } while(opc != '3') return 0; } Os nomes das funções são um exemplo. "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
astrix Posted May 26, 2008 at 10:08 PM Author Report Share #187717 Posted May 26, 2008 at 10:08 PM continuo a nao perceber o codigo como disseste seria qualquer coisa como void menu() { char opc; printf(" caixa\n\n"); printf("1 - Recolha de dados \n\n"); printf("2 - Consultar resultados\n\n"); printf("3 - Sair\n\n"); printf("Opçao: "); opc=getchar(); } int main() { char opc; do{ opc = menu(); switch (opc){ case 1: recolha();break; //Chamas a função de recolha case 2: consulta();break; //Chamas a função de consulta } } while(opc != '3') return 0; } mas se era isto dame bue de errossera q contigo nao esta a dar erros ou nao estas a correr isso ? Link to comment Share on other sites More sharing options...
Baderous Posted May 26, 2008 at 10:20 PM Report Share #187721 Posted May 26, 2008 at 10:20 PM Será algo assim: #include <stdio.h> int main() { int opcao; do { printf("\tcaixa\n\n"); printf("1 - Recolha de dados\n\n"); printf("2 - Consultar resultados\n\n"); printf("3 - Sair\n\n"); printf("Opcao: "); scanf("%d",&opcao); switch (opcao) { case 1: recolha(); break; case 2: consulta(); break; case 3: break; default: printf("Opcao invalida!\n\n"); } } while (opcao!=3); return 0; } Link to comment Share on other sites More sharing options...
astrix Posted May 26, 2008 at 10:50 PM Author Report Share #187735 Posted May 26, 2008 at 10:50 PM amigo baderous corre mas agora neste caso eu q estava a fazer por so no main as funçoes e chamava depois por elas fora pois a muitas variaveis q meto em gloval como chamo agora a funçao recolha de dados e consulta de dados ? e aonde ? Link to comment Share on other sites More sharing options...
Baderous Posted May 27, 2008 at 02:36 PM Report Share #187843 Posted May 27, 2008 at 02:36 PM Não percebi patavina. Link to comment Share on other sites More sharing options...
anolsi Posted May 27, 2008 at 07:40 PM Report Share #187902 Posted May 27, 2008 at 07:40 PM amigo baderous corre mas agora neste caso eu q estava a fazer por so no main as funçoes e chamava depois por elas fora pois a muitas variaveis q meto em gloval como chamo agora a funçao recolha de dados e consulta de dados ? e aonde ? De certeza que estás a fazer o include do stdio.h? Que erros te dá? Podes colocá-los aqui? "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Baderous Posted May 27, 2008 at 07:44 PM Report Share #187904 Posted May 27, 2008 at 07:44 PM anolsi, o problema no código que postaste é que a tua variável opção era um char e depois no switch estavas a usar como se fosse int. Link to comment Share on other sites More sharing options...
anolsi Posted May 27, 2008 at 07:47 PM Report Share #187905 Posted May 27, 2008 at 07:47 PM anolsi, o problema no código que postaste é que a tua variável opção era um char e depois no switch estavas a usar como se fosse int. Tens razão faltavam as pelicas. Só usei char, porque ele já estava a usar. Mas não vejo mais erros. "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
astrix Posted May 27, 2008 at 08:23 PM Author Report Share #187909 Posted May 27, 2008 at 08:23 PM ola amigos resolvi o problema desta maneira q aqui vou por e pos char em vez de inteiro pois se por engano metesse algo diferente de inteiro o programa crachava,por isso ter um char em vez de inteiro void recolha() { } void consulta() { } void menu() { char opcao; do { clrscr(); printf(" caixa\n\n"); printf("1 - Recolha de dados\n\n"); printf("2 - Consultar resultados\n\n"); printf("3 - Sair\n\n"); printf("Opcao: "); opcao=getchar(); fflush(stdin); switch (opcao) { case '1': recolha(); break; case '2': consulta(); break; case '3': break; default: printf("Opcao invalida!!!\n\n"); } } while (opcao!='3'); } int main() { menu(); return 0; } entao agora o q tenho q fazer e o seguinte q como e a primeira vez q vou usar nao esta muito facil a utilizaçao...eu tenho 3 ficheiros e nestes esta variada inf informaçao como nome da casa,quantas pessoas la trabalham,quantas podem tocar nas caixas"registadoras",e um vector onde consta o nome de cada "dono"dessa casa[21]vector com 21 posiçoes onde posso controlar ao fim do ano numa pequena votaçao o melhor dono dessas casas e tirar o vencedor tudo em inteiros agora e assim como fasso isto usando a funçao fwrite para ler logo o ficheiro q esta por exemplo em C:\\Users\\****\\Desktop\\****\\lisboa .dat,para q depois fazer algo tipo soma depois da abertura da informaçao descrita em cima e depois de ir lendo ficheiro a ficheiro ele me ir dando os totais das variaveis,tipo quantas casas tratei quantas pessoas la trabalham no conjunto das casas tratadas e por ai fora...penso q fduiexplicito se alguem quizer dar dai uma ajuda sera bem vinda pois como disse atraz e 1 vez a trabalhar com ficheiros ? Link to comment Share on other sites More sharing options...
astrix Posted June 2, 2008 at 09:04 PM Author Report Share #189224 Posted June 2, 2008 at 09:04 PM obrig Link to comment Share on other sites More sharing options...
astrix Posted June 2, 2008 at 10:45 PM Author Report Share #189249 Posted June 2, 2008 at 10:45 PM entao pessoal sera q ninguem me da uma ajuda para ver se acabo isto e se entendo o q esta mal :down: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now