Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hiago Drigo

[Resolvido] [Iniciante] Trabalhando com Vetores

Recommended Posts

Olá a todos!

Sou novato aqui neste forum, pelo menos postando rs

Bom vamos lá.

Estou iniciando nessa área de programação e dei de cara logo com o C++...

O meu problema é o seguinte:

A minha dificuldade é transferir o valor vend[p] dentro do for para uma variável para depois

usá-la junto as outras frases. Do jeito que está tá até rodando e funcionando a parte de comparar

as duas posições dos dois vetores e mostrando o nome do vendedor com maior valor, porém não consigo

passar este valor para uma variável, eis o meu problema.

Questão:

/*7) Faça um programa em C que receba o total das vendas de cada vendedor e armazene-as

em um vetor. Receba também o percentual de comissão de cada vendedor e armazene-os

em outro vetor. Receba os nomes desses vendedores e armazene-os em um terceiro vetor.

Existem apenas dez vendedores. Calcule e mostre:

¨ Um relatório com os nomes dos vendedores e os valores a receber;

¨ O total das vendas de todos os vendedores;

¨ O maior valor a receber e quem o receberá;

¨ O menor valor a receber e quem o receberá.*/

 

E o que eu consegui desenvolver foi isso:

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

main(){
   int i, v[10], maior=0, menor=99999, pos1=0, pos2=0, total;
   char vend [10][100]; //vendedores
   char nma, nme;
   //float total; //total vendas

   for(i=0;i<10;i++){
      printf("Digite o nome do %d%c vendedor: ", i+1 , 248);
      scanf("%s",vend[i]);
      printf("Digite o %d%c valor: R$ ", i+1, 248);
      scanf("%d",&v[i]);
      printf("\n");
   }

   for(i=0;i<10;i++){
      if(v[i]>0)
      total= total + v[i];
   }

   for(i=0;i<10;i++){
      if(v[i]>maior){
      maior=v[i];
      pos1=i;
      }
   }

   for(i=0;i<10;i++){
      if(v[i]<menor){
      menor=v[i];
      pos2=i;
      }
   }

   for(i=0;i<10;i++){////////////////////////////////////////////////
      if(pos1==i){
      //printf("%d /// %d",i,pos1);
      //nma=vend[i];
      printf("%s",vend[i]);
      }
   }////////////////////////////////////////////////////////////////

   for(i=0;i<10;i++){//////////////////////////////////////////////
      if(pos2==i){
      //printf("%d /// %d",i,pos2);
     // nme=vend[i];
      printf("%s",vend[i]);
      }
   }//////////////////////////////////////////////////////////////

   for(i=0;i<10;i++){
      printf("Vendedor: %s ",vend[i]);
      printf("Valor: %d .",v[i]);
      printf("\n");
   }

   printf("\nTotal das vendas foi de: %d",total);
   printf("\nO maior valor a receber %c: %d quem o receber%c eh o %s .", 130, maior, 160, vend[i]);
   printf("\nO menor valor a receber %c: %d quem o receber%c eh o %s .", 130, menor, 160, vend[i]);

   system("pause>null");
}

 

Obs: Não está 100% só travei na parte que está marcado com os ////.

Desde já agradeço qualquer ajuda!

 

Att, Hiago Drigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, ninguém me respondeu, por isso quebrei muito a cabeça aqui e acho que cheguei numa solução :clap:

 

Eis o que consegui fazer:

/*7) Faça um programa em C que receba o total das vendas de cada vendedor e armazene-as
em um vetor. Receba também o percentual de comissão de cada vendedor e armazene-os
em outro vetor. Receba os nomes desses vendedores e armazene-os em um terceiro vetor.
Existem apenas dez vendedores. Calcule e mostre:
¨ Um relatório com os nomes dos vendedores e os valores a receber;
¨ O total das vendas de todos os vendedores;
¨ O maior valor a receber e quem o receberá;
¨ O menor valor a receber e quem o receberá.*/
#include<stdio.h>
#include<stdlib.h>

main(){
   int i, pos1=0, pos2=0;
   char vend [10][100]; //vendedores
   float total, perc[10], v[10], maior=0.0, menor=99999.9; 

   for(i=0;i<10;i++){
      printf("Digite o nome do %d%c vendedor: ", i+1 , 248);
      scanf("%s",vend[i]);
      printf("Digite do %d%c total das vendas: R$ ", i+1, 248);
      scanf("%f",&v[i]);
      printf("Digite do %d%c percentual de comissao: ", i+1, 248);
      scanf("%f",&perc[i]);
      printf("\n");
   }

   for(i=0;i<10;i++){//Maior dos salarios Total+Percentual
      if(v[i]>maior){
      maior=v[i]*((perc[i]/100)+1);
      pos1=i;
      }
   }

   for(i=0;i<10;i++){//Menor dos salarios Total+Percentual
      if(v[i]<menor){
      menor=v[i]*((perc[i]/100)+1);
      pos2=i;
      }
   }   

   for(i=0;i<10;i++){//Impressão dos vendedores e seus respectivos salarios+percentual de venda
      printf("Vendedor: %s ",vend[i]);
      if(v[i]>0){
          total= v[i]*((perc[i]/100)+1);
          printf("\t\tValor a receber: R$ %.2f .",total);
      }

      printf("\n");
   }

    for(i=0;i<10;i++){
      if(pos1==i){
      printf("\nO maior valor a receber %c: R$ %.2f quem o receber%c %c o %s .", 130, maior, 160, 130, vend[i]);
      }
   }

   for(i=0;i<10;i++){
      if(pos2==i){
      printf("\nO menor valor a receber %c: R$ %.2f quem o receber%c %c o %s .", 130, total, 160, 130, vend[i]);
      }
   }      

   system("pause>null");
}

 

Obrigado mesmo assim! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.