Ir ao conteúdo

Posts recomendados

Postado

Eu fiz um codigo fonte para esse questão

Vendo a greve dos caminhoneiros gerar a falta de combustível, você decide vender um programa para auxiliar o trabalho de um posto de combustível. Num posto de combustível a informação necessária diz respeito aos seguintes dados: total de litros consumido, valor do combustível, total arrecadado.



O que deve ser realizado na questão:

Vamos programar esta solução utilizando vetores.

· O vetor A deve conter o total de litros que cada veículo abasteceu.

· O vetor B deve ter um caractere representando o combustível: ‘G’ para gasolina, ‘E’ para etanol, ‘D’ para diesel. Use outros se desejar.

· O vetor C deve receber o total pago por cada cliente, durante o dia de trabalho (ou seja, o valor do vetor A vezes o preço do combustível informado no vetor B).

Seu programa deve:

· pedir os dados de um dia de trabalho, para o vetor A e B.

· calcular os dados do vetor C.

· calcular o total de arrecadação do posto naquele dia.

Faça um teste com 20 entradas de cliente (dados de trabalho de um dia) e mostre todos os resultados.


SEGUE o CODIGO

#include <cstdio>
#include <string.h>
#include <iostream>
#include <conio.h>
int main(){	
	int i, VETOR_A[100], Cont=0;
	char   VETOR_B[100], Op= 'S', Aux[10];
	float  VETOR_C[100], PRECO , SOMA=0;
	do{
		printf("\nCLIENTE %d:\n\n", Cont+1);
		printf("DIGITE O COMBUSTIVEL UTILIZADO:\n \n= G =  GASOLINA - R$ 4,49\n= E =  ETANOL  	- R$ 2,69\n= D =  DIESEL 	- R$ 3,39\n\n");
		do{
			fflush(stdin);
			scanf  ("%c", &VETOR_B[Cont]);
			if     (toupper(VETOR_B[Cont])=='G'){strcpy(Aux,"GASOLINA"); PRECO=4.49; Op= 'p';}
			else if(toupper(VETOR_B[Cont])=='E'){strcpy(Aux,"ETANOL"  ); PRECO=2.69; Op= 'p';}
			else if(toupper(VETOR_B[Cont])=='D'){strcpy(Aux,"DIESEL"  ); PRECO=3.39; Op= 'p';}	
			else   {printf("COMBUSTIVEL NAO CADASTRADO, SO E PERMITIDO OS TRES COMBUSTIVEIS CADASTRADO NO SISTEMA\n"); }
		}while     (Op != 'p');
		do{
			printf ("\nDIGITE O TOTAL DE LITROS%S ABASTECIDO: ", Aux);
			fflush (stdin);
			scanf  ("%d", &VETOR_A[Cont]);
			if	   (VETOR_A[Cont] >=0){
				   VETOR_C[Cont] = (float)VETOR_A[Cont] * PRECO;
			}		
			else{
				printf("NAO PODE EXISTIR VALOR NEGATIVO...!\n");
			}
		}while(VETOR_A[Cont] < 0);
		Cont++;
		printf("\nDESEJA CADASTRAR OS DADOS DE OUTRO CLIENTE? S/N \n");
		fflush(stdin);
		scanf ("%c", &Op);
	}while(toupper(Op) != 'N');
	printf("\n");
	for(i=0; i<Cont; i++){
		printf("TOTAL DE LITROS ABASTECIDO: %d		COMBUSTIVEL UTILIZADO: %c		VALOR TOTAL: %2f\n",VETOR_A[i], VETOR_B[i], VETOR_C[i]);
		SOMA += VETOR_C[i];
	}
	printf("\nVALOR TOTAL ARRECADADO NO DIA -> R$ %.2f\n\n",SOMA);
	getch();
	return 0;
}

E Essa Foi a Resposta do Professor 

Cont pode passar de 100 elementos no cadastro -3
O resto está OK.

Alguem Pode Me Ajudar a Resolver Isso


Grato Desde Já

  • Amei 1
Postado

@Marcos Antonio Conceição     para que o cont não ultrapasse o limite dos vetores ,  que são 100 posições ,  você pode modificar essa linha , colocando assim  :

}while(VETOR_A[Cont] < 0);
        printf("\nDESEJA CADASTRAR OS DADOS DE OUTRO CLIENTE? S/N \n");
        if(cont < 99)Cont++;/*  isso limita à 100 cadastros começando de zero até 99 */
        else {
             printf("só Pode Cadastrar No Maximo 100 Clientes . . . !         Tecle\n"); 
             getch();
             Op='N';
        }
        

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!