Ir ao conteúdo

Posts recomendados

Postado

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
Postado

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
Postado

@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
Postado

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

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!