Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Projekt bazy danych z użyciem klas.

Ostatnio zmodyfikowano 2013-05-07 17:55
Autor Wiadomość
Los_Emilos
Temat założony przez niniejszego użytkownika
Projekt bazy danych z użyciem klas.
» 2013-05-06 22:22:53
Na zaliczenie tego semestru mam do zrobienia projekt z wykorzystaniem klas. Całość dotyczy bazy danych trenerów i uczestników szkolenia. Miałbym prośbę, o sprawdzenie czy to co do tej pory zrobiłem jest zgodne z ogólnie przyjętymi zasadami i czy będzie działać. Program się oczywiście kompiluje ale jeszcze nie mam możliwości sprawdzenia czy funkcje odpowiednią działają. Pliku .cpp z funkcją int main () nie zamieszczam bo jest jeszcze w powijakach. Będę wielce wdzięczny za uwagi, krytykę, rady- cokolwiek co pomoże mi.
C/C++
#ifndef MEMBER_H
#define MEMBER_H

//plik: member.h

#include <iostream>
#include <string>

using namespace std;

//////////////////////Definicja klasy

class member
{
public:
    void enroll( string id_member, string id_training, string name_member, string l_name_m, int age_m, string email_m ); //zapisywać
    void enroll( string, int );
    void enroll( int );
    void view( int ); //wyświetl
private:
    string identifier_member; //identyfikator uczestnika
    string identifier_training; //identyfikator szkolenia
    string name; //imie uczestnika
    string l_name_member; //nazwisko
    int age; //wiek uczestnika
    string email;
};
#endif
C/C++
//Plik member.cpp

#include "member.h"

using namespace std;
//definicja funckji zapisywanie
void member::enroll( string id_member, string id_training, string name_m, string l_name_m, int age_m, string email_m ) //zapisywać
{
    identifier_member = id_member;
    identifier_training = id_training;
    name = name_m;
    l_name_member = l_name_m;
    age = age_m;
    email = email_m;
}
void member::enroll( string inscription, int choice )
{
    switch( choice )
    {
    case 1:
        {
            identifier_member = inscription;
        }
    case 2:
        {
            identifier_training = inscription;
        }
    case 3:
        {
            name = inscription;
        }
    case 4:
        {
            l_name_member = inscription;
        }
    case 5:
        {
            email = inscription;
        }
    }
}
void member::enroll( int age_m )
{
    age = age_m;
}
void member::view( int number )
{
    switch( number )
    {
    case 1:
        {
            cout << identifier_member;
        }
    case 2:
        {
            cout << identifier_training;
        }
    case 3:
        {
            cout << name;
        }
    case 4:
        {
            cout << l_name_member;
        }
    case 5:
        {
            cout << email;
        }
    case 6:
        {
            cout << age;
        }
    }
}
C/C++
#ifndef TRAINING_H
#define TRAINING_H

//plik training.h

#include <iostream>
#include <string>

using namespace std;

///////////////////////////////Definicja klasy

class training //szkolenie
{
public:
    void enroll( string, string, string, int );
    void enroll( string, int );
    void enroll( int );
    void view( int );
private:
    string identifier_training; //identyfikator
    string name_training; //nazwa szkolenia
    string l_name_trainer; //nazwisko trenera
    int time_training; //czas szkolenia
};
////////////////////////////koniec definicji
#endif
C/C++
//Plik traning.cpp

#include "training.h"

using namespace std;
//Definicja funkcji zapisywanie
void training::enroll( string id_t, string n_t, string l_n_t, int t_t )
{
    identifier_training = id_t;
    name_training = n_t;
    l_name_trainer = l_n_t;
    time_training = t_t;
}
void training::enroll( string inscription, int choice )
{
    switch( choice )
    {
    case 1:
        {
            identifier_training = inscription;
        }
    case 2:
        {
            name_training = inscription;
        }
    case 3:
        {
            l_name_trainer = inscription;
        }
    }
}
void training::enroll( int age )
{
    time_training = age;
}
void view( int number )
{
    switch( number )
    {
    case 1:
        {
            cout << identifier_training;
        case 2:
            {
                cout << name_training;
            }
        case 3:
            {
                cout << l_name_trainer;
            }
        case 4:
            {
                cout << time_training;
            }
        }
    }
P-82282
DejaVu
» 2013-05-06 22:32:47
Szczerze powiedziawszy nie ma czego sprawdzać :) Pisz jak czujesz. Najważniejsze, że dzielisz kod na logiczne klasy i to jest zapewne ideą tego przedmiotu (strzelam: programowanie obiektowe).
P-82283
Los_Emilos
Temat założony przez niniejszego użytkownika
» 2013-05-06 22:48:07
Metody programowania przedmiot, czyli początki programowania obiektowo-orientowanego. Drugi projekt to już dziedziczenie i polimorfizm ale to dopiero po zakończeniu tego.

Mam jeszcze pytanie o zapisywanie tych klas do pliku. Każdy obiekt klasy odzienie powinienem być wysyłany do strumienia zapisu w pliku .txt czy raczej mogę to zrobić przez zapisanie całej klasy (chodzi mi o moment  którym klasa zostanie przydzielona do tablicy lub klasy <vector>)?
P-82289
DejaVu
» 2013-05-07 00:04:37
Programista decyduje o tym jakie rozwiązania zastosuje. Równie dobrze możesz rzucić monetą by podjąć decyzję :)
P-82297
Los_Emilos
Temat założony przez niniejszego użytkownika
» 2013-05-07 00:23:13
Czyli obie metody są zgodne. Dziękuje za cierpliwość. Kolejne efekty swojej pracy pewnie niedługo wrzucę.
P-82299
DejaVu
» 2013-05-07 00:53:30
Czyli obie metody są zgodne.
To Twój wniosek ;p ja nigdzie czegoś takiego nie napisałem :) Stwierdziłem jedynie, że to programista decyduje o kształcie programu... być może faktycznie obie metody są dobrym rozwiązaniem, a być może jedna z nich okaże się nieskuteczna, a być może oba rozwiązania wyprowadzą Ciebie na manowce. Po prostu zastanów się nad swoim problemem i zrób tak jak czujesz - Ty piszesz swój projekt i Ty najlepiej się orientujesz czego w nim potrzebujesz :)
P-82303
Los_Emilos
Temat założony przez niniejszego użytkownika
» 2013-05-07 17:55:36
Rozumiem twoją dewizą jest "co nas nie zabije, to nas wzmocni" ;) . To teraz trzeba wziąć się za kodowanie. Jeszcze raz dziękuje za poświęcony czas.
P-82359
« 1 »
  Strona 1 z 1