Escolar Documentos
Profissional Documentos
Cultura Documentos
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
fclose(arquivo);
}
printf("Pacientes cadastrados:\n");
while (fread(&paciente, sizeof(struct Paciente), 1, arquivo) == 1) {
printf("Nome: %s\nTipo Sanguineo: %s\nIdade: %d\n\n", paciente.nome,
paciente.tipo_sanguineo, paciente.idade);
}
fclose(arquivo);
}
fseek(arquivo, 0, SEEK_END);
long tamanho = ftell(arquivo);
long inicio = 0;
long fim = tamanho / sizeof(struct Paciente) - 1;
if (comp1 == 0) {
printf("Paciente encontrado:\n");
printf("Nome: %s\nTipo Sanguineo: %s\nIdade: %d\n\n", paciente.nome,
paciente.tipo_sanguineo, paciente.idade);
fclose(arquivo);
return;
} else if (comp1 > 0) {
fim = terco1 - 1;
} else if (comp2 == 0) {
printf("Paciente encontrado:\n");
printf("Nome: %s\nTipo Sanguineo: %s\nIdade: %d\n\n", paciente.nome,
paciente.tipo_sanguineo, paciente.idade);
fclose(arquivo);
return;
} else if (comp2 > 0) {
inicio = terco1 + 1;
fim = terco2 - 1;
} else {
inicio = terco2 + 1;
}
}
fclose(arquivo);
fclose(temp);
remove("pacientes.bin");
rename("temp.bin", "pacientes.bin");
if (!encontrado) {
printf("Paciente não encontrado.\n");
} else {
printf("Paciente editado com sucesso.\n");
}
}
fclose(arquivo);
fclose(temp);
remove("pacientes.bin");
rename("temp.bin", "pacientes.bin");
if (!encontrado) {
printf("Paciente não encontrado.\n");
} else {
printf("Paciente removido com sucesso.\n");
}
}
fseek(arquivo, 0, SEEK_END);
long tamanho = ftell(arquivo);
quantidade_pacientes = tamanho / sizeof(struct Paciente);
fseek(arquivo, 0, SEEK_SET);
for (int i = 0; i < quantidade_pacientes; i++) {
fread(&pacientes[i], sizeof(struct Paciente), 1, arquivo);
}
fclose(arquivo);
fclose(arquivo);
}
// Função principal
int main() {
int opcao;
do {
printf("\nMenu:\n");
printf("1. Cadastrar Pacientes\n");
printf("2. Imprimir Pacientes Cadastrados\n");
printf("3. Buscar Paciente\n");
printf("4. Editar Paciente\n");
printf("5. Deletar Paciente\n");
printf("6. Ordenar Pacientes\n");
printf("0. Sair\n");
printf("Escolha uma opção: ");
scanf("%d", &opcao);
switch (opcao) {
case 1:
cadastrarPaciente();
break;
case 2:
imprimirPaciente();
break;
case 3:
buscarPaciente();
break;
case 4:
editarPaciente();
break;
case 5:
deletarPaciente();
break;
case 6:
ordenarPacientes();
break;
case 0:
printf("Saindo do programa.\n");
break;
default:
printf("Opção inválida.\n");
}
} while (opcao != 0);
return 0;
}