All pastes #796222 Raw Edit

Cadastro de Clientes

public c v1 · immutable
#796222 ·published 2007-11-24 21:39 UTC
rendered paste body
#include <stdio.h>#include <conio2.h>#include <ctype.h> #include <windows.h>#include <time.h>#include "My_Library.c"typedef struct{ int cod, idade, pac, quarto, pol;                char nome[20];                float valor;              }Tclientes;              Tclientes clienteaux, clientenulo; //registros auxiliaresint op, la, qa, posicao, ql, l, qt, pos, tecla;FILE *pn, *ps; //ponteiros para os ônibus de Natal e Salvadorchar resp[1], nomelido[80]; //ler a resposta e transforma para maiusculovoid resposta(){ fflush(stdin);  gets(resp);  resp[0]=toupper(resp[0]);}void testenome(){ int tn, i;  tn = strlen(nomelido);  if (tn>19)  {   strncpy(clienteaux.nome,nomelido,19);      clienteaux.nome[19]='\0';  }  else     strcpy(clienteaux.nome,nomelido);}//verifica a quantidade de registros no arquivo de Natalint verquantn(){ int qrn=0;  fseek(pn,0, SEEK_SET);  fread(&clienteaux, sizeof(Tclientes), 1, pn);  while(!feof(pn))  {  if (clienteaux.cod != 0)      qrn++;      fread(&clienteaux, sizeof(Tclientes), 1, pn);  }  return qrn;}  //verifica a quantidade de registros no arquivo de Salvadorint verquants(){ int qrs=0;  fseek(ps,0, SEEK_SET);  fread(&clienteaux, sizeof(Tclientes), 1, ps);  while(!feof(ps))  {  if (clienteaux.cod != 0)      qrs++;      fread(&clienteaux, sizeof(Tclientes), 1, ps);  }  return qrs;    }//Abre o arquivo de Natal e retorna a quantidade de registrosint abre_arquivon(){  int quantregn;    if ((pn = fopen("arqnat.dat","r+b"))== NULL)        pn = fopen("arqnat.dat","w+b");   // O arquivo de Natal não existe, precisa ser criado e inicializado   quantregn = verquantn();    clientenulo.cod =0;   clientenulo.idade =0;     clientenulo.pac =0;   clientenulo.quarto =0;   clientenulo.pol =0;   strcpy(clientenulo.nome," \0");   return quantregn;}//Abre o arquivo de Salvador e retorna a quantidade de registrosint abre_arquivos(){  int quantregs;    if ((ps = fopen("arqsal.dat","r+b"))== NULL)        ps = fopen("arqsal.dat","w+b");   // O arquivo de Salvador não existe, precisa ser criado e inicializado   quantregs = verquants();    clientenulo.cod =0;   clientenulo.idade =0;     clientenulo.pac =0;   clientenulo.quarto =0;   clientenulo.pol =0;   strcpy(clientenulo.nome," \0");   return quantregs;}int procura(int codp){ int p;  p= 0;  fseek(pn,0, SEEK_SET);  fread(&clientenulo, sizeof(Tclientes), 1, pn);  while ((!feof(pn)) && (clientenulo.cod!=codp))  {  fread(&clientenulo, sizeof(Tclientes),1, pn);     p++;  }       if (clientenulo.cod == codp)     return p;  else     p=-1;  if (p=-1)  {p= 0;  fseek(ps,0, SEEK_SET);  fread(&clientenulo, sizeof(Tclientes), 1, ps);  while ((!feof(ps)) && (clientenulo.cod!=codp))  {  fread(&clientenulo, sizeof(Tclientes),1, ps);     p++;  }       if (clientenulo.cod == codp)     return p;  else     return -1;}// imprime os dados dos clientes na telavoid mostre(){  moldura2(3,12,78,16,14);   vertical(12,16,12,14);   vertical(12,16,34,14);   vertical(12,16,42,14);   vertical(12,16,53,14);   vertical(12,16,64,14);   gotoxy(5,13);   aprintf("Código");   gotoxy(14,13);   printf("Nome do Cliente");   gotoxy(36,13);   printf("Idade");   gotoxy(44,13);   printf("Pacote");   gotoxy(55,13);   printf("Quarto");   gotoxy(66,13);   printf("Poltrona");   textcolor(YELLOW);   gotoxy(5,15);   printf("%6d",clienteaux.cod);   gotoxy(14,15);   printf("%-20s",clienteaux.nome);   gotoxy(36,15);   printf("%5d",clienteaux.idade);   gotoxy(44,15);   if (clienteaux.pac==1)      printf("Salvador");   else      printf("Natal");    gotoxy(55,15);   if (clienteauxn.quarto==1)      printf("Standard");   else      printf("Luxo");    gotoxy(66,15);   printf("%8d",clienteaux.pol);   textcolor(WHITE);}