sexta-feira, 30 de novembro de 2012

Vendas de Ingressos - Linguagem C

Programinha simples e eficiente que pode servir de base para outros
mais elaborados; Como queria mostrar as opções I D R S com cor diferente,
tive duas opções, uma era usar a função void ConPrintAt(); ou usar o gotoxy com textcolor mesmo.
e aqui no código mostro como usar as duas opções. A função void ConPrintAt(); Que adicionei
na conio2.h , aliás esta conio2.h é demais, fácil de usar e ainda permite que você
adicione outras funções; más em alguns casos isto não é fácil de se fazer.
Hoje já uso esta biblioteca no visual studio 2008, visual studio 2010, todos eclipse
no netbeans, no Dev c++, no code lite e no codeblocks.
Abaixo do código temos duas funções a que citei a cima "void ConPrintAt();" e outra, que é semenlhante
a textbakcground da conio2.h.

Aqui mostro como declara-las:

void ConPrintAt(int x, int y, char *CharBuffer, int len); // declaração da ConPrintAt();
void SetColorAndBackground(int ForgC, int BackC); // declaração da SetColorAndBackground();

copie, cole e compile o código abaixo:


#include <stdio.h>
#include <conio2.h>
int main(){
const int valor = 800; // Preço do assento
int idade, tarifa = 0, assentos, total;
char opc;
total = 0;
assentos = 0;
while(1){
system ("title VENDAS DE INGRESSO");
system("cls");
textbackground(BLACK);textcolor(LIGHTRED);gotoxy(30,2);printf("VENDAS DE INGRESSO");
textcolor(YELLOW);gotoxy(29,4);printf("roccoataca@hotmail.com");
textcolor(LIGHTBLUE);gotoxy(29,6);printf("ESCOLHA UMA OPCAO ABAIXO:");
textcolor(YELLOW);gotoxy(54,6);printf(" I   D   R   S");
textcolor(LIGHTBLUE);gotoxy(56,6);printf(" |");   // Este bloco funciona semelhante ao de baixo que usa ConPrintAt.
textcolor(LIGHTBLUE);gotoxy(60,6);printf(" |");
textcolor(LIGHTBLUE);gotoxy(64,6);printf(" |");

//textcolor(LIGHTBLUE);ConPrintAt(56,5," |",2); // Este bloco funciona semelhante ao de cima que usa gotoxy.
//textcolor(LIGHTBLUE);ConPrintAt(60,5," |",2);
//textcolor(LIGHTBLUE);ConPrintAt(64,5," |",2);

textcolor(WHITE);gotoxy(20,8);printf("COMPRAR UM INGRESSO");
gotoxy(20,9);printf("VER O RESUMO DE VENDAS");
gotoxy(20,10);printf("SAIR");
gotoxy(26,10);ConPrintAt(24,9,":",2);textcolor(LIGHTBLUE);
opc = getche();
gotoxy(26,10);
if (opc == 'I')
{
textcolor(LIGHTRED);gotoxy(20,12);printf("QUAL E SUA IDADE ? ");
scanf("%d",&idade);
assentos = assentos + 1;
textcolor(WHITE);gotoxy(20,14);printf("INGRESSO DE ENTRADA");
if ((idade >= 2) && (idade <= 10))
{
textcolor(YELLOW);gotoxy(20,16);printf(" | crianca |");tarifa = 0;
}
if ((idade >= 11) && (idade <= 18))
{
textcolor(YELLOW);gotoxy(20,16);printf(" | Adolescente |");tarifa = valor / 2;
}
if ((idade >= 19) && (idade <= 60))
{
textcolor(YELLOW);gotoxy(20,16);printf(" | Adulto |");tarifa = valor;
}
if ((idade >= 61) && (idade <= 90))
{
textcolor(YELLOW);gotoxy(20,16);printf(" | Idoso |");tarifa = valor/4;
}
total = total + tarifa;
textcolor(YELLOW);gotoxy(20,18);printf("preco = %5d",tarifa);
Sleep(1800);
}
if (opc == 'R')
{
textcolor(LIGHTRED);gotoxy(26,12);printf("RESUMO DE VENDAS");
textcolor(LIGHTGREEN);gotoxy(26,14);printf("assentos");
textcolor(LIGHTRED);gotoxy(43,14);printf("= %d", assentos);
textcolor(LIGHTGREEN);gotoxy(26,16);printf("Total Arrecadado");
textcolor(LIGHTRED);gotoxy(43,16);printf("= %d", total);
Sleep(2800);
}
if (opc == 'S')
{
textcolor(YELLOW);gotoxy(26,16);printf("O ROCCO AGRADECE!");Sleep(1800);
exit(0);
}
if (opc == 'D')
{
system("start http://www.youtube.com/watch?v=OpBX64X2XPo&feature=relmfu");
Sleep(80);
}
}
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.