



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Inserir, atualizar, listar e deletar registros com banco de dados txt.
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!
#include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> struct registro { char nome[40]; char protocolo[5]; char situacao[20]; char cor[20]; char tel[20]; char status; }reg; FILE fp; /prototipo das funcoes*/ void incluir (void); void consultar(void); void excluir(void); void alterar(void); void abrir(void); void listar(void);
int main(void) { char opcao[2], op; do{ do{ system("cls"); printf("\n\n\n\n\n\n\n");
printf("\t========================================================\n"); printf("\t# #\n"); printf("\t# TRABALHO FINAL - ALGORITIMOS II #\n"); printf("\t# #\n"); printf("\t# PROFESSOR: x #\n"); printf("\t# #\n"); printf("\t# PROGRAMA DE CADASTRO HOSPITALAR #\n"); printf("\t# #\n");
printf("\t========================================================\n\n"); 0 0 printf("\n Digite uma das op8 7 oes\n\n"); printf("\n - Incluir cadastro de paciente"); printf("\n - Alterar cadastro de paciente"); printf("\n - Sair"); 0 0 printf("\n\n\n Op8 7 ao:"); gets(opcao); op=tolower(opcao); } while(!strchr("iaeclsh",op)); switch(op){/D*/
case 'i' : incluir(); break; case 'a' : alterar(); break; case 'e' : excluir(); break; case 'c' : consultar(); break; case 'l' : listar(); break; case 's' : exit(0); } }while(1); } 0 0 /Fun8 7 oes/ void abrir(char tipo[3]) { if((fp=fopen("C:paciente.txt", tipo))==NULL){ printf("\n O arquivo nao pode ser aberto!!\n"); getch(); exit(1); } } void incluir(void){ abrir("ab+"); fseek(fp,0L, SEEK_END);
do{ printf("\n Digite o nome do paciente ou
if ((strcmp(reg.nome,"fim")!=0)&&(strcmp(reg.nome,"FIM")!=0)){ printf("\n Digite o numero da ficha de atendimento:"); gets(reg.protocolo); 0 0 printf("\n Situa8 7 Æo do paciente ALTA/INTERNADO:"); gets(reg.situacao); printf("\n Prioridade [Verde]-Aguardar | [amarela]-Urgencia| [Vermelha]-Emergente:"); gets(reg.cor); printf("\n Telefone (00)0000-0000:"); gets(reg.tel); reg.status='1'; if(fwrite(®, sizeof(struct registro), 1, fp) != 1) { 0 0 printf("\n Erro de grava8 7 Æo!!"); getch(); } else 0 0 { printf("\n Grava8 7 Æo feita com sucesso...\n\n");} } }while((strcmp(reg.nome,"fim")!=0)&&(strcmp(reg.nome,"FIM")!=0)); fclose(fp); } int busca (void){ int achou=-1,posicao=0; char nomep[20]; abrir("rb"); printf("\nDigite o nome do paciente:"); gets(nomep); rewind(fp); while((!feof(fp))&&(achou==-1))
else { abrir("rb+"); fseek(fp,pos*sizeof(struct registro),SEEK_CUR); fread(®, sizeof(struct registro), 1, fp); 0 0 printf("\nAlterar situa8 7 Æo do paciente:%s",reg.nome);
0 0 printf("\nSitua8 7 Æo do paciente:%s",reg.situacao); getch();
0 0 printf("\nSitua8 7 Æo do paciente:"); gets(reg.situacao);
reg.status='1'; fseek(fp,pos*sizeof(struct registro),SEEK_SET); if(fwrite(®, sizeof(struct registro),1, fp)!=1) { 0 0 printf("\nErro na grava8 7 Æo..."); } else { printf("\nRegistro atualizado com sucesso..."); getch(); } } fclose(fp); } void listar(void) { int cont=0;
abrir("rb"); fseek(fp, 0L, SEEK_SET); fread(®, sizeof(struct registro),1, fp); do { if (reg.status!='0') { printf("\nNome do paciente: %s",reg.nome); printf("\nProtocolo de atendimento numero: %s",reg.protocolo); 0 0 printf("\nSitua8 7 Æo do paciente: %s",reg.situacao); printf("\nCor da prioridade do atendimento: %s",reg.cor); printf("\nTelefone: %s",reg.tel); cont++; printf("\n"); } fread(®, sizeof(struct registro),1, fp); }while(!feof(fp)); printf("\n#Numero de pacientes=%d",cont); getch(); } void excluir(void){
int pos; pos=busca(); if(pos==-1) { printf("\nPaciente nÆo encontrado no sistema"); getch(); } else { if(pos==-2) { printf("\nPaciente excluido do sistema"); getch(); } else { abrir("rb+"); fseek(fp, possizeof(struct registro), SEEK_SET); fread(®, sizeof(struct registro), 1, fp); printf("\nNome: %s",reg.nome); printf("\nProtocolo de atendimento numero: %s",reg.protocolo); printf("\nSituacao: %s",reg.situacao); printf("\nCor da prioridade do atendimento: %s",reg.cor); printf("\nTelefone: %s",reg.tel); printf("\nDigite qualquer tecla para excluir o registro do paciente --> %s",reg.nome, (pos+1)); getch(); //strcpy(reg.status,"0"); reg.status='0'; fseek(fp, possizeof(struct registro), SEEK_SET); if(fwrite(®, sizeof(struct registro), 1, fp)!=1) { 0 0 printf("\nErro na grava8 7 ao..."); getch(); } else { printf("\nExclusao feita com sucesso!"); getch(); } } } fclose(fp); }