Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

crud em Lin C com bd txt, Notas de estudo de Informática

Inserir, atualizar, listar e deletar registros com banco de dados txt.

Tipologia: Notas de estudo

2014

Compartilhado em 01/04/2014

gilmar-marcelo-1
gilmar-marcelo-1 🇧🇷

5

(1)

1 documento

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
#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
8 7
printf("\n Digite uma das op oes\n\n");
printf("\n <I> - Incluir cadastro de paciente");
printf("\n <A> - Alterar cadastro de paciente");
printf("\n <E> - Excluir cadastro de paciente");
0 0
8 7
printf("\n <C> - Consultar situa Æo ");
printf("\n <L> - Listar");
printf("\n <S> - Sair");
0 0
8 7
printf("\n\n\n Op ao:");
gets(opcao);
op=tolower(*opcao);
} while(!strchr("iaeclsh",op));
switch(op){/*D*/
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe crud em Lin C com bd txt e outras Notas de estudo em PDF para Informática, somente na Docsity!

#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 - Excluir cadastro de paciente"); 0 0 printf("\n - Consultar situa8 7 Æo "); printf("\n - Listar"); 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 para sair:\n\n"); gets(reg.nome);

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(&reg, 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(&reg, 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(&reg, 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(&reg, 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(&reg, 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(&reg, 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(&reg, sizeof(struct registro), 1, fp)!=1) { 0 0 printf("\nErro na grava8 7 ao..."); getch(); } else { printf("\nExclusao feita com sucesso!"); getch(); } } } fclose(fp); }