Ir para conteúdo
Fórum Script Brasil
  • 0

Syntax error - Ajuda


FoToRiouS

Pergunta

Bem, estou fazendo um trabalho para a faculadade mas em umas das funções que criei usei um struct, que já tinha usado em outras funções mas ele da syntax error e não renho a minima ideia do porque.

consultas.c

#include "funcoes.h"

void consulta_vendas(char *vendas, char *auxiliar)
{
    FILE *a, *v;    
    vendas venda;
    int dia, mes, ano;
    char diac[3], mesc[3], anoc[6];
    int dia2, mes2, ano2;
    char dia2c[3], mes2c[3], ano2c[6];
    int contv, x;
    float vtotal;    
    clrscr();
    v = fopen(vendas, "rb");
    verif_ab(v);
    a = fopen(auxiliar, "rb");
    verif_ab(a); 
    fseek(a, sizeof(int) * 2, SEEK_SET);
    fread(&contv, sizeof(int), 1, a);
    printf("\t\t************   CONSULTA DE VENDAS   ************\n\n\n\n\n");  
    printf("Digite o periodo a ser consultado: (DD/MM/AAAA)\n");
    printf("  /  /     a   /  /    \n");
    enter_data(1, 7, diac, mesc, anoc);
    dia = atoi(diac);
    mes = atoi(mesc);
    ano = atoi(anoc);
    enter_data(14, 7, dia2c, mes2c, ano2c);
    dia2 = atoi(dia2c);
    mes2 = atoi(mes2c);
    ano2 = atoi(ano2c);
    clrscr();
    printf("Exibindo vendas feitas no periodo entre %d/%d/%d e %d/%d/%d:\n\n", dia, mes, ano, dia2, mes2, ano2);
    vtotal = 0;
    for(x=0; x<contv; x++)
    {
       fseek(v, sizeof(vendas)*x, SEEK_SET);
       fread(&venda, sizeof(vendas), 1, v);
       if(vendas.ano > ano && venda.ano < ano2)
       {
          if(venda.mes > mes && venda.mes < mes2)
          {
             if(venda.dia > dia && venda.dia < dia2)
             {
                 printf("Nome: %s\n", venda.nome);             
                 printf("Quantidade: %d\n", venda.quantidade);                 
                 printf("Valor Total: R%c%.2f\n\n", 36, venda.total_venda); 
                 printf("Data da Compra: %d/%d/%d\n\n", venda.dia, venda.mes, venda.ano);
                 printf("**************************************************************************************\n\n"); 
                 vtotal += venda.total_venda;       
             }          
          }          
       }     
    }
    printf("*********************************");
    printf("*                               *");
    printf("*********************************");
    getch();
    fclose(a);
    fclose(v);           
}
funcoes.h
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>

typedef struct cadastro
{
   char nome[50];
   int codigo;   
   float preço;
   int estoque;        
}cadastro;

typedef struct vendas
{
    float total_venda;
    int codigo;   
    int quantidade;
    int dia, mes, ano; 
    char nome[50];   
} vendas;

int exib(char *estoque, char *auxiliar);
void consulta_vendas(char *vendas, char *auxiliar);
void enter_data(int curx, int cury, char *dia, char *mes, char *ano);
void cadastro_produtos(char *estoque, char *auxiliar);
int del_produtos(char *estoque, char *auxiliar);
int menu(char *esc);
int menu_cadastro(char *esc);
int menu_consultas(char *esc);
int menu_consultas_estoque(char *esc);
void ordem(char *estoque, int cont);
int pesquisa_codigo(char *estoque, char *auxiliar);
void verif_arq(char *estoque, char *auxiliar, char *vendas);
int verif_ab(FILE *p);
void verif_cod(int cod, int cont, int *aux, char *estoque);
O erro é
6 J:\Faculdade\LTP\Trabalho LTP\consultas.c syntax error before "venda"

Acho que não é necessario postar as outras funções mas se quiserem.

Agradeço a que puder ajuda.

Editado por FoToRiouS
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Veja se isso já corrige

;)

typedef struct _cadastro

{

char nome[50];

int codigo;

float preço;

int estoque;

}cadastro;

typedef struct _vendas

{

float total_venda;

int codigo;

int quantidade;

int dia, mes, ano;

char nome[50];

} vendas;

So o que aconteceu é que os erros mudaram.

In file included from consultas.c:1:
funcoes.h:9: error: stray '\231' in program
funcoes.h:9: warning: no semicolon at end of struct or union
funcoes.h:9: error: syntax error before "o"
funcoes.h:11: error: syntax error before '}' token
funcoes.h:11: warning: data definition has no type or storage class
consultas.c: In function `consulta_vendas':
consultas.c:6: error: syntax error before "venda"

consultas.c:37: error: `venda' undeclared (first use in this function)
consultas.c:37: error: (Each undeclared identifier is reported only once
consultas.c:37: error: for each function it appears in.)
consultas.c:38: error: request for member `ano' in something not a structure or union

make.exe: *** [consultas.o] Error 1

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...