Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/28/2021 in Posts

  1. Já experimentaste evt.from.id ?
    1 point
  2. A Landing.Jobs publicou recentemente os resultados de um inquérito relativo ao mercado de trabalho nas áreas IT em Portugal, com dados muito úteis para o planeamento da carreira profissional: Tech Careers Report 2021 (Dados do ano anterior aqui.)
    1 point
  3. Boas @fortunecat, Ponto 1: Indentação Eu acredito que possas ser novo na área de programação, mas é bom começar logo de inicio com a perna direita. Uma boa indentação é meio caminho andado para futuramente descobrires possíveis bugs ou até erros simples de sintaxe. Portanto, em C eu aconselho seriamente a dares um tab sempre que abrires chavetas { } ao que é chamado de Scope. Por exemplo: #include <stdio.h> int main() { int x = 1; while (x < 5) { if (x == 2) { x = 3; } else { printf("%d", x); } } return 0; } Tendo isto em mente, seguimos para o ponto seguinte: Ponto 2: Código Segundo o que disponibilizaste e agora indentado tens: #include <stdio.h> int main() { int n; // inicialização de inteiro n sem valor while(n < 2) { // Enquanto n for menor que 2 vais executar o seguinte bloco de codigo: printf("Quantos numeros pretende somar?: "); // imprimes "Quantos numeros pretende somar?: " scanf("%i", &n); // pedes um inteiro e associas à variavel n if(n < 2) { // Caso n for menor que 2 vais: printf("\nERRO\n"); // imprimir "\nERRO\n" } // Fim do IF } // Repetes o WHILE for(int op = 0; op <= n; op++){ // Para um int op que começa em 0; repete até op ser menor ou igual a n; incrementa op printf("Insira o numero: \t"); // imprime "Insira o numero: \t" } // Repete o FOR return 0; } O bloco de instruções que tens dentro do while não vai ser executada porque n não tem nenhum valor inicialmente. Para isto aponto para 2 soluções: Inicializar n com 0. int n = 0; while (n < 2) {...} ... ou Usar o loop do { } while (); funciona exatamente igual ao while que tens com a diferença que executa primeiro o bloco de instruções e só depois verifica a condição. int n; do { // Faz: printf("Quantos numeros pretende somar?: "); // imprimes "Quantos numeros pretende somar?: "; scanf("%i", &n); // pedes um inteiro e associas à variavel n; if (n < 2) { // Caso n for menor que 2 vais: printf("\nERRO\n"); // imprimir "\nERRO\n"; } // Fim do IF } while (n < 2); // Enquanto n for menor que 2; Tendo a entrada de valores tratada podemos tratar agora da soma de valores. Só precisas de uma variavel para armazenares a soma e pedires o input para uma variavel auxiliar dentro do ciclo FOR de 0 até ao valor de n: int soma = 0; // Inicializa um inteiro soma com o valor 0; int aux; // Inicializa um inteiro aux sem valor; for (int op = 0; op < n; op++) { // Para um int op que começa em 0; repete até op ser menor ou igual a n; incrementa op printf("Insira o numero: \t"); // imprime "Insira o numero: \t"; scanf("%i", &aux); // pede um inteiro e associa à variavel aux; soma += aux; // o mesmo que soma = soma + aux; } // Repete o FOR printf("Resultado: %d", soma); // imprime o resultado; Acredito que com isto já sejas capaz de entender ao certo o problema e como o resolver. Espero ter ajudado!
    1 point
×
×
  • 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.