Porque meu código não compila? [INICIANTE] [FACULDADE]

Usando a linguagem de programação C/C++ escreva um programa de imprima a soma dos 10 primeiros números pares entre 1 e 100. Observe que seu programa deverá ter uma função para indicar se um número é par, imprimir os números selecionados e a soma solicitada.

Eu não consigo nem imprimir os 10 primeiros pares, pra depois partir pra soma deles.
Estou apanhando aqui no início dos estudos, alguém pode só dar uma luz, pra seguir o caminho sozinho!

int a, contador = 0;
int main()
{
	for (a=0; a<=100; a++)
	{
		{
			if (a % 2 == 0 && contador <= 10)
			printf("\n%d", a);
			contador++;
		}
		else 
		{
			printf("FIM");
			break;
		}

	}
}

ola

o seu problema é usar o if + else de forma errada. vc abre uma { antes do if e estao desbalanceados

if ( condicao ) { 

} else {

}

a unica forma de vc ter if ( condicão ) é se vc tem apenas um statement como

if( condicao ) printf("hey");

a primeira coisa que vc deve verificar é se os { } estao corretamente balanceados. pra cada { tem que haver um }. no lugar certo.

2 curtidas

Muito obrigado.
É mesmo, errei as chaves.

Vou verificar aqui e corrigir esses outros problemas do if e else, valeu mesmo!

eu diria que o problema são as variáveis declaradas fora do programa, não as chaves necessariamente.

fora do programa ficam as bibliotecas, funções a serem adicionadas, mas variável deve ser declarada dentro do programa, dentro do “int main”…

pelo menos em linguagem C funciona assim, pelo que aprendi…

Pois então melhor rever seu aprendizado…

http://linguagemc.com.br/funcoes-e-escopo-de-variaveis/

Em C existe o conceito de escopo (espaço onde as variáveis são criadas e onde elas ainda estarão ativas no programa)…

O fato de estarem fora do main não significa estarem fora do programa…

Com relação as chaves, o erro estava nessa linha…

{
    if (a % 2 == 0 && contador <= 10)
    ...
}

Onde deveria ser…

if (a % 2 == 0 && contador <= 10) {

}

E por fim, mesmo sua boa intenção em ajudar, creio que 7 meses depois da dúvida postada ele encontrou a solução não?

Bons estudos…