Bom dia, estou com uma dor de cabeça daquelas tenho que passar um código em C pra java só que não to entendendo nada sou iniciante e o professor não ta ajudando muito!!!
o Código é esse:
[code]#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TRUE 1;
#define FALSE 0;
struct PILHA
{ char valor; struct PILHA *next; } *separador;
int q=0;
void inicializa()
{ separador = (struct PILHA *) malloc(sizeof(struct PILHA));
separador->next= NULL ;
}
void insira(char v)
{
struct PILHA *novo = (struct PILHA *) malloc(sizeof(struct
PILHA));
novo->valor = v;
novo->next = separador->next;
separador->next = novo;
q++;
}
char retire()
{
if (separador->next == NULL)
{ return 27;}
else
{
struct PILHA *novo = (struct PILHA *) malloc(sizeof(struct
PILHA));
novo = separador->next;
separador = separador->next;
q–;
return novo->valor;
}}
int verifique(char c)
{
char guardado;
if (
( c == ‘{’)
||( c == ‘[’)
||( c == ‘(’)
)
{insira©; return TRUE;}
else if (
( c == ‘}’)
||( c == ‘]’)
||( c == ‘)’)
) {guardado = retire();
if (
( (guardado == ‘(’ ) && (c==’)’ ))
|| ( (guardado == ‘[’ ) && (c==’]’ ))
|| ( (guardado == ‘{’ ) && (c==’}’ ))
)
{return TRUE;}
else return FALSE;
}
else return TRUE;
}
int main()
{
char teclado [256];
int valida=TRUE;
inicializa();
printf("\nForneca uma expressao matematica para");
printf(" a analise de separadores:");
gets(teclado);
for (int i = 0; i < strlen (teclado); i++)
{ valida = verifique(teclado[i]);
if (valida == 0 /FALSE/) break;
}
if ((valida)&&(q==0)) {printf("\nexpressao valida!");}
else {printf("\nExpressao invalida!");};
return TRUE;
}[/code]
Mesmo em C ta dando um erro na linha 72 no laço de repetição, gastaria de saber se da pra dar uma força.