Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Algoritmo de Vendas

$
0
0
Boa tarde, estou com dificuldades para terminar o seguinte algoritmo:
 
Uma loja quer registrar suas vendas mensais.
Cada venda deve ter:
 
1. Código do produto [100]
2. Código do vendedor [10]
3. Código do cliente [40]
4. Valor da unidade de cada produto vendido
5. Qntd. de produtos vendidos
6. Formas de pagamento, que podem ser: 
6.1. À vista (dinheiro), com desconto de 5% ao valor da unidade
6.2. À vista (cartão), o preço fica o mesmo
6.3. Parcelado, com acréscimo de 10% ao da unidade
 
No início do programa, o usuário tem de informar quantas vendas serão cadastradas. 
Após isso, o usuário vai digitar todos os dados de cada uma das vendas que serão registrada. Quando a digitação terminar, o programa deve informar o produto que deu maior faturamento (valor unitário X qntd. de vnda), o cód. do vendedor que faturou mais, o cód. do cliente que mais comprou e o faturamento total do mês.
 
Ah, sendo que as informações do valor total de vendas tanto do produto, quanto por vendedor, quanto por cliente deve estar nos vetores de 300, 10 e 100 respectivamente.
 
O programa deve usar 3 funções:
1a. não terá parâmetros e deve pedir que o usuário digite cada um dos dados de uma única venda da seguinte forma: os códigos de produto, de vendedor e de clientes.
2a. para caso o usuário digite algum valor menor que 1 ou maior do que o limite, a função tem de usar a estrutura DO e WHILE até que o usuário digite um valor satisfatório. Essa função seria "dentro" da 1a função.
3a. terc_funcao (float *vet, int limite). Esta deve receber como parâmetro um vetor de vendas(dos produtos, dos vendedores ou dos clientes) e a qntd. de valores que existem nesse vetor. A função deve retornar o código(que é o indice do vetor) do maior valor encontrado nesse vetor. Essa procura pode ser feita pela estrutura FOR.
 
A main ficaria então para receber cada registro de venda lido pela 1a função e armazenará o valor total da venda nos três vetores(produtos, vendedores, clientes), fazendo assim somas por produto, por vendedor e por cliente, além do faturamento mensal.
 
O que já tenho
 
 
#include <stdio.h>
#include <stdlib.h>
#include<math.h>

void LeVenda(){
 printf("Digite o codigo do produto:");
 LeCodigo(100);


 venda.produto = a;
 printf("Digite o codigo do vendedor:");
 LeCodigo(10);


 venda.vendedor = a;
 printf("Digite o codigo do cliente:");
 LeCodigo(40);


 venda.cliente = a;




 printf("Digite a quantidade vendida:");
 scanf("%d",&venda.qtde);
 printf("Digite o valor unitario da venda:");
 scanf("%f",&venda.valor_un);
 venda.valorT = valor_un * qtde


 printf ("Escolha a forma de pagamento:\n Digite 1 para a vista(dinheiro)\n Digite 2 caso for a vista(cartao)\n Digite 3 caso seja parcelado"
 switch( "forma_de_pagamento" )

{
 case 1:
 valorT = valorT - 1/20*valorT;
 break;


 case 2:
 valorT = valorT;
 break;


 case 3:
 valorT = valorT + 1/10*valorT;
 break


 default:
 printf ("Voce digitou uma opcao invalida!");


}


}


int LeCodigo(int limite){
 int a;
 do{
 printf("Digite o codigo do produto: ");
 scanf("%d",&a);
 if(a<1 || a>limite)
 printf("Codigo incorreto, de outro.");
 }while(a<1 || a>limite);
 return a;
 }


int produto[100],vendedor[10],cliente[40],i;
struct venda{
 int produto,vendedor,cliente,qtde;
 float valorT;
 }venda[i];

int terc_funcao(float *vet[], int limite){
 float maior = 0; int indice = 0
 int i;
 for(i=0;i<limite;i++){
 if(vet[i]>maior){
 maior = vet[i];
 indice = i;
 }
 }
 return indice;
}


main(){


int n_vendas, q, ;
printf("Digite a quantas vendas irao ser feitas: ");
scanf("%d",&n_vendas);


for(q=0;q<n_vendas;q++){
 void levenda();
 vetfaturamento = venda.unitario
-----------
 
Minhas dúvidas são principalmente no que diz respeito à struct... como será retornado para a função principal, suas variáveis nos vetores...
Obrigado.

Viewing all articles
Browse latest Browse all 14190

Trending Articles