Programa Controle de Livros


/* Definição: Programa Controle de Livros
* Autores: Allan, Juliano       02/06/2009
* Var: i e j: controlam os laços e as posições dos elementos op: opção do menu
* Funcionalidade: O usuário pode Incluir e Listar ate 7 Livros com Código, Nome e Preço
*/

#include <stdio.h>
#include <conio.h>
#include <conio.c>

struct LIVROS
{
    int CODIGO;
    char NOME[9];
    float PRECO;
}

LIVRO[8];
int i,j;
char RESP;

int style()
{
    textbackground(BLUE); clrscr();
    textcolor(WHITE);
    gotoxy(1,2); printf     ("||============================================================================|| ");
    gotoxy(1,3); printf("||"); textcolor(YELLOW); printf("############################################################################"); textcolor(WHITE); printf("|| ");
    gotoxy(1,4); printf ("||============================================================================|| ");
    gotoxy(1,5); printf ("||                                                                            || ");
    gotoxy(1,6); printf ("||                                                                            || ");
    gotoxy(1,7); printf ("||                                                                            || ");
    gotoxy(1,8); printf ("||                                                                            || ");
    gotoxy(1,9); printf ("||                                                                            || ");
    gotoxy(1,10); printf("||                                                                            || ");
    gotoxy(1,11); printf("||                                                                            || ");
    gotoxy(1,12); printf("||============================================================================|| ");
    gotoxy(1,13); printf("||                                                                            || ");
    gotoxy(1,14); printf("||                                                                            || ");
    gotoxy(1,15); printf("||                                                                            || ");
    gotoxy(1,16); printf("||                                                                            || ");
    gotoxy(1,17); printf("||                                                                            || ");
    gotoxy(1,18); printf("||                                                                            || ");
    gotoxy(1,19); printf("||                                                                            || ");
    gotoxy(1,20); printf("||                                                                            || ");
    gotoxy(1,21); printf("||                                                                            || ");
    gotoxy(1,22); printf("||                                                                            || ");
    gotoxy(1,23); printf("||                                                                            || ");
    gotoxy(1,24); printf("||============================================================================|| ");
}
int incluir()
{
    char NomeTemp[9];
    textbackground(BLUE); textcolor(WHITE);gotoxy(26,13); printf(" INCLUSAO DE LIVROS ");
    textbackground(YELLOW);textcolor(BLACK);
    gotoxy(21,15); printf("Informe o Codigo do Livro [1 a 7]:");
    textcolor(YELLOW);textbackground(BLUE);printf("[ ]");
    gotoxy(56,15); textcolor(WHITE); scanf("%d",&i);
    if ((LIVRO[i].NOME[0] == '')&&(<8)&&(>0))
    {
        LIVRO[i].CODIGO = i;
        textbackground(YELLOW);
        gotoxy(21,16); printf("                                  ");
        gotoxy(21,18); printf("                                  ");
        gotoxy(21,20); printf("                                  ");
        textcolor(BLACK); gotoxy(21,17); printf("Informe o Titulo do Livro........:");
        textcolor(YELLOW); textbackground(BLUE); printf("[         ]");
        textbackground(YELLOW); textcolor(BLACK); gotoxy(21,19); printf("Informe o Preco do Livro.........:");
        textcolor(YELLOW); textbackground(BLUE); printf("[         ]");
        gotoxy(56,19); textcolor(WHITE); printf("R$    .00");
        fflush(stdin); // Limpa o buffer de entrada de dados
        gotoxy(57,17); gets(NomeTemp);
        //Lê o conteúdo da variável NomeTemp incluindo espaços em branco
        strcpy (LIVRO[i].NOME,NomeTemp);
        // Copia o conteudo da string NomeTemp para LIVRO[i].NOME
        gotoxy(59,19); scanf("%f",&LIVRO[i].PRECO);
        gotoxy(21,22); printf(" Dados Inseridos com Sucesso! ");
        textbackground(BLACK); textcolor(YELLOW);
        gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();
    }
    else
    {
        gotoxy(21,22);
        if ((LIVRO[i].NOME[0] != '')&&(<8))
            printf(" Codigo Ocupado ");
        else
            printf(" Codigo Invalido ");
        textcolor(YELLOW);
        gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();
    }
}

int consultar()
{
    gotoxy(26,13); printf(" LISTAGEM GERAL DE LIVROS ");
    textbackground(YELLOW); textcolor (BLACK);
    gotoxy(3,18); printf(" NOME:");
    textcolor(WHITE); textbackground(BLUE);gotoxy(1,20); printf("||============================================================================||");
    textbackground(YELLOW); textcolor (BLACK);
    gotoxy(3,22); printf("PRECO:");

    for (i=1;<=7;i++)
    {
        if (LIVRO[i].NOME[0] != '')
        {
            gotoxy(3+i*10,16); printf(" %d ",LIVRO[i].CODIGO);
            gotoxy(i*10,18); printf("%9s",LIVRO[i].NOME);
            gotoxy(i*10,22); printf("R$ %6.2f",LIVRO[i].PRECO);
        }
    }
    gotoxy(21,25); textbackground(BLACK); textcolor(YELLOW);
    printf("Pressione qualquer tecla para continuar!");
    getch();
}

int alterar()
{
    char NomeTemp[9];
    textbackground(BLUE);textcolor(WHITE);gotoxy(26,13); printf(" ALTERACAO DE LIVROS ");
    textbackground(YELLOW);textcolor(BLACK);
    gotoxy(21,15); printf("Informe o Codigo do Livro [1 a 7]:");
    printf("[ ]");
    gotoxy(56,15); textcolor(WHITE); scanf("%d",&i);
    if ((LIVRO[i].NOME[0] != '')&&(<8)&&(>0))
    {
        LIVRO[i].CODIGO = i;
        textbackground(BLUE);
        gotoxy(21,16);                   printf("                                  ");
        gotoxy(21,18);                   printf("                                  ");
        gotoxy(21,20);                   printf("                                  ");
        textcolor(WHITE); gotoxy(21,17); printf("Titulo do Livro......:            ");
        printf("%9s",LIVRO[i].NOME);
        gotoxy(21,19); printf("Preco do Livro.......:                 ");
        printf("%.2f",LIVRO[i].PRECO);
        textbackground(BLUE); textcolor(YELLOW);gotoxy(21,22); printf("Confirma a alteracao (S/N)");
        RESP=getche();
        if (RESP=='S' || RESP=='s')
        {
            textbackground(YELLOW);
            gotoxy(21,16);                   printf("                                  ");
            gotoxy(21,18);                   printf("                                  ");
            gotoxy(21,20);                   printf("                                  ");
            textcolor(BLACK); gotoxy(21,17); printf("Codigo do Livro.......:         ");
            textcolor(WHITE);printf("%d",LIVRO[i].CODIGO);
            textcolor(BLACK); gotoxy(21,19); printf("Informe o Titulo do Livro........:");
            textcolor(YELLOW); textbackground(BLUE); printf("[         ]");
            textbackground(YELLOW); textcolor(BLACK); gotoxy(21,19); printf("Informe o Preco do Livro.........:");
            textcolor(YELLOW); textbackground(BLUE); printf("[         ]");
            gotoxy(56,19); textcolor(WHITE); printf("R$    .00");
            fflush(stdin); // Limpa o buffer de entrada de dados
            gotoxy(51,17); gets(NomeTemp);
            //Lê o conteúdo da variável NomeTemp incluindo espaços em branco
            strcpy (LIVRO[i].NOME,NomeTemp);
            // Copia o conteudo da string NomeTemp para LIVRO[i].NOME
            gotoxy(54,19); scanf("%f",&LIVRO[i].PRECO);
            gotoxy(21,22); printf(" Dados Inseridos com Sucesso! ");
            textbackground(BLACK); textcolor(YELLOW);
            gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();
        }
        else
        {
            gotoxy(21,22); printf(" Alteracao Cancelada! ");
            textbackground(BLACK); textcolor(YELLOW);
            gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();
        }

    }
    else
    {
        gotoxy(21,22);
        if ((LIVRO[i].NOME[0] == '')&&(<8))
            printf(" Codigo Nao Cadastrado ");
        else
            printf(" Codigo Invalido ");
        textcolor(YELLOW);
        gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();
    }

}

int remover()
{
    char NomeTemp[9];
    textbackground(BLUE);textcolor(WHITE);gotoxy(26,13); printf(" REMOCAO DE LIVROS ");
    textbackground(YELLOW);textcolor(BLACK);
    gotoxy(21,15); printf("Informe o Codigo do Livro [1 a 7]:");
    printf("[ ]");
    gotoxy(56,15); textcolor(WHITE); scanf("%d",&i);
    if ((LIVRO[i].NOME[0] != '')&&(<8)&&(>0))
    {
        LIVRO[i].CODIGO = i;
        textbackground(YELLOW);
        gotoxy(21,16);                   printf("                                  ");
        gotoxy(21,18);                   printf("                                  ");
        gotoxy(21,20);                   printf("                                  ");
        textcolor(BLACK); gotoxy(21,17); printf("Titulo do Livro......:            ");
        printf("%9s",LIVRO[i].NOME);
        gotoxy(21,19); printf("Preco do Livro.......:                 ");
        printf("%.2f",LIVRO[i].PRECO);
        gotoxy(21,22); printf("Confirma a remocao (S/N)");
        RESP=getche();
        if (RESP=='S' || RESP=='s')
        {
            LIVRO[i].CODIGO='';
            LIVRO[i].NOME[0]='';
            LIVRO[i].PRECO='';

            textcolor(WHITE);textbackground(BLUE);gotoxy(21,22); printf("Remocao Efetuada com Sucesso");
        }
        else
        {
            gotoxy(21,22); printf("Remocao Cancelada!");
        }
    }
    else
    {
        gotoxy(21,22);
        if ((LIVRO[i].NOME[0] == '')&&(<8))
            printf(" Codigo Nao Cadastrado ");
        else
            printf(" Codigo Invalido ");
    }
    textcolor(YELLOW);
    gotoxy(21,25); printf("Pressione qualquer tecla para continuar!"); getch();

}

main()
{

    char op;
    for (i=1; <=7; i++) //Zerando Todos os Registros
    {
        LIVRO[i].CODIGO='';
        LIVRO[i].NOME[0]='';
        LIVRO[i].PRECO='';
    }

    do
    {
        style();
        textcolor (WHITE); gotoxy(27,3); printf(" CONTROLE DE LIVROS ");
        textcolor(BLACK); textbackground(YELLOW);
        gotoxy(27,5);  printf("                   ");
        gotoxy(27,6);  printf(" 1: Incluir Livro  ");
        gotoxy(27,7);  printf(" 2: Consulta Geral ");
        gotoxy(27,8);  printf(" 3: Alterar        ");
        gotoxy(27,9);  printf(" 4: Remover        ");
        gotoxy(27,10); printf(" 5: Sair           ");
        gotoxy(27,11); printf(" Opcao:            ");
        textcolor(BLACK); gotoxy(43,11); printf("[ ]"); gotoxy(44,11); op=getche();
        switch(op)
        {
            case '1': incluir(); break;
            case '2': consultar(); break;
            case '3': alterar(); break;
            case '4': remover(); break;
            default:
            {
                textcolor(YELLOW);
                if (op!='5')
                {
                    gotoxy(12,25);
                    printf("Opcao Invalida! Pressione qualquer tecla para continuar!"); getch();
                }
                else
                {
                    textcolor(BLACK); gotoxy(36,25); printf("Ate Logo..."); _sleep(1000);
                }
            }
        }
    }
    while(op!='5');
}

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s