All pastes #796330 Raw Edit

Minha biblioteca

public c v1 · immutable
#796330 ·published 2007-11-24 23:58 UTC
rendered paste body
#include <conio2.h>#include <windows.h>#include <time.h>#include <conio.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include <ctype.h>//definicões das mensagens de êxito e erro:#define MSG_INS_OK "Cliente inserido com sucesso! Tecle enter..."#define MSG_REM_OK "Cliente removido com sucesso! Tecle enter..."#define MSG_REM_CAN "\aRemoção cancelada! Tecle enter..."#define MSG_OP_ERRO "\aOpção inválida! Tecle enter..."#define MSG_COD_REP "\aEste código já existe! Tecle enter..."#define MSG_COD_INE "\aCódigo de cliente inexistente! Tecle enter..."#define MSG_CONS_nomeoucod "\aCliente não encontrado! Tecle enter..."#define MSG_Trans_CAN "\aTransferência cancelada! Tecle enter..."#define MSG_POL_Ocup "\aEsta poltrona já está ocupada! Tecle enter..."//imprimir um texto com acentovoid aprintf(char texto[80]){ char text[80];  CharToOem(texto,text);  printf("%s",text);} // centraliza o texto em uma linhavoid centraliza(char texto[80], int linha){ int tam, c;  tam =strlen(texto);  c = (80-tam)/2;  gotoxy(c,linha);  aprintf(texto);} //cria uma moldura na tela void moldura(){ int j, al;  //linha 1  gotoxy(1,1);  for(j=1;j<=80;j++)     printf("%c",205);  //linha 2  gotoxy(1,4);  for(j=1;j<=80;j++)     printf("%c",205);  //linha 3  gotoxy(1,22);  for(j=1;j<=80;j++)     printf("%c",205);  //linha 4  gotoxy(1,24);  for(j=1;j<=80;j++)     printf("%c",205);  //linha vertical esquerda e direita  for (j=2; j<=23; j++)  { gotoxy(1,j);    printf("%c",186);    gotoxy(80,j);     printf("%c",186);  }   //cantoneira 1 - cima-esquerda  gotoxy(1,1);  printf("%c",201);  //cantoneira 2 - cima-direita  gotoxy(80,1);  printf("%c",187);  //cantoneira 3 - baixo-esquerda  gotoxy(1,24);  printf("%c",200);  //cantoneira 4 - baixo-direita  gotoxy(80,24);  printf("%c",188);  //cantoneira 5 - linha 4-esquerda  gotoxy(1,4);  printf("%c",204);  //cantoneira 6 - linha 4-direita  gotoxy(80,4);  printf("%c",185);  //cantoneira 7 - linha 22-esquerda  gotoxy(1,22);  printf("%c",204);  //cantoneira 8 - linha 22-direita  gotoxy(80,22);  printf("%c",185);}//passa linha vertical numa tabela com duas divisoes// li -> linha onde inicia o traco vertical// lf -> linha onde finaliza o traco vertical// c -> coluna onde a linha vertical sera desenhada// divisoria -> linha onde passa a segunda linha void vertical(int li, int lf, int c, int divisoria){ int j;  gotoxy(c,li);  printf("%c",203);  for (j=li+1; j<=lf; j++)  { gotoxy(c, j);    printf("%c",186);  }  gotoxy(c,lf);  printf("%c",202);  gotoxy(c,divisoria);  printf("%c",206);}//monta moldura com duas divisoes// xin -> coluna onde inicia a moldura, yin -> linha onde inicia a moldura// xfim -> coluna onde finaliza a moldura, yfim -> linha onde finaliza a moldura // linhadiv -> linha que divide a moldura void moldura2(int xin, int yin, int xfim, int yfim, int linhadiv){ int j, al;  gotoxy(xin,yin);  printf("%c",201);  for(j=xin+1;j<xfim;j++)     printf("%c",205);  printf("%c",187);  al=yfim-yin;  for (j=1; j<=al; j++)  { gotoxy(xin, yin+j);    printf("%c",186);    gotoxy(xfim, yin+j);     printf("%c",186);  }   gotoxy(xin,yfim);  printf("%c",200);  for(j=xin+1;j<xfim;j++)     printf("%c",205);  printf("%c",188);  gotoxy(xin,linhadiv);  printf("%c",204);  for(j=xin+1;j<xfim;j++)     printf("%c",205);  gotoxy(xfim,linhadiv);  printf("%c",185);}//desenha a telavoid tela(char acao[80]){ textcolor(WHITE);  clrscr();  moldura();  gotoxy(29,2);   printf("Boa Viagem Turismo");  centraliza(acao, 3);}//limpa a linha 23, esta eh a linha de comunicacao do programa com o usuariovoid limpa(){ gotoxy(2,23);   clreol();  gotoxy(80,23);  textcolor(WHITE);  printf("%c",186);  gotoxy(3,23); }//limpa a qualquer linha, comecando de uma determinada colunavoid limpalinha(int c, int l){ gotoxy(c,l);   clreol();  gotoxy(80,l);  textcolor(WHITE);  printf("%c",186);}//limpa a tabela apresentada na consulta, alteracao e remocaovoid limpamostre(){ int i;  gotoxy(28,9);  clreol();  gotoxy(80,9);  printf("%c",186);  for (i=12;i<=16;i++)  { gotoxy(2,i);     clreol();    gotoxy(80,i);    printf("%c",186);  }}//escreve uma mensagem na tela, na linha 23, com a cor desejadavoid mensagem(char m[80], int cor){ limpa();  textcolor(cor);  aprintf(m);  textcolor(WHITE);  getche();}//funcao que coloca data e hora no programavoid dh(){  time_t ltime = time(NULL);   struct tm *hoje;//   hoje = localtime(&ltime);   gotoxy(69,5);   printf("%02d/%02d/%4d\n",hoje->tm_mday,hoje->tm_mon+1,hoje->tm_year+1900);   gotoxy(74,6);   printf("%02d:%02d\n",hoje->tm_hour,hoje->tm_min);}//monta a tela de menuvoid menu(){  textbackground(BLACK);   textcolor(WHITE);    clrscr();   tela("Controle de pacotes");   dh();   gotoxy(7,6);   aprintf("Opções:");   gotoxy(13,7);   printf("1 - Compra de pacote");   gotoxy(13,9);   aprintf("2 - Desistência de pacote");   gotoxy(13,11);   aprintf("3 - Mudança de pacote");   gotoxy(13,13);   aprintf("4 - Consultar cliente por código");   gotoxy(13,15);   printf("5 - Consultar cliente por nome");   gotoxy(13,17);   aprintf("6 - Calcular preço de pacote");   gotoxy(13,19);   aprintf("7 - Listagem de ocupação do ônibus");   gotoxy(13,21);   printf("0 - Sair do Programa");   gotoxy(3,23);   aprintf("Informe a opção desejada: ");   gotoxy(29,23);}//funcao para verificar se foi digitado um numero inteiro// retorna um se der erro e zero se okint testeint(char numint[10]){ int t, v, i;  t= strlen(numint);  v=0;  for(i=0;i<t;i++)  {  if ((i==0) && (numint[0] == '-'))        v=0;     else     {  if (isdigit(numint[i])==0)        {  v=1;           break;        }     }  }  return v;}