Boa noite sou iniciante nos estudos de programação, se alguém puder me ajudar ou me dar alguma dica de como eu poderia melhorar meu código, está faltando algumas partes se alguém tiver alguma dica para me dar de como eu posso fazer eu agradeceria..
/*
Trabalho G2 Algoritmos II
Autor: Brenda Petry Ramos
Cadastro de livros-Título, Autor, Páginas, Preço,
Menu de venda- Quantidade de itens(livros), Desconto, Valor total da venda, Valor que o cliente pagou, Troco (se tiver)
*/
/*
Tem que ter:
-Estruturas de decisão.
-Duas estruturas de repetição de tipos diferentes.
-Utilização de vetor(es) e/ou matriz(es).
- Pelo menos duas funções e/ou procedimentos.
*/
//OBS: FALTA O(S) LAÇO(S) DE REPETIÇÃO, A FUNÇÃO DA VENDA E O VETOR
struct livro{
char nome[30];
char editora[30];
char autor[30];
int codlivro;
int paginas;
float preço;
}livro1; //Declarando a variável do tipo struct conforme a estrutura acima
//struct livro livro1; //Referenciando a estrutura para criar a variável Livro1 (Outra forma de declarar a variável do tipo struct)..
//PRINCIPAL
int main(){
int op,i,qtditem,opc;
float vlpago,valorvenda,valortot,valordesc,troco,total,sumvendas;
int codliv=0;
setlocale(LC_ALL,"portuguese");
do{
printf("\n========Escolha uma opção========\n");
printf("1 – Cadastro de livro\n");
printf("2 – Venda de livro\n");
printf("3 – Total de vendas-Relatório\n");
printf("0 – ============SAIR=============\n");
printf("\n=================================\n");
scanf("%i", &op);
switch(op){
case 1:
printf("\n=======Cadastrando Livro=========\n");
printf("\nDigite o nome do Livro:\n");
gets(livro1.nome);
printf("\nDigite o nome do Autor:\n");
gets(livro1.autor);
printf("\nDigite o código do livro (diferente de 0):\n");
scanf("%d", &livro1.codlivro);
printf("\nDigite o número de paginas:\n");
scanf("%d", &livro1.paginas);
printf("\nDigite o Preço do livro:\n");
scanf("%f", &livro1.preço);
//printf("\n O livro \"%s\" possui %d paginas e custa R$ %4.2f\n",livro1.nome,livro1.paginas,livro1.preço);
break;
case 2:
printf("\n============Venda================\n");
printf("Digite o código do livro:\n");
scanf("%d", &livro1.codlivro);
printf("Digite a quantidade:\n");
scanf("%d", &qtditem);
//chamar função da venda com somatório dos valores dos livros escolhidos
printf("\nDeseja dar desconto nesta venda?\n 1-sim 2-Não \n");
printf("=======================================\n");
scanf("%d",&opc);
if(opc=1){
opc=0;
printf("\nDesconto de 5 digite 1 Ou 2 para 10 \n");
scanf("%d",&opc);
if(opc=1){
total=calc_desc_cinco(valortot,valorvenda,valordesc);//Chamando a função de 5% de desconto
printf("O total com 5 por cento de desconto é: %f \n", &total);
valortot=valorvenda;
}else
total=calc_desc_dez(valortot,valorvenda,valordesc);//Chamando a função de 10% de desconto
printf("O total com 10 por cento de desconto é: %f \n", &total);
valortot=valorvenda;
}else
printf("\n===========Valor Total Venda===========\n");
printf("\nDigite o valor pago: \n");
scanf("%f",&vlpago);
troco=0;
if((vlpago-valorvenda)!=0){
troco=valorvenda-vlpago;
}
printf("Troco: \n");
printf("\n===========Venda Finalizada===========\n");
printf("\nTotal Vendido:\n");
break;
case 3:
printf("\n====Total de vendas-Relatório====\n");
FILE *pont_arq; // cria variável ponteiro para o arquivo
char relatorio[50]; // variável do tipo string
//abrindo o arquivo com tipo de abertura w
pont_arq = fopen("arquivo_relatorio.txt", "w");
//testando se o arquivo foi realmente criado
if(pont_arq == NULL){
printf("Erro na abertura do arquivo!");
return 1;
}
printf("Total de vendas: ");
gets(relatorio);
//usando fprintf para armazenar a string no arquivo
fprintf(pont_arq, "%s", relatorio);
//usando fclose para fechar o arquivo
fclose(pont_arq);
printf("Vendas registradas com sucesso!");
Pergunta
brenda_petryca
Boa noite sou iniciante nos estudos de programação, se alguém puder me ajudar ou me dar alguma dica de como eu poderia melhorar meu código, está faltando algumas partes se alguém tiver alguma dica para me dar de como eu posso fazer eu agradeceria..
#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include<conio.h>
/*
Trabalho G2 Algoritmos II
Autor: Brenda Petry Ramos
Cadastro de livros-Título, Autor, Páginas, Preço,
Menu de venda- Quantidade de itens(livros), Desconto, Valor total da venda, Valor que o cliente pagou, Troco (se tiver)
*/
/*
Tem que ter:
-Estruturas de decisão.
-Duas estruturas de repetição de tipos diferentes.
-Utilização de vetor(es) e/ou matriz(es).
- Pelo menos duas funções e/ou procedimentos.
*/
//OBS: FALTA O(S) LAÇO(S) DE REPETIÇÃO, A FUNÇÃO DA VENDA E O VETOR
//FUNÇÕES DOS CALCULOS
//float calc_venda(float vitem,vlvenda){
// return vlvenda;
//}
float calc_desc_cinco(float valortotal, float vlvenda,float vldesconto){//Função 5% desconto
vldesconto=vlvenda*0.05;
valortotal=valortotal-vldesconto;
return valortotal;
}
float calc_desc_dez(float valortotal,float vlvenda, float vldesconto){//Função 10% desconto
vldesconto=vlvenda*0.1;
valortotal=valortotal-vldesconto;
return valortotal;
}
struct livro{
char nome[30];
char editora[30];
char autor[30];
int codlivro;
int paginas;
float preço;
}livro1; //Declarando a variável do tipo struct conforme a estrutura acima
//struct livro livro1; //Referenciando a estrutura para criar a variável Livro1 (Outra forma de declarar a variável do tipo struct)..
//PRINCIPAL
int main(){
int op,i,qtditem,opc;
float vlpago,valorvenda,valortot,valordesc,troco,total,sumvendas;
int codliv=0;
setlocale(LC_ALL,"portuguese");
do{
printf("\n========Escolha uma opção========\n");
printf("1 – Cadastro de livro\n");
printf("2 – Venda de livro\n");
printf("3 – Total de vendas-Relatório\n");
printf("0 – ============SAIR=============\n");
printf("\n=================================\n");
scanf("%i", &op);
switch(op){
case 1:
printf("\n=======Cadastrando Livro=========\n");
printf("\nDigite o nome do Livro:\n");
gets(livro1.nome);
printf("\nDigite o nome do Autor:\n");
gets(livro1.autor);
printf("\nDigite o código do livro (diferente de 0):\n");
scanf("%d", &livro1.codlivro);
printf("\nDigite o número de paginas:\n");
scanf("%d", &livro1.paginas);
printf("\nDigite o Preço do livro:\n");
scanf("%f", &livro1.preço);
//printf("\n O livro \"%s\" possui %d paginas e custa R$ %4.2f\n",livro1.nome,livro1.paginas,livro1.preço);
break;
case 2:
printf("\n============Venda================\n");
printf("Digite o código do livro:\n");
scanf("%d", &livro1.codlivro);
printf("Digite a quantidade:\n");
scanf("%d", &qtditem);
//chamar função da venda com somatório dos valores dos livros escolhidos
printf("\nDeseja dar desconto nesta venda?\n 1-sim 2-Não \n");
printf("=======================================\n");
scanf("%d",&opc);
if(opc=1){
opc=0;
printf("\nDesconto de 5 digite 1 Ou 2 para 10 \n");
scanf("%d",&opc);
if(opc=1){
total=calc_desc_cinco(valortot,valorvenda,valordesc);//Chamando a função de 5% de desconto
printf("O total com 5 por cento de desconto é: %f \n", &total);
valortot=valorvenda;
}else
total=calc_desc_dez(valortot,valorvenda,valordesc);//Chamando a função de 10% de desconto
printf("O total com 10 por cento de desconto é: %f \n", &total);
valortot=valorvenda;
}else
printf("\n===========Valor Total Venda===========\n");
printf("\nDigite o valor pago: \n");
scanf("%f",&vlpago);
troco=0;
if((vlpago-valorvenda)!=0){
troco=valorvenda-vlpago;
}
printf("Troco: \n");
printf("\n===========Venda Finalizada===========\n");
printf("\nTotal Vendido:\n");
break;
case 3:
printf("\n====Total de vendas-Relatório====\n");
FILE *pont_arq; // cria variável ponteiro para o arquivo
char relatorio[50]; // variável do tipo string
//abrindo o arquivo com tipo de abertura w
pont_arq = fopen("arquivo_relatorio.txt", "w");
//testando se o arquivo foi realmente criado
if(pont_arq == NULL){
printf("Erro na abertura do arquivo!");
return 1;
}
printf("Total de vendas: ");
gets(relatorio);
//usando fprintf para armazenar a string no arquivo
fprintf(pont_arq, "%s", relatorio);
//usando fclose para fechar o arquivo
fclose(pont_arq);
printf("Vendas registradas com sucesso!");
system("PAUSE");
break;
}
}while(op!=0);
}//fim principal
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.