Exemplo n.º 1
0
void main(){
	char string1[] = "palavra qualquer";
	char string2[] = "palavra qualquer";
	char string3[] = "outras qualquers";

	assert(false == comparaString(string1, string3, 16));
	assert(true == comparaString(string1, string2, 16));
	assert(false == comparaString(string2, string3, 16));
}
Exemplo n.º 2
0
/* Procura, por busca binaria, no vetor vet_a por um struct que tem nusp 'nusp'.
 Devolve o indice de tal struct se existir, ou -1 caso contrario. */
int indiceDisciplina( char disciplina[] ) {
	int left = 0, right = numDisciplina - 1, i, compara;
	while( left <= right ) {
		i = (left + right) / 2;
		compara = comparaString( vet_d[ i ].sigla, disciplina );
		if( compara == 0 )
			return i;
		else if( compara < 0 ) {
			right = i - 1;
		} else {
			left = i + 1;
		}
	}
	return -1;
}
Exemplo n.º 3
0
/* Realiza a matricula do aluno com 'nusp' em 'disciplina', registrando o log em
 'fp_saida'. */
void matriculaAluno( int nusp, char disciplina[], FILE *fp_saida ) {
	int al = indiceAluno( nusp ), mid, compara;
	pAluno_Disciplina p, prev = NULL, obj;
	if( al == -1 ) {
		fprintf( fp_saida, "\tErro: Aluno de nUSP '%d' nao existe.\n", nusp );
		return;
	}
	mid = indiceDisciplina( disciplina );
	if( mid == -1 ) {
		fprintf( fp_saida, "\tErro: Disciplina '%s' nao existe.\n", disciplina );
		return;
	}
	for( p = vet_a[al].inicio; p != NULL; p = p->prox_disc ) {
		if( p->ind_disc == mid ) {
			fprintf( fp_saida, "\tErro: Aluno de nUSP '%d' ja matriculado em '%s'.\n", nusp, disciplina );
			return;
		} else if( p->ind_disc > mid )
			break;
		prev = p;
	}
	obj = malloc( sizeof( Aluno_Disciplina ) );
	if( !obj ) masterError("Erro ao reservar memoria para Aluno_Disciplina");
	obj->ind_aluno = al;
	obj->ind_disc = mid;
	obj->prox_disc = p;
	if( prev == NULL )
		vet_a[al].inicio = obj;
	else
		prev->prox_disc = obj;
	
	prev = NULL;
	for( p = vet_d[mid].inicio; p != NULL; p = p->prox_aluno ) {
		if( comparaString( vet_a[ p->ind_aluno ].nome, vet_a[ al ].nome ) < 0 )
			break;
		prev = p;
	}
	obj->prox_aluno = p;
	if( prev == NULL )
		vet_d[mid].inicio = obj;
	else
		prev->prox_aluno = obj;
	fprintf( fp_saida, "\tAluno de nUSP '%d' matriculado em '%s' com sucesso.\n", nusp, disciplina );
}
Exemplo n.º 4
0
int main() {
	char s1[128], s2[128], c;
	int i;
	while(42) {
		i = 0;
		while( (c = fgetc( stdin )) != ' ' && c != '\n' ) {
			s1[i] = c;
			i++;
		}
		s1[i] = '\0';
		i = 0;
		while( (c = fgetc( stdin )) != ' ' && c != '\n' ) {
			s2[i] = c;
			i++;
		}
		s2[i] = '\0';
		printf("'%s','%s': %d\n", s1, s2, comparaString( s1, s2 ) );
	}
	return 0;
}
Exemplo n.º 5
0
main(){
     char classe[12], classe2[9], classe3[11];
	
	 bool comparaString(char c[], char c2[]); /*definindo função de comparacao de strings*/
	 
	scanf("%s %s %s", &classe, &classe2, &classe3); /*recebendo strings de classes de animais*/ 

    if(comparaString("vertebrado", classe)){ /*verificando se a primeira string digitada eh igual a vertebrado*/
		 if(comparaString("ave", classe2)){  /*verificando se a segunda string digitada eh igual a ave*/
		     if(comparaString("carnivoro", classe3)) printf("aguia"); /*verificando se a terceira string digitada eh igual a carnivoro*/
		     else if(comparaString("onivoro", classe3)) printf("pomba");/*verificando se a terceira string digitada eh igual a onivoro*/
		}
		 
	   	 else if(comparaString("mamifero", classe2)){
			 if(comparaString("onivoro", classe3)) printf("homem");
		   	 else if(comparaString("herbivoro", classe3)) printf("vaca");
		}				
	}
	
    else if(comparaString("invertebrado", classe)){
		 if( comparaString("inseto", classe2)){
		     if(comparaString("hematofago", classe3)) printf("pulga");
		     else if(comparaString("herbivoro", classe3)) printf("lagarta");
		}
		
	    else if(comparaString("anelideo", classe2)){
		   	 if(comparaString("hematofago", classe3)) printf("sanguessuga");
		   	 else if(comparaString("onivoro", classe3)) printf("minhoca");
		}		
	}	
	printf("\n");/*Pula linha os fim dos condicionais*/
	
     return 0;
}