Jump to content

[C++] Ajuda: Programa com objectos (Resolvido)


elementsky
 Share

Recommended Posts

Boas pessoal, comecei agora a aprender c++, e isto não está a ser fácil, preciso de fazer um programa que mostre os dados de um aluno. recorrendo a uma classe e respectivo construtor, funções de acesso, funções inline e funções membro da classe. os dados são: nome, idade, turma, numero e nota final de periodo. no final o programa deverá mostrar todos os dados de um aluno.

Tenho o programa assim, foi tudo o que consegui:

#include <iostream>
using namespace std;

class aluno {
private:
	int idade, nf;

public:

	char nome[50], turma[10];
	int num;

	aluno.a1 {
		cout<<"Qual o seu nome";
		cin>>nome;

		cout<<"Qual o seu numero";
		cin>>num;

		cout<<"Qual a sua idade";
		cin>>idade;

		cout<<"Qual a sua nota final";
		cin>>nf;

		cout<<"Qual e a sua turma";
		cin>>turma;
	}

};

main()
{

aluno.a1
{
	cout<<nome<<;
	cout<<num<<;
	cout<<idade<<;
	cout<<nf<<;
	cout<<turma<<;
};


}	

Link to comment
Share on other sites

programação orientada a objectos tem muito que se lhe diga...

esse teu código está bastante mau, devias ter os atributos todos como private, implementar as funções set e get para cada um dos atributos, criar construtores, etc.

devias ter o código separado por 3 ficheiros: um seria o header da classe Aluno (que devia começar por letra maiúscula), outro para a implementação das funções da classe aluno e outro com a função main.

Link to comment
Share on other sites

Se te mandaram fazer o trabalho assim do nada, desculpa lá mas que raio de professores é que tens? Ou andas a baldar-te às aulas? :😄 É que no código que apresentaste faltam muitas das bases necessárias para conseguires fazer o trabalho... Vou tentar corrigir, mas devias ir ter com o professor e pedir-lhe umas explicações, porque só pelo que vou escrever aqui não vais conseguir ficar a saber o que precisas...

Pelo que entendi do trabalho, não é pretendida uma abordagem de programação orientada por objectos, mas antes uma de programação com objectos, sem ser orientada por eles.

Dizes que tens que utilizar um construtor para obter os dados do aluno. Em vez de

aluno.a1 {

(que não é sequer código correcto), devias ter um construtor para a classe Aluno:

Aluno() {

. Já agora, as classes devem começar sempre por maiúscula. Não é um requerimento, mas é como a indentação, fica mais bonito e contribui para a facilidade de leitura do código ;)

Depois tens a função main... onde tens que construir um objecto da classe Aluno, cujo construtor (que é invocado quando crias o objecto) te vais automaticamente pedir os dados do aluno. A tua função main deverá simplesmente ser:

void main() {
Aluno a1;
}

e com esta alteração todos os campos da classe já podem ser privados.

O código que colocaste na main também não está sintacticamente correcto, tens ali umas << a mais no final dos couts...

Desaparecido.

Link to comment
Share on other sites

Se te mandaram fazer o trabalho assim do nada, desculpa lá mas que raio de professores é que tens? Ou andas a baldar-te às aulas? :😄 É que no código que apresentaste faltam muitas das bases necessárias para conseguires fazer o trabalho... Vou tentar corrigir, mas devias ir ter com o professor e pedir-lhe umas explicações, porque só pelo que vou escrever aqui não vais conseguir ficar a saber o que precisas...

Pelo que entendi do trabalho, não é pretendida uma abordagem de programação orientada por objectos, mas antes uma de programação com objectos, sem ser orientada por eles.

Dizes que tens que utilizar um construtor para obter os dados do aluno. Em vez de

aluno.a1 {

(que não é sequer código correcto), devias ter um construtor para a classe Aluno:

Aluno() {

. Já agora, as classes devem começar sempre por maiúscula. Não é um requerimento, mas é como a indentação, fica mais bonito e contribui para a facilidade de leitura do código ;)

Depois tens a função main... onde tens que construir um objecto da classe Aluno, cujo construtor (que é invocado quando crias o objecto) te vais automaticamente pedir os dados do aluno. A tua função main deverá simplesmente ser:

void main() {
Aluno a1;
}

e com esta alteração todos os campos da classe já podem ser privados.

O código que colocaste na main também não está sintacticamente correcto, tens ali umas << a mais no final dos couts...

Este foi o código que já entreguei, foi falta de estudo, agora o stor mandou, meter os programas a funcionar, os << eram para uns \n que ainda não tinha metido, obrigado pelas dicas.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.