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

Programa


Adenison Santos

Pergunta

Estou precisando escrever um programa para ler 2 valores, sendo o primeiro um real e o segundo um caracter. Arredonde o primeiro para baixo, verifique se o segundo é uma letra e o exiba em maiúsculo.

Escrevi ele assim:


char letra; float numero; int res;

void leitura();
int verificaNumero();
char verificaLetra();


int main (){

leitura();
verificaNumero();
verificaLetra();

system("pause");

}

char verificaLetra (){
if (isalpha(letra)){
}else{
letra = toupper(letra);
printf ("%c", &letra);
}
}
int verificaNumero (){
if (isdigit(numero)){
}else{
res = floor(numero);
printf ("%f\n", &res);
}
}
void leitura (){
puts ("Digite qualquer letra caixa baixa: ");
scanf ("%c", &letra);
puts("Digite um numero quebrado: ");
scanf ("%f", &numero);
}
[/codebox]

Acontece que ele não esta devendo o caracter em maisculo e nem numero arredondado...

Editado por quintelab
Removido Ajuda do Título
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

um if funciona assim ó:

if ([condicao])
{
    [intrucoes que devem acontecer caso a condicao seja VERDADEIRA]
}
else
{
    [intrucoes que devem acontecer caso a condicao seja FALSA]
}[/code]

você percebe então q você ta testando se é alpha e escrevendo as instrucoes no local q vai ser lido apenas se a variavel não for alpha??

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado kuroi..

Estou no segundo semestre e ainda estou com muita dificuldade..

Eu deixei os meus ifs assim:

void verificaLetra (){
     if (isalpha(letra)){
     letra = toupper(letra);
     printf ("%c", &letra);
     }
}     
int verificaNumero (){
     if (isdigit(numero)){
     res = floor(numero);
     printf ("%f\n", &res);
     }       
}

e ainda não estou recebendo a letra em maiusculo e nem o numero arrendondado..

Editado por Adenison Santos
Link para o comentário
Compartilhar em outros sites

  • 0

hum, então, não sei qual compilador você ta usando, mas aqui no dev c++ ele nem aceitou q um float seja passado pra funcao isdigit(). pra você ele dexou compilar??

quanto ao isalpha() ele deveria estar funcionando, exceto q você deveria corrigir os seus printf(). você ta passando o endereco da variavel no segundo parametro, e deveria ser ela propria. exemplo:

printf ("%c", letra);

Link para o comentário
Compartilhar em outros sites

  • 0

Estou usando o dev sim..

Cara resolvi o problema tirando o if..

Ficou assim:

void verificaNumero (){
       numero = floor(numero);
       printf ("O numero digitado foi: %f\n\n", numero);
}

Cara meu unico problema era entender o enunciado do exercicio..

Desculpa ocupar seu tempo..

Valeu Abraço

Editado por Adenison Santos
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,5k
×
×
  • Criar Novo...