Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<locale.h>
- #include<string.h>
- #include<stdlib.h>
- #include<ctype.h>
- //Função que gera um codigo de barra para o produto.
- int Codigo_de_barras(){
- int i;
- for(i=0;i<13;i++){
- printf("%d",rand()%9);
- }
- }
- //Função que mostra a data atual.
- dataatual(){
- time_t mytime;
- mytime = time(NULL);
- printf(ctime(&mytime));
- }
- //ESTRUTURAS.
- typedef struct empresa{
- char nome [20];
- char cnpj [17];
- char endereco [80];
- }Empresa;
- //Produtos.
- typedef struct produto{
- char Nome[20];
- char fabricante[30];
- int quantestoque;
- float precocusto;
- float precovenda,preco_vendaT;
- float soma;
- int Fdia, Fmes, Fano;
- int Validade_ano;
- int produto_comprado[20];
- int codigo_produto;
- int quantidade;
- }produtos;
- //Caixa.
- typedef struct caixa{
- float valor_pago;
- float valortotal;
- float troco;
- }Caixa;
- //Cupom Fiscal
- typedef struct cupomfiscal{
- int dia, mes, ano,Validade_ano;
- int produtos;
- }Cupomfiscal;
- int main(void){
- setlocale(LC_ALL,"portuguese");
- Empresa Cempresa;
- produtos Cprodutos[100],Venda_produtos[100];
- Caixa Ccaixa;
- Cupomfiscal Ccupomfiscal;
- int i,j=0, cont=0,op,ope,contador=0;
- char produto_comprado[50],maiusculo[50];
- printf("\n\tCADASTRO DA EMPRESA\n\n");
- printf("\nDigite o nome da empresa: ");
- fflush(stdin);
- gets(Cempresa.nome);
- printf("Digite o CNPJ da empresa: ");
- fflush(stdin);
- gets(Cempresa.cnpj);
- printf("Digite o endreço da empresa: ");
- fflush(stdin);
- gets(Cempresa.endereco);
- printf("\n\tCADASTRO DE PRODUTOS\n\n");
- //Inicio do DO WHILE.
- do{
- printf("\n");
- Cprodutos[i].codigo_produto = i+1;
- printf("Digite o nome do produto, o Codigo do produto sera = %d: ",Cprodutos[i].codigo_produto = i+1);
- fflush(stdin);
- gets(Cprodutos[i].Nome);
- maiusculo[i]=toupper(Cprodutos[i].Nome);
- printf("Digite quem foi o fabricante do produto: ");
- fflush(stdin);
- gets(Cprodutos[i].fabricante);
- printf("Digite a quantidade em estoque: ");
- scanf("%d",&Cprodutos[i].quantestoque);
- printf("Digite o preço de custo do produto: ");
- scanf("%f",&Cprodutos[i].precocusto);
- printf("Digite o preço de venda do produto: ");
- scanf("%f",&Cprodutos[i].precovenda);
- //Data da fabricação.
- printf("\n");
- printf("Digite a data de fabricação do produto: ");
- printf("\nDia: ");
- scanf("%d",&Cprodutos[i].Fdia);
- printf("Mês: "); //A validade do produto será feita automaticamente de acordo com a fabricação = sera somado 3 anos.
- scanf("%d",&Cprodutos[i].Fmes);
- printf("Ano: ");
- scanf("%d",&Cprodutos[i].Fano);
- //Somando 3 anos para obter a validade.
- Cprodutos[i].Validade_ano = Cprodutos[i].Fano + 3;
- //Imposto.
- printf("O imposto sobre esse produto é: %.2f", Cprodutos[i].precocusto*0.02); //Imposto.
- //Calculo da data de validade (+ 3 anos).
- Cprodutos[i].Validade_ano = Cprodutos[i].Fano+3;
- i++;// incrementando o 'i'.
- cont++;// contador dos produtos.
- printf("\n");
- printf("Digite 1 para continuar cadastrando, 0 para finalizar o cadastro de produtos: ");
- scanf("%d",&op);
- }while(op != 0); // Do while dos cadastros.
- //exibir os produtos
- printf("\n\tLISTA DE PRODUTOS DISPONIVEIS\n"); //Imprimindo os produtos cadastrados.
- for(i=0;i<cont;i++){
- printf("\n");
- printf("\n%s \tValor do produto: R$:%.2f\nData de validade: %d/%d/%d\nCodigo de barras: ",Cprodutos[i].Nome,Cprodutos[i].precovenda,Cprodutos[i].Fdia,Cprodutos[i].Fmes,Cprodutos[i].Validade_ano);
- Codigo_de_barras(); //Chamando a função.
- }
- printf("\n\n");
- printf("\n\tREGISTRO DOS PRODUTOS\n");
- do{
- printf("Informe o codigo do produto vendido: ");
- scanf("%d", &Venda_produtos[j].codigo_produto);
- printf("Informe a quantidade: ");
- scanf("%d", &Venda_produtos[j].quantidade);
- /*
- * Enquanto o produto na posicao i for diferente do codigo informado
- * procura o produto que foi vendido
- */
- for(i = 0; i < 100 && Venda_produtos[j].codigo_produto != Cprodutos[i].codigo_produto; i++){
- /* VAZIO */
- }
- //Calculando o valor total do produto.
- Venda_produtos[j].preco_vendaT = Cprodutos[i].precovenda * Venda_produtos[j].quantidade;
- //Estrutura caixa, valor total da compra.
- Ccaixa.valortotal += Venda_produtos[j].preco_vendaT;
- //Nome
- strcpy(Venda_produtos[j].Nome, Cprodutos[i].Nome);
- //Data de Fabricação.
- Venda_produtos[j].Fdia = Cprodutos[i].Fdia;
- Venda_produtos[j].Fmes = Cprodutos[i].Fmes;
- Venda_produtos[j].Fano = Cprodutos[i].Fano;
- Venda_produtos[j].Validade_ano = Cprodutos[i].Validade_ano;
- printf("Digite 1 para continuar registrando as vendas, e 0 para finalizar: ");
- scanf("%d",&ope);
- j++;
- }while(ope != 0);
- //Valores
- printf("\nValor total da compra: R$%.2f",Ccaixa.valortotal); // Valor a ser cobrado.
- printf("\n");
- printf("\n\nDigite o valor pago pelo cliente: ");
- scanf("%f",&Ccaixa.valor_pago);
- printf("\n\n");
- printf("\n\tCUPOM FISCAL\n");
- printf("\n");
- //Chamando a função que define a data.
- dataatual();
- //Dados da empresa.
- printf("\n");
- printf("\n\nEMPRESA: %s",Cempresa.nome);
- printf("\nCNPJ: %s",Cempresa.cnpj);
- printf("\nENDEREÇO: %s",Cempresa.endereco);
- printf("\n");
- //Produtos.
- printf("\n\tPRODUTOS\n");
- for(i=0;i<j;i++){
- printf("\n%s\tValor R$ %.2f\nData de Validade:",Venda_produtos[j].Nome,Cprodutos[i].precovenda,Venda_produtos[j].Fdia,Venda_produtos[j].Fmes,Venda_produtos[j].Validade_ano);
- //Chamando a função codigo de barras.
- Codigo_de_barras();
- }
- printf("\n\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement