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

Código Mostrando Erro


Guest --Roger --

Pergunta

Guest --Roger --

desenvolvi esse codigo no dev mas ta dando errro:

ta dizendo que moedas25 undeclared here(not in a function)

porque será? respondam por favor

#include <stdio.h>
#include <stdlib.h>

void troco( int *mvintecinco, int moedas25, int *mdez, int moedas10,
            int *mcinco, int moedas5, int *mum, int moedas1, int valor );
    mvintecinco = &moedas25;
    mdez = &moedas10;
    mcinco = &moedas5;
    mum = &moedas1;
    *moedas25 = valor / 25;
    valor = valor % 25
    *moedas10=valor / 10;
    valor = valor % 10
    *moedas5 = valor / 5;
    valor = valor % 5
    *moedas1 = valor / 1;
    valor = valor % 1;
    printf( "\tQuant. de moedas de 25 e' %d\n", *mvintecinco );
    printf( "\tQuant. de moedas de 10 e' %d\n", *mdez );
    printf( "\tQuant. de moedas de 5 e' %d\n", *mcinco );
    printf( "\tQuant. de moedas de 1 e' %d\n", *mum );

main() {
    int valor;
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    printf( "\t*************** Digite o valor *****************\n" );
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    scanf( "%d", &valor );
    troco( valor );
    system( "pause" );
}

ta dizendo que moedas25 undeclared here(not in a function)

porque será? respondam por favor

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa!

Cara, comentei os erros em seu código no bloco abaixo:

#include <stdio.h>
#include <stdlib.h>

// você deve abrir um bloco com "{" e no final da função fechar "}" se
// estiver definindo a função
void troco( int *mvintecinco, int moedas25, int *mdez, int moedas10,
            int *mcinco, int moedas5, int *mum, int moedas1, int valor );
    mvintecinco = &moedas25;
    mdez = &moedas10;
    mcinco = &moedas5;
    mum = &moedas1;
    *moedas25 = valor / 25; // "moedas25" não é ponteiro
    valor = valor % 25 // sem ";"
    *moedas10=valor / 10; // "moedas10" não é ponteiro
    valor = valor % 10 // sem ";"
    *moedas5 = valor / 5; // "moedas5" não é ponteiro
    valor = valor % 5 // sem ";"
    *moedas1 = valor / 1; // "moedas1" não é ponteiro
    valor = valor % 1;
    printf( "\tQuant. de moedas de 25 e' %d\n", *mvintecinco );
    printf( "\tQuant. de moedas de 10 e' %d\n", *mdez );
    printf( "\tQuant. de moedas de 5 e' %d\n", *mcinco );
    printf( "\tQuant. de moedas de 1 e' %d\n", *mum );

main() {
    int valor;
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    printf( "\t*************** Digite o valor *****************\n" );
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    scanf( "%d", &valor );
    troco( valor ); // "troc" possui 9 argumentos
    system( "pause" );
}
Esse erro que você mostra não é o único. Como você não definiu o bloco do escopo da função, as variáveis que você declara como argumentos dela não estão definidas no escopo global, que é o escopo em que elas acabam caindo. Você não precisa usar todas essas manipulações de ponteiros; o código pode ser mais "direto". Veja:
#include <stdio.h>
#include <stdlib.h>

void troco( int valor ) {
    int moedas25, moedas10, moedas5, moedas1;
    
    moedas25 = valor / 25;
    valor = valor % 25;
    
    moedas10 = valor / 10;
    valor = valor % 10;
    
    moedas5 = valor / 5;
    valor = valor % 5;
    
    moedas1 = valor / 1;
    valor = valor % 1;
    
    printf( "\tQuant. de moedas de 25 e' %d\n", moedas25 );
    printf( "\tQuant. de moedas de 10 e' %d\n", moedas10 );
    printf( "\tQuant. de moedas de 5 e' %d\n", moedas5 );
    printf( "\tQuant. de moedas de 1 e' %d\n", moedas1 );
}

main() {
    int valor;
    
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    printf( "\t*************** Digite o valor *****************\n" );
    printf( "\t************************************************\n" );
    printf( "\t************************************************\n" );
    
    scanf( "%d", &valor );
    
    troco( valor );
    
    system( "pause" );
}

Dê uma lida nesse tutorial: http://www.mtm.ufsc.br/~azeredo/cursoC/aulas-main.html.

Boa sorte!

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...