Ir ao conteúdo

Codigo comentado


Fabinhoncn

Posts recomendados

Postado

Olá boa tarde.

Bom gente é o seguinte tenho um artigo de algoritmo para fazer, que seria um algoritmo para uma consessionaria para cadastro de veículos. Fiz o código e comentei mas sou melhor programando que comentando cada função por isso peço que se alguém pode me ajudar com os comentários (comentando as linhas do codigo) que me ajudem por favor.

SEGUE ABAIXO O ALGORITMO

Renavam (código)

Placa

Cor

Marca

Modelo

Combustível

Cc

Preço – Mostrar o valor total e a quantidade paga

em cada parcela podendo ser em até 24 x

com taxa de juros de 2% aplicado ao valor

total

Prestações

*/

#include <stdio.h>//BIBLIOTECA PARA USO DAS FUNÇÕES DE ENTRADA E SAIDA DE DADOS
#include <ctype.h>//BIBLIOTECA MANIPULAÇÃO DE ESTRUTURAS
#include <stdlib.h>//BIBLIOTECA PARA USO DOS CAMANDOS DO DOS "EM windows"
#include <string.h>//BIBLIOTECA PARA MANIPULAÇÃO DE CARACTERS
#define car 100
struct consessionaria_tipo//ESTRUTURA UTILIZADO
{
char placa[40], cor[40],marca[40],modelo[40],combustivel[20],chassis[30];
int renavam,prestacao;
float preco,preco2;
}consessionaria[car];//ENDEREÇAMENTO
int menu(void);//FUNÇÕES DO MENU
void inicio(void), cadastro(void);
void relatorio(void);
void pesquisar (void);
void excluir (void);
void atualizar (void);
main ()
{
char dados;
int i;
inicio();
for(;
{
dados = menu();
switch (dados)//SELECIONA O QUE FAZER PELO DIGITADO PELO USUARIO
{
case 'c': cadastro();//C CHAMA A FUNÇÃO CADASTRO
break;
case 'e': excluir();// E CHAMA A FUNÇÃO EXCLUIR
break;
case 'p': pesquisar();//P CHAMA A FUNÇÃO pesquisar
break;
case 'r': relatorio();//R CHAMA A FUNÇÃO RELATORIO
break;
case 'a':atualizar();//A CHAMA A FUNÇÃO ATUALIZAR
break;
case 'x':FILE *fp;//FUNÇÃO PARA SALVAR AUTOMATICAMENTE OS ARQUIVOS REGISTRADOS AO SAIR

if((fp=fopen("dados.b", "wb"))==NULL)
{
printf("IMPOSSIVEL ABRIR.\n");
}


for(i=0; i<car; i++)
if(consessionaria[i].renavam)
if(fwrite(&consessionaria[i], sizeof(struct consessionaria_tipo), 1, fp)!=1)
printf("!!!ERRO!!!.\n");
fclose(fp);
exit(0);
break;
}
}
}
void inicio(void)
{
int t;

for(t=0; t<car; t++)
*consessionaria[t].placa='\0';
}
void cadastro(void)//CADASTRO DO VEICULO
{
int i;

for(i=0; i<car; i++)
if (!*consessionaria[i].placa) break;
if (i==car)
{
printf("Lista Cheia\n");
return;
}//DADOS DO VEICULO
printf("Renavam: ");
scanf("%d",&consessionaria[i].renavam);
fflush stdin;//LIMPA A BUFFER DO TECLADO PARA PODER USAR O GETS DEPOIS DO SCANF
printf("Placa: ");
gets(consessionaria[i].placa);
printf("Cor: ");
gets(consessionaria[i].cor);
printf("Marca: ");
gets(consessionaria[i].marca);
printf("Modelo: ");
gets(consessionaria[i].modelo);
printf("Combustivel: ");
gets(consessionaria[i].combustivel);
printf("Chassis: ");
gets(consessionaria[i].chassis);
printf("Preco: ");
scanf("%f", &consessionaria[i].preco);getchar();
printf("Numeros de prestacao: ");
scanf("%d", &consessionaria[i].prestacao);
Void relatorio(void)//COMANDOS PARA IMPRESSAO DO RELATORIO
int t;
for(t=0; t<car; t++)//LAÇO PARA MONTAGEM DO RELATORIO
if (*consessionaria[t].placa)
{//IMPRESSÃO DO RELATORIO
printf("\n-------------------------\n");
printf("\nRenavam:%d\n",consessionaria[t].renavam);
printf("\nMarca:%s\n", consessionaria[t].marca);
printf("\nModelo:%s\n", consessionaria[t].modelo);
printf("\nPlaca:%s\n", consessionaria[t].placa);
printf("\nCor:%s\n", consessionaria[t].cor);
printf("\nCombustivel:%s\n",consessionaria[t].combustivel);
printf("\nChassis:s\n",consessionaria[t].chassis);
printf("\nPreco a vista:%3.f\n",consessionaria[t].preco);
printf("\nNumeros de prestacao: %d\n",consessionaria[t].prestacao);
printf("\nValor de cada prestacao:%.2f\n", (consessionaria[t].preco+(consessionaria[t].preco*0.02))/consessionaria[t].prestacao);
printf("\n-------------------------\n");
system("pause");//PARA O RELATORIO NA TELA E SAI APOS PRECIONAR UMA TECLA
system("cls");//LIMPA O RELATORIO DA TELA
void pesquisar (void)//BLOCO DE COMANDOS PARA pesquisa DE PRODUTOS CADASTRADOS
int t;
int pesq;
printf("Digite o renavam do veiculo a ser pesquizado:");
scanf("%d",&pesq);
for(t=0;t<car;t++)
if(consessionaria[t].renavam!=0 && consessionaria[t].renavam==pesq)//VALIDAÇÃO DA pesquisa
{//APRESENTAÇÃO DA pesquisa
printf("\n-------------------------\n");
printf("\nRenavam:%d\n",consessionaria[t].renavam);
printf("\nMarca:%s\n", consessionaria[t].marca);
printf("\nModelo:%s\n", consessionaria[t].modelo);
printf("\nPlaca:%s\n", consessionaria[t].placa);
printf("\nCor:%s\n", consessionaria[t].cor);
printf("\nCombustivel:%s\n",consessionaria[t].combustivel);
printf("\nChassis:s\n",consessionaria[t].chassis);
printf("\nPreco:%f\n",consessionaria[t].preco);
printf("\nNumeros de prestacao: %d\n",consessionaria[t].prestacao);
printf("\nValor de cada prestacao:%.2f\n", (consessionaria[t].preco+(consessionaria[t].preco*0.02))/consessionaria[t].prestacao);
printf("\n-------------------------\n");;
system("pause");
system ("cls");
void excluir (void)//BLOCO DE COMANDOS PARA EXCLUIR UM ARQUIVO JA GRAVADO
int i,a;
int exc;
printf("Digite o renavam do veiculo a ser excluido:");
scanf("%d",&exc);
for(i=0;i<car;i++)
if(exc==consessionaria[i].renavam)
*consessionaria[i].placa=('\0');//SUBSTITUI O ARQUIVO EM QUESTAO POR NULO PARA NAO LEITURA
consessionaria[i].renavam=('\0');
void atualizar(void)//BLOCO DE COMANDOS PARA VERIFICAR SE TEM ALGO CADASTRADO DA ULTIMA VEZ
//QUE O SISTEMA FOI USADO
FILE *fp;
int i;
if((fp=fopen("dados.b", "rb"))==NULL)//VALIDAÇÃO PARA LEITURA DO ARQUIVO JA GRAVADO
printf("O arquivo nao pode ser aberto.\n");
return;
inicio();
for(i=0; i<car; i++)
if (fread(&consessionaria[i], sizeof(struct consessionaria_tipo), 1, fp)!=1)
if (feof(fp)) break;
printf("Erro de leitura no arquivo.\n");
fclose(fp);
}//MONTAGEM DO MENU PARA EXIBIÇÃO

Postado

Não entendi muito bem o que você precisa...

o que voce quer é que leia seu código e comente as funções?

tipo

--Essa parte faz isso

--Aqui são definidas os valores..

etc???

Postado

Cara, mesmo que seja pra um artigo, não precisa comentar linha por linha como se quem for ler seja retardado n...

tu pode comentar por trechos de código.

tipo:

//O trecho de código a seguir faz isso, isso , isso e tal...

Aí tu vai separando por blocos. Fica até mais simples de quem tá lendo compreender.

Espero ter ajudado.

Postado

A ideia de comentar o código é pra que outras pessoas que tenham acesso a ele (ou você mesmo, depois de muito tempo sem ver ele) consigam entender o que ele faz.

Você precisa se perguntar o seguinte: daqui a 1 ano, lendo esse código novamente, você saberá pra que serve essas linhas?

#include <stdio.h>

#include <ctype.h>

Claro que saberá... então pra que comentar elas?

No entanto, uma linha como essa é bom comentar:

#define car 100

o que é car 100? o número de carros? a velocidade do carro?

Comente as funções que você criou e as variáveis importantes... não precisa comentar cada printf... a pessoa que ler seu código deverá saber a linguagem C.

  • Membro VIP
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

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

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