Ir ao conteúdo
  • Cadastre-se

C++ Projeto de cadastro em C++


thevaulthuntebr

Posts recomendados

Antes de tudo, eu sou bem novato no assunto em C++, faço um curso e eu tenho um trabalho que é de criar um programa que cadastre, remova e liste alunos e suas médias, porém eu travei e não sei como continuar ele, não sei como eu faço para colocar os alunos e nem como fazer os comandos funcionarem

Pretendo usar o programa QT para criar uma interface melhor e não sei se para esse cadastro eu deva usar banco de dados ou txt, alguem pode me ajudar?

Segue abaixo tudo o que eu ja fiz

____________________________________________________________

#include <iostream>
#include <stdlib.h>
#include <stdio.h>

int nomeAluno, i, lista, consulta, removendo, alunosAprovados, alunosReprovados, media;
void inserirAluno();
void listar();
void consultar();
void remover();
void listarAlunosAprovados();
void listarAlunosReprovados();
void listarMediaAlunos();

int main() {
    int op;
    {
        std::cout << "\t\t *********************************************** " << std::endl;
        std::cout << "\t\t *                                             * " << std::endl;
        std::cout << "\t\t *             1. Inserir Aluno                * " << std::endl;
        std::cout << "\t\t *             2. Lista de Alunos              * " << std::endl;
        std::cout << "\t\t *             3. Consultar Aluno              * " << std::endl;
        std::cout << "\t\t *             4. Remover Aluno                * " << std::endl;
        std::cout << "\t\t *             5. Alunos Aprovados             * " << std::endl;
        std::cout << "\t\t *             6. Alunos Reprovados            * " << std::endl;
        std::cout << "\t\t *             7. Média dos alunos             * " << std::endl;
        std::cout << "\t\t *                                             * " << std::endl;
        std::cout << "\t\t *********************************************** " << std::endl;
        std::cout << "\t\t" << std::endl;
        std::cout << "\t\t Escolha uma opção" << std::endl;
        std::cin >> op;

    }while (op < 1 || op>7);

    switch (op)
    {
    case 1: inserirAluno();
        break;
    case 2: listar();
        break;
    case 3: consultar();
        break;
    case 4: remover();
        break;
    case 5: listarAlunosAprovados();
        break;
    case 6: listarAlunosReprovados();
        break;
    case 7: listarMediaAlunos();
    }
}
void inserirAluno() {
    std::cout << "\t Digite o nome do aluno" << std::endl;
    std::cout << std::endl;
    std::cin >> nomeAluno;
    
}
void listar() {
    std::cout << "\t Lista de alunos em ordem alfabética" << std::endl;
    std::cout << std::endl;
    std::cin >> lista;
    for (i = 0; i < nomeAluno; i++);
    for (int j = i + 1; j < nomeAluno; j++);
}
void consultar() {
    std::cout << "\t Consulte algum aluno" << std::endl;
    std::cout << std::endl;
    std::cin >> consulta;
}
void remover() {
    std::cout << "\t Remova algum aluno" << std::endl;
    std::cout << std::endl;
    std::cin >> removendo;
}
void listarAlunosAprovados() {
    std::cout << "\t Alunos aprovados em ordem alfabetica" << std::endl;
    std::cout << std::endl;
    std::cin >> alunosAprovados;
}
void listarAlunosReprovados() {
    std::cout << "\t Alunos reprovados em ordem alfabética" << std::endl;
    std::cout << std::endl;
    std::cin >> alunosReprovados;
}
void listarMediaAlunos() {
    std::cout << "\t Média dos alunos em ordem alfabética" << std::endl;
    std::cout << std::endl;
    std::cin >> media;
}
______________________________________________________

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Boa noite, então antes de mais nada, queria aconselhar a usar "using namespace std;" depois dos includes, assim você não precisa usar "std::" .

Ao ver seu código, não creio que há muitos erros. Na questão de usar banco de dados ou txt - a minha opinião é que o txt é mais rápido e prático -, porém o banco de dados possui uma estrutura pronta e estável, assim como também possui suporte considerável. Essa escolha é sua, acredito que seria bom tentar com arquivos primeiro.

Lembrando que QT é sim compatível com qualquer manipulação de arquivo assim como de banco de dados, já que é apenas c++.

Observando seu código, acredito que você precisa determinar primeiro como ira armazenar os dados antes de começar a fazer as funções inserir, remover, etc...

Após escolher um deles, e pesquisar um pouco sobre, mostre seu código/dúvidas/erros que todos aqui irão lhe ajudar melhor.

Qualquer coisa, estamos aqui.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@thevaulthuntebr     seu código está bom,  mas para você trabalhar com os dados você precisa de um local para armazenar esses dados e para isso você pode usar um vetor ou uma struct que é um vetor mais sofisticado, mas como você está começando creio que seja melhor usar o vetor, pois é mais fácil, então declare um vetor assim logo abaixo dos includes :

#include <conio.h>
char Alunos[10][20];/* este aqui é o vetor */
int x;
char nome[30];

e então na função inserirAlunos use esse vetor para guardar os dados nele  assim :

void inserirAluno() {
    std::cout << "\t Digite o nome do aluno" << std::endl;
    std::cout << std::endl;
    std::cin >> Alunos[x];
    x++;
}

aqui o x é a posição no vetor e nesse caso o vetor foi declarado como tendo 10 posições então só pode guardar dez dados nele ou você pode alterar o valor dele para o tanto que quiser,    e nas outras funções você usa o mesmo vetor como referencia, por exemplo para consultar seria assim :

void consultar() {
    std::cout << "\t Consulte algum aluno  Digite O Nome " << std::endl;
    std::cout << std::endl;
    std::cin >> nome;
    for(i=0;i<10;i++){
        if(strcmp(nome,Alunos[i])==0){
            cout<<"Nome Do Aluno "<<Alunos[i];
            getch();
            break;
        }
    }
}

depois que você estiver acostumado a usar esses vetores você passa a usar os struct  e os arquivos .

 

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Boa tarde

É o costume de colocar sempre o std::cout, agora que acostumei é difícil mudar haha

Estou vendo tutoriais para banco de dados e ja tenho feito aqui a estrutura dele, mas ainda não sei se ta bom

Pretendo fazer o codigo direto no QT ao invés de usar Visual Studio ou outros

To super atrasado com esse projeto por isso demorei a responder porque to enrolado demais

 

Obrigado

adicionado 6 minutos depois

@devair1010 Queria fazer direto no QT, acho mais fácil, vi que meu codigo tinha muitas informações e eu excluí varias para agora cadastrar apenas a id, os alunos, idade, sexo e série, pois estou com muito pouco tempo para fazer esse projeto

Fiz o banco de dados e agora irei fazer a interface e o codigo direto no QT mesmo, ainda sim preciso usar vetores?

(sou muito novato mesmo nisso, as vezes eu leio as coisas e nada entra na minha cabeça kkk)

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!