示例#1
0
TAVL* alterarAluno(TAVL* t) {
	printf(
			"    ___    ____                          ___    __                \n"
					"   /   |  / / /____  _________ ______   /   |  / /_  ______  ____ \n"
					"  / /| | / / __/ _ \\/ ___/ __ `/ ___/  / /| | / / / / / __ \\/ __ \\\n"
					" / ___ |/ / /_/  __/ /  / /_/ / /     / ___ |/ / /_/ / / / / /_/ /\n"
					"/_/  |_/_/\\__/\\___/_/   \\__,_/_/     /_/  |_/_/\\__,_/_/ /_/\\____/ \n");

	imprime(t);

	TAVL* aluno = NULL;
	int semestre, cargaHoraria;
	while(!aluno){
		printf("Digite umas das matriculas acimas para selecionar o aluno:\n");
		int matricula = lerInteiro();
		aluno = buscar(t, matricula);
	}

	printf("Digite o novo semestre do aluno:\n");
	semestre = lerInteiro();
	printf("Digite a nova carga horario concluida do aluno:\n");
	cargaHoraria = lerInteiro();

	aluno->semestre = semestre;
	aluno->cargaCursada = cargaHoraria;

	return t;
}
void inserirBicicleta(tipoBicicleta bicicletas[MAX_BICICLETAS], int *pQuantidadeBicicletas)
{
    int estado,cont;

    if(*pQuantidadeBicicletas==MAX_BICICLETAS)
    {
        printf("\nNao pode inserir mais bicicletas.");
    }
    else
    {
        lerString("\nInsira designacao da bicicleta: ", bicicletas[*pQuantidadeBicicletas].idBicicleta, MAX_STRING);
        // bicicletas[*pQuantidadeBicicletas].idBicicleta =(*pQuantidadeBicicletas);
        printf("\nBicicleta[%s]:", bicicletas[*pQuantidadeBicicletas].idBicicleta);
        lerString("\nInsira modelo da bicicleta: ",bicicletas[*pQuantidadeBicicletas].modelBicicleta, MAX_STRING);
        bicicletas[*pQuantidadeBicicletas].localBicicleta=lerInteiro("\nInsira onde se encontra a bicicleta:\n\n0 - Residencias\n1 - Campus1\n2 - Campus2\n3 - Campus5\n",0,3);
        bicicletas[*pQuantidadeBicicletas].distanciaTotal=0.0;
        bicicletas[*pQuantidadeBicicletas].avarias=0;
        bicicletas[*pQuantidadeBicicletas].numEmprestimos=0;
        bicicletas[*pQuantidadeBicicletas].estadoBicicleta=0;
        (*pQuantidadeBicicletas)++;
        do
        {
            estado=lerInteiro("\nInsira estado da bicicleta:\n\n 0 - Disponivel\n2 - Avariada\n",0,2);
            cont++;
            if(estado==1)
            {
                printf("\n1 Nao e uma opcao valida. Insira 0 ou 2.");
                cont++;
                if(cont>=2)
                {
                    printf("\nNao insista, insira um valor valido.");
                }
            }
        }
        while(estado==1);
        if(estado==0)
        {
            bicicletas[(*pQuantidadeBicicletas)-1].estadoBicicleta=0;
        }
        else
        {
            do
            {
                registarAvaria(bicicletas,*pQuantidadeBicicletas);
            }
            while(bicicletas[(*pQuantidadeBicicletas)-1].estadoBicicleta==0);
        }
    }
    printf("\nBicicleta registada com sucesso.");
}
void listarHistoricoEmprestimos(tipoEmprestimo *emprestimos, int quantEmprestimos,tipoUtente utentes[MAX_UTENTES], int quantUtentes,tipoBicicleta bicicletas[MAX_BICICLETAS], int quantBicicletas)
{
    int i,j,control=0,idUtente,posU;
    idUtente=lerInteiro("\nInsira numero de utente a procurar: ",0, MAX_IDUTENTES);
    posU=procurarUtente(utentes, quantUtentes, idUtente);
    if(posU==-1)
    {
        printf("\nUtente nao existe.");
    }
    else
    {
        for(i=quantEmprestimos-1; i>=0; i--)
        {
            if(emprestimos[i].idUtente==idUtente)
            {
                if(control==0)
                {
                    for(j=0; j<quantBicicletas; j++)
                    {
                        if(strcmp(emprestimos[i].idBicicleta,bicicletas[j].idBicicleta)==0)
                        {
                            printf("\nUltima bicicleta utilizada pelo utente [%d]:\n", idUtente);
                            mostrarDadosBicicletas(bicicletas[j]);
                            control=1;
                            j=quantBicicletas;
                        }

                    }
                }
                printf("\n\nEmprestimos do utente [%d]:", idUtente);
                mostrarDadosEmprestimos(emprestimos[i]);
            }
        }
    }
}
示例#4
0
int main() {
	int sair = 0;
	TAVL *t = inicializa();

	while (!sair) {
		int opcaoSelecionada;

		limparTela();
		imprimeMenu();

		opcaoSelecionada = lerInteiro();
		limparTela();

		switch (opcaoSelecionada) {
		case 1:
			t = cadastrarAluno(t);
			break;
		case 2:
			t = importarAlunos(t);
			break;
		case 3:
			listarAlunos(t);
			break;
		case 4:
			t = alterarAluno(t);
			break;
		case 5:
			t = telaLimparArvore(t);
			break;
		case 0:
			sair = 1;
			break;
		default:
			printf("Opcao selecionada invalida!  [%d]\n", opcaoSelecionada);
			enterParaContinuar();
		}
	}

	return 0;
}
示例#5
0
TAVL* cadastrarAluno(TAVL* t) {
	printf(
			"   ______          __           __                    __        ___    __                \n"
					"  / ____/___ _____/ /___ ______/ /__________     ____/ /__     /   |  / /_  ______  ____ \n"
					" / /   / __ `/ __  / __ `/ ___/ __/ ___/ __ \\   / __  / _ \\   / /| | / / / / / __ \\/ __ \\\n"
					"/ /___/ /_/ / /_/ / /_/ (__  ) /_/ /  / /_/ /  / /_/ /  __/  / ___ |/ / /_/ / / / / /_/ /\n"
					"\\____/\\__,_/\\__,_/\\__,_/____/\\__/_/   \\____/   \\__,_/\\___/  /_/  |_/_/\\__,_/_/ /_/\\____/ \n");

	int matricula;
	char nome[50];

	printf("Digite a matricula do aluno:\n");
	matricula = lerInteiro();

	printf("Digite o nome do aluno:\n");
	getchar();
	scanf("%30[^\n]", nome);

	t = insere(t, matricula, nome, 0, 1);

	printf("Aluno cadastrado com sucesso!   :-)\n");
	return t;
}
void abrir_arquivo(int *QtUsu, int *QtPro) {
    // Declaracoes
    Cadastro_Usuario Usuario;
    Cadastro_Produto Produto;
    int Valida;
    int Contador = 0;
    FILE *fusuario;
    FILE *fproduto;
    FILE *fcompra;

    // Instrucoes

    /* Abrir o arquivo somente leitura */
    fusuario = fopen("usuario.txt", "wb");

    /* Verificar se abriu os arquivos */
    if (fusuario == NULL) {
        printf("Erro ao abrir ou arquivo de usuarios nao encontrado para leitura.\n");
        printf("Deseja criar o arquivo? (1 = Sim || 2 = Nao)");
        Valida = lerInteiro();
        while (Valida != 1 && Valida != 2){// Enquanto a tecla 1 ou 2 não for apertada
            if (Valida == 1)
                fusuario = fopen("usuario.txt", "ab+");
        }
        if (Valida == 2) {
            while( Contador <= 3 && fusuario == NULL){
                fusuario = fopen("usuario.txt", "ab+");
                printf("   Tentativa numero %d ...\n", Contador + 1);
                Contador++;
                if (Contador == 3)
                    printf("Impossível abrir o arquivo!");
                }
        }
    } else {
        if (tamanho_arquivo(fusuario) != 0)
            while (!feof(fusuario)) { // Enquanto não for o fim do arquivo
                if (fread(&Usuario, sizeof (Cadastro_Usuario), 1, fusuario) != 0)
                    (*QtUsu)++;
            }
        if (fclose(fusuario) != 0)
            exit(1);
    }

    Contador = 0;

    /* Abrir o arquivo somente leitura */
    fproduto = fopen("produto.txt", "wb");

    if (fproduto == NULL) {
        printf("Erro ao abrir ou arquivo de produtos nao encontrado para leitura. \n\n");
        printf("Deseja criar o arquivo? (1 = Sim || 2 = Nao)");
        Valida = lerInteiro();
        while ((Valida != 1) && (Valida != 2)) { // Enquanto a tecla 1 ou 2 não for apertada
            if (Valida == 1)
                fproduto = fopen("produto.txt", "ab+");
        }
        if (Valida == 2) {
            while( Contador <= 3 && fproduto == NULL){
                fproduto = fopen("produto.txt", "ab+");
                printf("   Tentativa numero %d ...\n", Contador + 1);
                Contador++;
                if (Contador == 3)
                    printf("Impossível abrir o arquivo!");
                }
        }
    } else {
        if (tamanho_arquivo(fproduto) != 0)
            while (!feof(fproduto)) { // Enquanto não for fim do arquivo
                if (fread(&Produto, sizeof (Cadastro_Produto), 1, fproduto) != 0)
                    (*QtPro)++;
            }
        if (fclose(fproduto) != 0)
            exit(1);
    }

    /* Abrir o arquivo somente leitura */
    fcompra = fopen("compra.txt", "wb");

    /* Verificar se abriu os arquivos */
    if (fcompra != NULL) {
        if (fechar_determinado_arquivo(fcompra) == -1)
            return;
        remove("compra.txt");
    }
}