Ir ao conteúdo
  • Cadastre-se
Sylerr

MENUS para Projetos em C

Posts recomendados

Criei uns Menus para utilizarem em C pré-definidos com os MENUS.

Cada sub tópico consta como ele funciona.

Lista de Cada Sub-Tópico:

  • Menu 01 - Utilizando Setas do Teclado (CIMA/BAIXO) (OK)
  • Menu 02 - Utilizando Setas do Telcado (DIREITA/ESQUERDA) (Em Breve)
  • Menu 03 - Utilizando Duplo Clique do MOUSE - (Em Breve)

Obs.: Caso Tenham Alguma Ideia, Postem Aqui que eu analise e Implemento pra vocês o mais rápido possível.

  • Dúvidas?
  • Opiniões?
  • Críticas?
  • Postem que eu respondo.
  • Achou Legal? Agradeça :P

Menu 01 - Utilizando Setas do Teclado (CIMA/BAIXO)

  • Descrição: Menu de Cadastro, Edição e Exclusão de Alunos e Professores
  • Utilização? Menu é acessado através das SETAS (Cima/Baixo) do Teclado. Para acesso ao Menu, Utilizando ENTER

Código


#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>
#include <cstdlib>
#include <conio2.h>

# define LIMPAMENS " "
#define ACIMA 72
#define ABAIXO 80
#define ENTER 13
#define ESC 27



void gotoxy( int x, int y )
{
COORD coord;
coord.X = (short)x;
coord.Y = (short)y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}

int MENU_PRINCIPAL()
{
int aux;
int posicao = 6, tecla;
do{
system("cls");
gotoxy(24,5);printf("____________MENU____________");
gotoxy(23,6);printf("| Cadastrar |");
gotoxy(23,7);printf("| Editar Cadastro |");
gotoxy(23,8);printf("| Listar |");
gotoxy(23,9);printf("| Deletar Cadastro |");
gotoxy(23,10);printf("| Importar BD |");
gotoxy(23,11);printf("| Exportar BD |");
gotoxy(23,12);printf("| relação |");
gotoxy(23,13);printf("| Fechar Programa |");
for(int i=24;i<52;i++)
{
gotoxy(i,14);printf("%c", 238);
}
gotoxy(24,posicao);printf("%c%c",16,16);gotoxy(50,posicao);printf("%c%c",17,17);
tecla=getch();
if(tecla == ABAIXO)
{
posicao=posicao+1;
if(posicao==14)
{
posicao=6;
}

}
if (tecla == ACIMA)
{
posicao=posicao-1;
if(posicao==5)
{
posicao=13;
}

}

}while(tecla!= ENTER);
return posicao;

}

main()
{
MENU_PRINCIPAL();
}


  • Modos de Uso:: SwitchCase
    !!!!
    Para utilizar com Switch, o primeiro Case tera que ter o valor 6, pois ele retorna a posição do console ou seja. Menu Cadastro esta na posição 6.
    Abaixo a cabela com os cases.

--------------------------------------------------------

  • Case 6 : Cadastro
  • Case 7 : Alterar Cadastro
  • Case 8 : Listar
  • Case 9 : Deletar Cadastro
  • Case 10 : Importar BD
  • Case 11 : Exportar BD
  • Case 12 : Relação
  • Case 13 : Fechar Programa

Vocês podem mudar o que cada CASE faz, porém não podem mudar os Números dos cases, se não. Não funciona.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde, gostei desse projeto, será que você tem um de cadastro de produto e vendas? Preciso fazer, mas essa não é a minha área, faço automação industrial e neste semestre tive programação e tenho esse trabalho pra fazer. O cadastro tem que armazenar código, título, preço e quantidade. Vendas tem que ter nome, data, lista de livros da venda, qtda e valor da venda. Para que só vou teoria eu acho que a professora pegou pesado, estou precisando de ajuda, se você tiver um código parecido já me ajuda, eu vou tentando ajustar ao que preciso. Desde já agradeço quaisquer ajuda. Obrigado. 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Sylerr Já pensou em usar ncurses ou SDL?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
51 minutos atrás, KXSY disse:

@Sylerr Já pensou em usar ncurses ou SDL?

Obrigado por responder, sinceramente não usei, pois falar a verdade não sei como usar, eu já fiz um algoritmo mas só o cadastro de livros, não sei como fazer um menu que tenha os dois itens, produtos e vendas, desculpe a minha ignorância, mas não tivemos muito conteúdo em programação. 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jose Alberto Gomes Leandro      se você postar o enunciado do exercício ficaria mais fácil , então o que entendi é que  você quer é cadastrar os produtos e depois cadastrar os produtos vendidos ?  se for assim então você pode usar vetores para guardar os dados dos produtos e dos produtos vendidos ,  faça seu código e poste aqui para vermos como está e em que podemos ajudar   .

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 boa noite, é acho que não ficou muito claro, o que ela pede é: um programa que gerencie os livros e vendas e que tenha as seguintes funcionalidades

-inserir livros: armazenar uma certa Qtde., usando para isso um vetor de estruturas, a Qtde. é definida pelo usuário.

-imprimir todos os livros armazenados com seus dados;

-busque os dados de um livro dado seu código. Como resposta imprimir os dados do livro ou uma msg que não existe livro com esse código.

-Venda: insira os dados da venda, a lista de livros escolhido pelo usuário com suas Qtde., calcule o valor total da venda e imprima os dados da venda. Lembre que numa venda é necessário verificar se a Qtde. de exemplares do livro comprado existe na livraria e depois que a venda é feita é preciso diminuir a Qtde. de exemplares de cada um dos livros vendidos. Cada venda realizada deve ser colocada em um vetor de vendas.

-atualização do estoque: dada a Qtde. de livros adquiridos pela livraria de um certo código, fazer a atualização da Qtde. no vetor de livros do livro comprado.

 

OBS.; é preciso organizar o programa em um menu de opções que permita uma fácil execução da funcionalidades.

 

é isso que ela pediu, como não sou da área, eu acho que é um tanto complexo pelo que ela passou de matéria, mas é a prova final deste bimestre, por isso estou desesperado e quase sem tempo. o que fiz foi:

 

https://pastebin.com/raw/VR4T3w9C?fbclid=IwAR2-XCw_LfQSTAH92sfSmihkOMJB8JF6Y1LZFT7SNvwazCKHrXKHelbjG4M

 

#define QTREG 30

typedef struct {

int Codigo;

char titulo[50];

int quantidade;

float preco;

} REGPRODUTO;

REGPRODUTO produto[30];

int cadastrar();

void alterarEstoque(int pCodgio, int pQuantidade);

//CABEÇALHO DA FUNÇÃO MODIFICAR O PREÇO DE UM PRODUTO

void modificarPreco(int pCodigo, float pPreco);

//CABEÇALHO DA FUNÇÃO REALIZAR VENDA

float venda();

void alterarEstoque(int pCodgio, int pQuantidade);

//CABEÇALHO DA FUNÇÃO MODIFICAR O PREÇO DE UM PRODUTO

void modificarPreco(int pCodigo, float pPreco);

//CABEÇALHO DA FUNÇÃO REALIZAR VENDA

float venda();

int main(void) {

int op = 0;

// setlocale(LC_ALL, "Portuguese");

while (op != 7) {

printf("\n\n\t** Loja de livros da Automacao-IFSP 2019 **\n\n\n");

printf("MENU\n\n1 - Cadastrar Livro\n2 - Atualizar Estoque\n3 - Alterar preco produto");

printf("\n4 - Realizar venda\n5 - Consultar estoque\ - \n7 - Sair\n");

fflush(stdout);

scanf("%d", &op);

fflush(stdin);

system("cls");

switch (op) {

system("pause");

return 0;

}

 

 

desde ja, agradeço a ajuda.

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jose Alberto Gomes Leandro    seu código está bom , mas com erros ,  esse exercício precisa de muito tempo para fazer , é bem longo e difícil mesmo , principalmente para iniciantes ,  e seu código com algumas modificações poderia ser assim  :

#define QTREG 30
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <conio.h>
typedef struct         {
    int   codigo       ;
    char  titulo[50]   ;
    int   quantidade   ;
    float preco        ;
}REGPRODUTO            ;

REGPRODUTO produto[30 ];

int cadastrar_livro(  );
int atualizar_estoque();
int alterar_prc_prod( );
int realizar_venda(   );
int consultar_estoque();
int listar_livros(    );
int cont,i             ;
int main(){
    int op = 0;
    // setlocale(LC_ALL, "Portuguese");
    while (op != 7){
        system("cls");
        printf("\n\t** Loja de livros da Automacao-IFSP 2019 **\n");
        printf("\n\t\t======== MENU ===========\n");
        printf("\n\t\t1 - Cadastrar Livro"      );
        printf("\n\t\t2 - Atualizar Estoque"    );
        printf("\n\t\t3 - Alterar preco produto");
        printf("\n\t\t4 - Realizar venda"       );
        printf("\n\t\t5 - Consultar estoque"    );
        printf("\n\t\t6 - listar livros"        );
        printf("\n\t\t7 - Sair do programa"     );
        printf("\n\n\t\t    Sua Opcao -> "      );
        fflush(stdin                            );
        scanf("%d",&op                          );
        system("cls"                            );
        switch (op){
        case 1:
            cadastrar_livro();
            break;
        case 2:
            atualizar_estoque();
            break;
        case 3:
            alterar_prc_prod();
            break;
        case 4:
            realizar_venda();
            break;
        case 5:
            consultar_estoque();
            break;
        case 6:
            listar_livros();
            break;
        case 7:
            printf("Saindo . . . !\n\n\n");
            return 0;
        }
        printf("\nTecle !");
        getch();
    }
    return 0;
}
int cadastrar_livro(){
    printf("cadastrando livros !\n");
    char op;
    do{
        printf("codigo -----: ");
        fflush(stdin);
        scanf("%d",&produto[cont].codigo);
        printf("titulo -----: ");
        fflush(stdin);
        scanf("%s", produto[cont].titulo);
        printf("preco ------: ");
        fflush(stdin);
        scanf("%f",&produto[cont].preco);
        printf("quantidade -: ");
        scanf("%d",&produto[cont].quantidade);
        cont++;
        printf("Cadastrar outro livro S/N");
        fflush(stdin);
        op = (char)getch();
        printf("\n\n");
    }while( toupper(op) !='N' );
    return 0;
}
int atualizar_estoque(){
    printf("atualizando estoque !\n\n");
    return 0;
}
int alterar_prc_prod(){
    printf("alterando precos dos produtos !\n\n");
    return 0;
}
int realizar_venda(){
    printf("realizando venda de livros !\n\n");
    return 0;
}
int consultar_estoque(){
    printf("consultando estoque !\n\n");
    return 0;
}
int listar_livros(){
    printf("listando livros !\n\n");
    for(i=0;i<cont;i++){
        printf("Codigo ------: %d  \n",produto[i].codigo    );
        printf("Titulo ------: %s  \n",produto[i].titulo    );
        printf("Preco -------: %.2f\n",produto[i].preco     );
        printf("Quantidade --: %d\n\n",produto[i].quantidade);
    }
    return 0;
}

faça as outras funções e poste aqui .

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 bom dia, poxa, muito obrigado, eu vou tentar fazer mas acho que não vou conseguir entregar ele do jeito que ela pediu, acho até que ela quer isso mesmo, ela não deve esperar que todos consigam, mas vão até onde é o nosso limite, você ajudou muito, vou rodar estes códigos e buscar completar ao máximo, se eu tiver alguma dúvida eu posto, e também o que eu fizer para você poder comentar. Muito obrigado mesmo, que Deus te abençoe. 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!