Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas Com Scanf


White Horse

Pergunta

Ola galera, estou aprendendo a programar em c++ para fazer trabalhos da faculdade, estou tendo problemas com scanf, costumava usar cout e cin, mas tenho que analisar um codigo do professor, encontrar os erros, consertar e comentar, meu problema é o seguinte:

declarei as sesguintes variaveis:

float a[max][max], b[max];

encontrei no codigo os seguinte trecho:

scanf ("%f", &a[l] );

scanf ("%f", &b[l] )

ao compilar, não aparece nenhum erro, mas o programa não le as matrizes, mas se trocar por:

cin>>a[l];

cin>>b[l];

le normalmente e funciona beleza, minha dúvida é: o q q tá errado no primeiro trecho? percebi que é algo relacionado ao primeiro parametro, tentei varias formas, troquei o "f" por "F", e varias outras tentativas.

alguém pode me dar uma dica do que está errado? agradeço desde já a ajuda.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

valeu pela dica bigodines, mas já tentei sem o &, imaginei a mesma coisa, mas não deu certo, acredito que o problema seja no campo de strings da função, é um erro de sisntaxe, talvez seja porque uma matriz é um ponteiro de ponteiro, nas várias tentativas que fiz, uma delas foi essa: scanf ("%FINf", &a[l] ); ele até executou, mas os valores sairam errado, sei que o codigo está certo porque ao substituir a função scanf por cin dá tudo certo e o programa roda numa boa, sem erros, valeu pela dica.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Whicker Man, a função realmente está dentro de um loop, o trecho de código é o seguinte:

for ( l=0; l<n; l++ )

{

gotoxy ( 1, (l+1)*3 );

printf ( "Entre com os valores da %d.a expressao", l+1 );

gotoxy ( 1, ((l+1)*3)+1 );

for ( i=0; i<n; i++ )

{

printf ( "x%d=", i+1 ); // informe x1, x2, x..., xn

scanf ("%f", &a[l];

gotoxy ( (i+1)*10, ((l+1)*3)+1 );

if ( i == (n-1) )

{

printf ( "termo indep. = " );

scanf ( "%f", &b[l] );

}

}

}

nas duas chamadas de scanf f a leitura é realizada de trocar o "%f" por "%d", mas nesse caso terá problemas nos cálculos mais adiante, já que resultará em ponto flutuante, e ele só considerara a parte inteira, não sei porque não le como ponto flutuante.

valeu galera, espero sugestões.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...