Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Vieira L.

Membros Juniores
  • Total de itens

    7
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. cara funcionou! adicionado 1 minuto depois parabéns! adicionado 5 minutos depois porém gostaria que funcionasse este ultimo tópico! void Maior_Menor_Renda(TipoCliente cliente[NCLI], int num, int pos_maior, int pos_menor) { int i; int j; int maior = 0; int menor = 0; maior = cliente[0].renda; menor = cliente[0].renda; for(i=0; i<num; i++) { if (cliente[i].renda > maior) { maior = cliente[i].renda; pos_maior = i; } } for(j=0; j<num; j++) { if (cliente[j].renda < menor) { maior = cliente[j].renda; pos_maior = j; } } } int main() { printf("\n\nO posicao do maior salario e: [ %d ] e a posicao do menor salario e: [ %d ]", pos_maior, pos_menor); } adicionado 6 minutos depois não está exibindo a posição do vetor com a maior renda / menor renda
  2. @dsgeverton O Objetivo desta função é: 1- Armazenar as rendas acima de 5 mil reais 2 - Armazenas a escolaridade que for == media. 3- armazenar esta 2 condições em uma variável.
  3. sim, o problema é que o programa não está captando a renda. E sim a média. Nesta tag abaixo if (((cliente.renda > 5000) && strcmp(cliente.escolaridade,"media")==0)){
  4. Ocorreu esta mensagem, baseada na minha função main #include <stdio.h> #include <string.h> #define NCLI 3 struct cadastro{ char nomes[30], escolaridade[30]; float renda[10]; }; typedef struct cadastro TipoCliente; int Le_Vetores(TipoCliente cliente[NCLI]) { int num=0; int i; for(i=0; i<NCLI; i++){ printf("\nDigite o nome: "); fflush(stdin); scanf(" %s", cliente[i].nomes); printf("\nDigite o nivel de escolaridade > 'fundamental', 'media' ou 'superior': "); fflush(stdin); scanf(" %s", cliente[i].escolaridade); printf("\nDigite a renda mensal: "); scanf("%.2f", &cliente[i].renda); num++; } return (num); } int Renda_Superior_5000(TipoCliente cliente[NCLI], int num, char nomes_5mil[NCLI][30]) { int cont=0; int i; for(i=0;i<num;i++){ if (((cliente[i].renda > 5000) && strcmp(cliente[i].escolaridade,"media")==0)){ strcpy(nomes_5mil[cont],cliente[i].nomes); cont++; } } return (cont); } void Exibe_Nomes(char nomes_5mil[NCLI][30], int cont){ int j; for(j=0;j<cont;j++){ printf("\nO nome do cliente acima de 5mil e escolaridade media: %s", nomes_5mil[j]); } } void Maior_Menor_Renda(TipoCliente cliente[NCLI], int num, int pos_maior, int pos_menor) { int i; int maior = 0; int menor = 0; int maior = cliente[0].renda; int menor = cliente[0].renda; for(i=0; i<num; i++){ if (cliente[i].renda > maior){ maior = cliente[i].renda; pos_maior = i; } } for(i=0; i<num; i++){ if (cliente[i].renda < menor){ maior = cliente[i].renda; pos_maior = i; } } } int main(){ TipoCliente cliente[NCLI]; int numcli; int pos_maior, pos_menor; char nomes_5mil[NCLI][30]; int cont; numcli = Le_Vetores(cliente); cont = Renda_Superior_5000(cliente, numcli, nomes_5mil); Exibe_Nomes(nomes_5mil, cont); Maior_Menor_Renda(cliente,numcli, pos_maior, pos_menor); printf("\nO numero de clientes cadastrados foram: %d", numcli); printf("\nO numero de clientes com RENDA MAIOR que 5 MIL -- E ESCOLARIDADE MEDIA -- : %d",cont); printf("\n\nO maior salario e: [ %d ] e o menor salario e: [ %d ]", pos_maior, pos_menor); } adicionado 1 minuto depois Se voce me ajudar nesta, vou te agradecer pessoalmente cara kkkkkkkkkkk (:
  5. Everton, as alterações este vetor[0], como declaro o mesmo?
  6. Ok, fiz as alterações, mesmo assim não consegui resolver o erro.
  7. Boa tarde! Estou quebrando a cabeça para finalizar o projeto. 1- Preciso que no final do programa mostre a posição do VETOR cadastrada com o maior e menor RENDA. 2- Este comando > if (((cliente.renda > 5000) && strcmp(cliente.escolaridade,"media")==0)){ Está apenas armazenando a escolaridade média, e não a renda acima de 5000 mil reais. #include <stdio.h> #include <stdlib.h> #include <string.h> #define NCLI 3 struct cadastro{ char nomes[30], escolaridade[30]; float renda[10]; }; typedef struct cadastro TipoCliente; int Le_Vetores(TipoCliente cliente[NCLI]) { int num=0; int i; for(i=0; i<NCLI; i++){ printf("\nDigite o nome: "); fflush(stdin); gets(cliente[i].nomes); printf("\nDigite o nivel de escolaridade > 'fundamental', 'media' ou 'superior': "); fflush(stdin); gets(cliente[i].escolaridade); printf("\nDigite a renda mensal: "); scanf("%.2f", &cliente[i].renda); num++; } return (num); } int Renda_Superior_5000(TipoCliente cliente[NCLI], int num, char nomes_5mil[NCLI][30]) { int cont=0; int i; for(i=0;i<num;i++){ if (((cliente[i].renda > 5000) && strcmp(cliente[i].escolaridade,"media")==0)){ strcpy(nomes_5mil[cont],cliente[i].nomes); cont++; } } return (cont); } void Exibe_Nomes(char nomes_5mil[NCLI][30], int cont){ int j; for(j=0;j<cont;j++){ printf("\nO nome do cliente acima de 5mil e escolaridade media: %s", nomes_5mil[j]); } } void Maior_Menor_Renda(TipoCliente cliente[NCLI], int num, int *pos_maior, int *pos_menor) { int i; int maior = 0; int menor = 0; for(i=0; i<num; i++){ if (cliente[i].renda > maior){ maior = cliente[i].renda; *pos_maior = i; } } for(i=0; i<num; i++){ if (cliente[i].renda < menor){ maior = cliente[i].renda; *pos_maior = i; } } return 0; } int main(){ TipoCliente cliente[NCLI]; int numcli; int pos_maior, pos_menor; char nomes_5mil[NCLI][30]; int cont; numcli = Le_Vetores(cliente); cont = Renda_Superior_5000(cliente, numcli, nomes_5mil); Exibe_Nomes(nomes_5mil, cont); Maior_Menor_Renda(cliente,numcli, &pos_maior, &pos_menor); printf("\nO numero de clientes cadastrados foram: %d", numcli); printf("\nO numero de clientes com RENDA MAIOR que 5 MIL -- E ESCOLARIDADE MEDIA -- : %d",cont); printf("\n\nO maior salario e: [ %d ] e o menor salario e: [ %d ]", pos_maior, pos_menor); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×