Created
June 23, 2015 18:45
-
-
Save ClaudioHenrique/316371670822cb7d3699 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
int read_line(FILE *in, char *buffer, size_t max) | |
{ | |
return fgets(buffer, max, in) == buffer; | |
} | |
void cadastrarVendedor(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
FILE *arquivo; | |
char * pch; | |
char * array[100]; | |
int i = 0; | |
int j = 0; | |
int status = 1; | |
float codigoVendedorTemp = 0; | |
arquivo = fopen("/Users/claudiohenrique/vendedores.txt","w+"); | |
if(arquivo == NULL){ | |
printf("Arquivo nao pode ser aberto \n\n"); | |
system("pause"); | |
} | |
int codigoVendedor = 0; | |
printf("Informe o codigo do vendedor: "); | |
scanf("%d",&codigoVendedor); | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendedores.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n\n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j++){ | |
codigoVendedorTemp = atof(array[j]); | |
if(codigoVendedorTemp == codigoVendedor){ | |
status = 0; | |
} | |
} | |
if(status == 1){ | |
fprintf(arquivo, "%d ", codigoVendedor); | |
printf("Vendedor Registrado com sucesso \n\n"); | |
}else{ | |
printf("Esse codigo ja esta sendo utilizado por outro vendedor,informe outro codigo \n\n"); | |
} | |
} | |
void cadastrarVenda(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
FILE *arquivo; | |
arquivo = fopen("/Users/claudiohenrique/vendas.txt","w+"); | |
int j = 0; | |
int i = 0; | |
int codigoVendedor = 0; | |
int mesVenda = 0; | |
float valor; | |
char * pch; | |
char * array[100]; | |
printf("Informe o codigo do vendedor: "); | |
scanf("%d",&codigoVendedor); | |
printf("Informe o mes: "); | |
scanf("%d",&mesVenda); | |
printf("Informe o valor da venda: "); | |
scanf("%f",&valor); | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendas.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n\n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j+=3){ | |
int codigoVendedorTemp = atoi(array[j]); | |
int mesVendaTemp = atoi(array[j+1]); | |
if(codigoVendedorTemp == codigoVendedor){ | |
if(mesVenda == mesVendaTemp){ | |
printf("Nao foi possivel registrar a venda. Nao eh permitido duas vendas no mesmo mes por um mesmo vendedor \n"); | |
}else{ | |
printf("Venda adicionada com sucesso"); | |
fprintf(arquivo, " %d %d %f", codigoVendedor, mesVenda, valor); | |
} | |
} | |
} | |
} | |
void consultarVendas(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
char * pch; | |
char * array[100]; | |
int i = 0; | |
int j = 0; | |
int codigoVendedor; | |
int mes; | |
printf("Informe o codigo do vendedor: "); | |
scanf("%d",&codigoVendedor); | |
printf("Informe o mes das vendas: "); | |
scanf("%d",&mes); | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendas.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n\n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j+=3){ | |
int codigoVendedorTemp = atoi(array[j]); | |
int mesTemp = atoi(array[j+1]); | |
if(codigoVendedorTemp == codigoVendedor){ | |
if(mes == mesTemp){ | |
printf("O Valor Vendido nesse mes pelo vendedor foi R$ %s \n\n",array[j+2]); | |
} | |
} | |
} | |
} | |
void consultarTotal(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
char * pch; | |
char * array[100]; | |
int i = 0; | |
int j = 0; | |
int codigoVendedor; | |
float total = 0; | |
printf("Informe o codigo do vendedor: "); | |
scanf("%d",&codigoVendedor); | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendas.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n\n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j+=3){ | |
int codigoVendedorTemp = atoi(array[j]); | |
if(codigoVendedorTemp == codigoVendedor){ | |
total = total + atof(array[j+2]); | |
} | |
} | |
printf("TOTAL DE VENDAS DESSE VENDEDOR %f \n\n",total); | |
} | |
void consultarMelhorVendedor(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
char * pch; | |
char * array[100]; | |
float valorVenda = 0; | |
float valorVendaTemp = 0; | |
int i = 0; | |
int j = 0; | |
int idVendedor = 0; | |
int idVendedorTemp = 0; | |
int mes; | |
printf("Informe o mes de venda: "); | |
scanf("%d",&mes); | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendas.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j+=3){ | |
idVendedor = atoi(array[j]); | |
valorVenda = atoi(array[j+2]); | |
if(valorVendaTemp < valorVenda){ | |
idVendedorTemp = idVendedor; | |
valorVendaTemp = valorVenda; | |
} | |
} | |
printf("O VENDEDOR COM MAIS VENDAS DURANTE O MES EH O VENDEDOR (%d) COM R$%f VENDIDOS \n\n",idVendedorTemp,valorVendaTemp); | |
} | |
void consultarMelhorMes(){ | |
/* Crio o arquivo que sera utilizado para armazenas as informações */ | |
char * pch; | |
char * array[100]; | |
float valorVenda = 0; | |
float valorVendaTemp = 0; | |
int mesVenda = 0; | |
int mesVendaTemp = 0; | |
int i = 0; | |
int j = 0; | |
int idVendedor = 0; | |
int idVendedorTemp = 0; | |
FILE *in; | |
if((in = fopen("/Users/claudiohenrique/vendas.txt", "r")) != NULL) | |
{ | |
char line[256]; | |
if(read_line(in, line, sizeof line)) | |
pch = strtok (line," "); | |
else | |
printf("nao foi possivel ler o arquivo \n"); | |
fclose(in); | |
} | |
while (pch != NULL){ | |
array[i] = pch; | |
pch = strtok (NULL, " "); | |
i++; | |
} | |
for(j = 0; j < i; j+=3){ | |
mesVenda = atoi(array[j+1]); | |
valorVenda = atoi(array[j+2]); | |
if(valorVendaTemp < valorVenda){ | |
mesVendaTemp = mesVenda; | |
} | |
} | |
printf("O MES COM O MAIOR MONTADE DE VENDAS FOI: %d \n\n ",mesVendaTemp); | |
} | |
int main(int argc, const char* argv[]){ | |
/* Váriaveis para controle */ | |
int opcao = 0; | |
int status = 1; | |
while(status != 0){ | |
printf("####### MENU ####### \n"); | |
printf("1 - CADASTRAR VENDEDOR \n"); | |
printf("2 - CADASTRAR VENDA \n"); | |
printf("3 - CONSULTAR VENDAS DE UM VENDEDOR ESPECIFICO/MES\n"); | |
printf("4 - CONSULTAR O TOTAL DE VENDAS DE UM DETERMINADO VENDEDOR\n"); | |
printf("5 - CONSULTAR O VENDEDOR COM MAIS VENDAS/MES \n"); | |
printf("6 - CONSULTAR O MES COM MAIS VENDAS \n"); | |
printf("7 - FINALIZAR O PROGRAMA \n"); | |
printf("Informe a opcao desejada : "); | |
scanf ("%d",&opcao); | |
switch(opcao){ | |
case 1: | |
cadastrarVendedor(); | |
break; | |
case 2: | |
cadastrarVenda(); | |
break; | |
case 3: | |
consultarVendas(); | |
break; | |
case 4: | |
consultarTotal(); | |
break; | |
case 5: | |
consultarMelhorVendedor(); | |
break; | |
case 6: | |
consultarMelhorMes(); | |
break; | |
case 7: | |
status = 0; | |
break; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment