Ir ao conteúdo

Posts recomendados

Postado

Oi gente!

Alguém pode me ajudar nesse programa. 

Faça um programa modularizado utilizando registro que leia apenas uma conta bancária com as seguintes informações: número da conta, nome do cliente e saldo. Apresente esses dados na tela.

Ele compila mas não executa. 

 

#include<stdio.h>



typedef struct dados_bancarios
{
    int numero;
    char nome;
    float saldo;
}dados_bancarios;

dados_bancarios conta;

void cadastrar( );
void imprime( );

void cadastrar( )
{
    printf("\n\n--------------CADASTRO DOS DADOS BANCARIOS----------\n\n");
    printf("Informe o número da conta: ");
    scanf("%d",&conta.numero);
    printf("Informe o nome: ");
    scanf("%s",&conta.nome);
    printf("Informe o saldo da conta: ");
    scanf("%f",&conta.saldo);
}

void imprime ( )
{
    printf("\n\n------------Dados bancarios-------------\n\n");
    printf("\n O número da conta: %d",conta.numero);
    printf("\n O nome: %s",conta.nome);
    printf("\n O saldo da conta: %2.f",conta.saldo);
}
int main ()
{
    dados_bancarios conta;
    void imprime ();
    void cadastrar();
}

 

  • Obrigado 1
Postado

@Rayane Parreira Resende@Rayane Parreira Resende    você colocou para imprimir o resultado antes de fazer os cadastros ,  e na chamada das funções , esse void em inglês significa " nada " ,  então nada dele ir para a tal função ,  remova-os , e seu código poderia ser assim  :

#include <stdio.h>
#include <locale.h>
typedef struct Dados_bancarios{
    int   numero     ;
    char  nome[20]   ;
    float saldo      ;
}dados_bancarios     ;
dados_bancarios conta;
void cadastrar(     );
void imprime(       );
int main (          ){
    setlocale(LC_ALL,"portuguese");
    dados_bancarios conta         ;
    cadastrar(                   );
    imprime (                    );
    return 32768                  ;
}
void cadastrar( ){
    printf("\n\n--------------CADASTRO DOS DADOS BANCARIOS----------\n\n");
    printf("Informe o número da conta : ");
    fflush(stdin                         );
    scanf("%d",&conta.numero             );
    printf("Informe o nome: "            );
    fflush(stdin                         );
    scanf("%s",conta.nome                );
    printf("Informe o saldo da conta: "  );
    fflush(stdin                         );
    scanf("%f",&conta.saldo              );
}
void imprime ( ){
    printf("\n\n------------Dados bancarios-------------\n\n");
    printf(" O número da conta -: %d\n"  ,conta.numero       );
    printf(" O nome ------------: %s\n"  ,conta.nome         );
    printf(" O saldo da conta --: %.2f\n",conta.saldo        );
}

 

  • Obrigado 1
Postado
5 minutos atrás, devair1010 disse:

quando muda de tipo precisa do fflush , senão pula linha e não pega mais nada .

mas devair porque sempre que eu provo testar com apenas 1 unico fflush no inicio de um loop sempre funciona perfeitamente?

  • Curtir 1
Postado

@Rayane Parreira Resende    setlocale serve para o idioma que o usuário quer , e aqui no brasil , é português com acentuação  til cedilha circunflexo trema e tudo mais , e sem ela não aparecerão ,   return 32768 é para saber quando o código funciona ,  imprimir e cadastrar são suas funções que você criou e para chama-las não pode ter o void no início , esse void só lá na criação da função.

  • Obrigado 1

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!