Ir ao conteúdo

Posts recomendados

Postado

Meu background de C é zero, estou a fazer uma formação online de fundamentos de programação e tenho esse exercício para apresentar, ainda não compilei mas antes de o fazer gostava de saber se o meu raciocínio está correto e se estou no bom caminho ou tem algo errado aí. Se puderem ajudar agradeço

 

Em anexo está o que o formador pede

 

 

#include <stdio.h>

int main() 

{
    int opcao;
    int contador;

    printf ("Se quer ver uma tabela de quadrados escolha opcao 1\n");
    scanf ("%d", &opcao);

    printf ("Se quer ver uma tabela de cubos prima 2\n");
    scanf ("%d", &opcao);

    if (opcao==1) 
    {
        for (contador=1 ; contador<=10; contador++ ) {
        printf ("%d", contador);
        print (" - ");
        printf ("%d", contador*contador);
    } 
    
    if (opcao==2)
    {    

        for (contador=1 ; contador<=10; contador++ ) {
        printf ("%d", contador);
        print (" - ");
        printf ("%d", contador*contador*contador);
        printf ("\n");
    }

    printf ("Obrigado por ter usado o programa!");

}

exemplotabela.png

Também podem usar este link

 

https://codeshare.io/dwp3qD

Postado

@Paulo Fernando Monteiro Seu código possui pequenos erros, mas nada muito grave para quem está apenas começando a programar.

 

Você está lendo a opção 2 vezes, mas deveria ser apenas uma, e você abriu o "for" com "{", mas não fechou com "}", nesse caso se você tivesse alinhado o código dentro do "for" isso seria mais fácil de ser percebido.

 

Seu código modificado para compilar:

#include <stdio.h>

int main()
{
    int opcao;
    int contador;
    printf ("Se quer ver uma tabela de quadrados escolha opcao 1\n");
    printf ("Se quer ver uma tabela de cubos prima 2\n");
    scanf ("%d", &opcao);

    if (opcao==1)
    {
        for (contador=1 ; contador<=10; contador++ ) {
            printf ("%d", contador);
            printf (" - ");
            printf ("%d", contador*contador);
            printf ("\n");
        }
    }

    if (opcao==2)
    {
        for (contador=1 ; contador<=10; contador++ ) {
            printf ("%d", contador);
            printf (" - ");
            printf ("%d", contador*contador*contador);
            printf ("\n");
        }
    }

    printf ("Obrigado por ter usado o programa!");
    return 0;
}

 

A linguagem C assim como outras linguagens possui recursos que com o tempo você acaba aprendendo a usar como por exemplo a função pow(), que permite  fazer a exponenciação de números.

 

Procure declarar o contador dentro do próprio "for" para evitar que ele possa gerar alguma confusão fora do "for" .

 

O método main() é declarado como int, então ele deve retornar um número inteiro, normalmente 0, quando não ocorre nenhum problema de execução.

 

Uma versão modificada do seu programa usando a função pow():

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

int main(void){
    int opcao;
    int expo;
    printf("Se quer ver uma tabela de quadrados escolha opcao 1\n");
    printf("Se quer ver uma tabela de cubos prima 2\nSua opcao: ");
    scanf ("%d", &opcao);
    if (opcao == 1 || opcao == 2) {
        expo = opcao + 1;
        for (int contador = 1; contador <= 10; contador++) {
            printf ("%2d ao %s = %4d\n", contador, (opcao == 1 ? "quadrado" : "cubo"), (int)pow(contador, expo));
        }
    } else {
        printf("Opcao invalida\n");
    }
    printf ("Obrigado por ter usado o programa!");
    return 0;
}

Talvez você ainda não tenha visto alguns recursos usados nessa versão, mas em breve você deve ver e não é nada muito complicado.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...