Ejemplo n.º 1
0
//tornar executável
int analise_semantica(char (*comando)[TAM], executavel programa[]){
	int i, n, abre_parenteses, fecha_parenteses, resultado, param;
	int y = 300;//horizontal
    int x = 630;//vertical
    int estado_carro = 1;

	printf("\n INSTRUÇÕES: \n");
	
	n = retorna_tamanho_matriz(comando);
    for(i=0; i<n; i++){
    	//1. Mapeamento dos pontos de quebra
    	abre_parenteses = busca_caractere(comando[i], '(');
		fecha_parenteses = busca_caractere(comando[i], ')');

    	//2. Armazenamento e Tratamento dos Dados
		//Instrução
		forma_frase(comando[i], programa[i].instrucao, 0, abre_parenteses-1);
		converte_string_maiuscula(programa[i].instrucao);
		limpa_espacos(programa[i].instrucao);
		//Parâmetro
		forma_frase(comando[i], programa[i].parametro, abre_parenteses+1, fecha_parenteses-1);
		converte_string_maiuscula(programa[i].parametro);
		limpa_espacos(programa[i].parametro);

		//3. Execução dos Comandos
		printf("%d. ", i+1);
		resultado = busca_dicionario(programa[i].instrucao);
		switch(resultado){
			case 1:
				param = converte_p_numero(programa[i].parametro);
					if(estado_carro == 1 || estado_carro == 2){
						x = avanca(param, x, y, estado_carro);
					}
					else{
						y = avanca(param, x, y, estado_carro);
					}
				break;
			case 2:
				if(strcmp(programa[i].parametro, "DIREITA")==0){
					estado_carro = vira(1, x, y, estado_carro); 
				}
				else{
					estado_carro = vira(2, x, y, estado_carro);
				}
				break;
			case 3:
				param = converte_p_numero(programa[i].parametro);
				if(estado_carro == 1 || estado_carro == 2){
						x = retorna(param, x, y, estado_carro);
					}
					else{
						y = retorna(param, x, y, estado_carro);
					}
				break;
		}
    }

	return 0;
}
Ejemplo n.º 2
0
Archivo: 1º.c Proyecto: ualexsj/lab1_2
int main(){
	char String[100];		
	printf("Digite Uma String: ");
	gets(String);
	retorna(String);
	return 0;	
}
Ejemplo n.º 3
0
void main()
{
/*
subClasse oObj;
cout << oObj.addteste() << endl;
subClasse* pObj = new subClasse;
cout << pObj->addteste() << endl;
base* pBase = pObj;
cout << pBase->addteste() << endl;
delete pObj;
*/
subClasse oObj;
subClasse* pObj = new subClasse;
cout << retorna(&oObj) << endl;
cout << retorna(pObj) << endl;

delete pObj;
return;
}
Ejemplo n.º 4
0
int main()
{
    Lista L;
    int i, n, j, k;

    Lista A[3][3];

    L = NULL;

    printf("Ingrese valor de N ");
    scanf("%d",&n);

    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            A[i][j] = NULL;
        }
    }

    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            printf("\n\nInsertando %d-%d\n",i,j);
            for(k=1; k<=n; k++)
                agregarPrimero(&A[i][j], 5);
        }
    }

    printf("mostrando \n");
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            printf("mostrando %d-%d\n",i,j);
            mostrar(A[i][j]);
        }
    }

    printf("retorna %d\n",retorna(A,1,1));

    system("pause");
}
void ordenar::recupera(void)
{   int C[max],i;
     for(i=0;i<num;i++)
     C[i]=B[i];
     retorna(C);
}