Jump to content

sytanx error before '}' token


vitorpnm
 Share

Recommended Posts

Pessoal da' para me darem uma maozinha aqui nisto sff :x

Já tou a mais de 2 horas a tentar descobrir o erro e n consigo encontrar nada.


#include <stdio.h>
#include <math.h>
#include <conio.h>

int menu (void);
int a (int i);
int ehtermo (int t);
int soma( int n);
void ListaSeEhTermo (int m);
int maiorTermo (int m);



int main (void)

{
    int opcao;
    int n=1;
    
    printf("Bem vindo ao programa Sucessao.\n");
    printf("Deve comecar por escolher um numero utilizando a opcao 1.\n");
    printf("Por omissao o programa usa o numero 1.\n\n\n");
    
    
                 printf("Menu\n");
                 printf("1 - Introduzir um numero\n");
                 printf("2 - Calcular Termo\n");
                 printf("3 - E termo?\n");
                 printf("4 - Somar termos\n");
                 printf("5 - Listar termos\n");
                 printf("6 - Maior termo\n");
                 printf("0 - Terminar\n");
                 printf("Opcao:");
                 scanf("%d",&opcao);
    
    
   
         do {
            opcao=menu();
                switch (opcao)   {
               case 0:
                    break;
               case 1:
                    printf("Introduza um numero: ");
                    scanf("%d", &n);
                    break;
               case 2:
                    printf("Termo de ordem %d = %d\n", n, a(n) );
                    break;
                    
                    
               default:
                       printf("Opcao nao implementada\n");
                       break;
                       
                                   }
               } 
           
           while ( opcao != 0 ); 

               printf("Fim.\n");
               return 0;
               }
   
   
   
   /* Função Opção 2 - Calcular Termo [se par 3n+1, Se impar n^2] */
   int a (int i){
       if (i%2 == 0) 
               return (3*i)+1;
                        
       else
            return i=i*i;
                }
                   
                   
                    
}               
   /* Função opção 3  */




Está-me a dar error no ultimo " } ".

sytanx error before '}' token

Link to comment
Share on other sites

Antes de mais nada deixa-me dizer-te que a maneira como organizas o teu programa, se o problema não estiver no copy-paste, em relação à maneira como dispões as chavetas, etc. é péssima! Tenta melhorar isso para não te aparecerem problemas como o que apresentaste inicialmente.

Em relação a esta última dúvida vou-te pedir que deixes num próximo post a função de protótipo int menu (void) para que possamos analisá-la.

A mim parece-me que o problema é mesmo nessa função, não me parece que ela esteja a retornar alguma coisa de útil. Tens ali o primeiro scanf e depois se não tiveres dentro dessa função outro scanf a variável opcao vai sempre conter o valor introduzido pela primeira vez.

here since 2009

Link to comment
Share on other sites

Não será a função menu algo como isto


int menu(void)
{

printf("Menu\n");
printf("1 - Introduzir um numero\n");
printf("2 - Calcular Termo\n");
printf("3 - E termo?\n");
printf("4 - Somar termos\n");
printf("5 - Listar termos\n");
printf("6 - Maior termo\n");
printf("0 - Terminar\n");
printf("Opcao:");
scanf("%d",&opcao);
return opcao;
}

Senão não vejo o que faz sentido ali... :\

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Não será a função menu algo como isto


int menu(void)
{

printf("Menu\n");
printf("1 - Introduzir um numero\n");
printf("2 - Calcular Termo\n");
printf("3 - E termo?\n");
printf("4 - Somar termos\n");
printf("5 - Listar termos\n");
printf("6 - Maior termo\n");
printf("0 - Terminar\n");
printf("Opcao:");
scanf("%d",&opcao);
return opcao;
}

Senão não vejo o que faz sentido ali... :\

Sim, é.  😉

Só ontem ás 2 da matina é que percebi que não tinha feito a função Menu.

E depois passei mais 45 minutos a tentar perceber porque é que ele, mesmo com a função menu já declarada e feita, me continuava a pedir constantemente outro numero.. Faltava returnar o valor da opção escolhida "return opcao;" para poder escolher outra operação.

Só um pessimo programador lol

Finalmente já tenho o programa operacional. Muito obrigado a todos.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.