Ir ao conteúdo

erro no else (error:'else' without a previous 'if'.)


Ir à solução Resolvido por Pedro Math.pi,

Posts recomendados

Postado

boa tarde pessoal, sou novo aqui rsrs.

 

Então eu também sou novo em programação, e estou fazendo um programinha simples mesmo, em que você digita um número(que no caso seria o dia do mês)

e irá aparecer que dia que é.Exemplo (hoje dia 16, e o programa retorna "quarta feira") e assim por diante. Porém está dando um erro no else (error:'else' without a previous 'if'.), no final do programa, e eu não sei o porque!

 

#include <stdio.h>
#include <stdlib.h>
 
//programa bem simples mesmo para mostrar os dias apenas desse mês de setembro, só para interagir com os comandos rsrs.
 
int main()
{
 
int DiaSemana;
 
printf("\n\n\t\t\t:::::::::::CALENDARIO:::::::::::");
printf("\n\t\t\t________________________________");
printf("\n\nDigite um dia: ");
scanf("%d", &DiaSemana);
 
if(DiaSemana==5||DiaSemana==12||DiaSemana==19||DiaSemana==26) /*aqui se for algum dia desse mês de setembro mesmo, os num que aparece irá retornar sábado e assim nos demais dias.*/
{
    printf("\n\nSabado!!!!\n");
}
if(DiaSemana==6||DiaSemana==13||DiaSemana==20||DiaSemana==27)
{
    printf("\nDomingo!!!!\n");
}
if(DiaSemana==7||DiaSemana==14||DiaSemana==21||DiaSemana==28)
{
    printf("Segunda Feira!!!!\n");
}
if(DiaSemana==8||DiaSemana==15||DiaSemana==22||DiaSemana==29)
{
    printf("\nTerca Feira!!!!\n");
}
if(DiaSemana==9||DiaSemana==16||DiaSemana==23||DiaSemana==30)
{
    printf("\nQuarta Feira!!!!\n");
}
if(DiaSemana==10||DiaSemana==17||DiaSemana==24)
{
    printf("\nQuinta Feira!!!!\n");
}
if(DiaSemana==11||DiaSemana==18||DiaSemana==25);
{
    printf("\nSexta Feira!!!!\n\n");
}
else                                                                //nessa linha aqui que está dando o erro (error:'else' without a previous 'if'.)
{
    printf("\n\nDIA INVALIDO!!!!!!\n\n");          //Dia inválido porque se o usuário digitar um número acima de (dia)30, exemplo:(dia)50, ai aparece essa msg.
}
system("pause");
return 0;
  • Membro VIP
  • Solução
Postado

@Adeilson Angelino

Remova o ponto e vírgula ; do último if.

 

Esse else não vai funcionar bem do jeito que fez. Como está aí, ele só vai testar o último if.

Você teria que fazer if else if em todos os testes pra ele cair nesse else ao final somente quando não for válido nas demais.

Outra forma mas limpa é usar switch case.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...