Ir ao conteúdo
  • Cadastre-se

C++ Vetor de registros e retorno do maior numero


zjoãozinho

Posts recomendados

<>

Bom dia, estou desenvolvendo um código que receba os dados abaixo (Nome, Número da Conta e Saldo) referentes a 3 (três) clientes. Depois, exiba o nome e o saldo apenas do(s) cliente(s) que possui(rem) maior saldo na conta, utilizando vetor de registros. Mas sempre que tento encontrar só o maior saldo com o nome do cliente ele exibe todos os valores. Se alguém poder me ajudar agradeço!!

#include <bits/stdc++.h>

struct registro {
    int conta;
    char Nome[50];
    double saldo;
};

int main(){
    struct registro RA[3];
    int i, maior;

    for(i=0;i<3;i++){
    printf("Entre com a conta do cliente:\n");
    scanf("%lf",&RA[i].conta);

    printf("Entre com o nome do cliente:\n");
    scanf(" %[^\n]",&RA[i].Nome);

    printf("Entre com o saldo da conta:\n");
    scanf("%lf",&RA[i].saldo);
}
     for(i=0;i<3;i++){
        if(RA[i].saldo > maior){
        maior = RA[i].saldo;
    }

     printf ("o cliente %s possui o maior saldo de R$%d", RA[i].Nome, maior);

     
}
    return 0;
}
<>

Link para o comentário
Compartilhar em outros sites

Use o botão code. Veja a diferença

#include <bits/stdc++.h>

struct registro {
    int conta;
    char Nome[50];
    double saldo;
};

int main(){
    struct registro RA[3];
    int i, maior;

    for(i=0;i<3;i++){
    printf("Entre com a conta do cliente:\n");
    scanf("%lf",&RA[i].conta);

    printf("Entre com o nome do cliente:\n");
    scanf(" %[^\n]",&RA[i].Nome);

    printf("Entre com o saldo da conta:\n");
    scanf("%lf",&RA[i].saldo);
}
     for(i=0;i<3;i++){
        if(RA[i].saldo > maior){
        maior = RA[i].saldo;
    }

     printf ("o cliente %s possui o maior saldo de R$%d", RA[i].Nome, maior);

     
}
    return 0;
}

 

Você está escrevendo em C ou C++?

 

Isso está errado:
 

3 horas atrás, zjoãozinho disse:

 for(i=0;i<3;i++){
        if(RA[i].saldo > maior){
        maior = RA[i].saldo;
    }

 

declarou maior como int e sequer inicializou. E depois tenta comparar com float e usar para armazenar um saldo?

 

Note que escreveu

 

4 horas atrás, zjoãozinho disse:

exiba o nome e o saldo apenas do(s) cliente(s) que possui(rem) maior saldo na conta

 

Está bem claro que os 3 clientes podem ter o mesmo saldo e aí deveria claro mostrar os 3. Não programou isso.

 

  • Declare as variáveis de controle DENTRO do for
  • TESTE o retorno de scanf(). SEMPRE. É ingênuo seguir em frente se não leu nada.
  • NUNCA use variáveis globais. É um desastre. Nem todos seus programas vão ter 15 linhas...

 

 

 

 

Link para o comentário
Compartilhar em outros sites

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