Тема: Допоможіть з C++

Настав час писати курсач, а я взагалі в недорозумінні, багато чого знаю, але багато пропустив навчання з поважної причини.

Потрібно скласти базу даних, на тему "Облік паспортів", описати через клас, з такими відкритими полями :

-Номер паспорту
-Прізвище власника
-Адреса власника
-Наявність дітей

Введення даних в масив з 12 об`єктів з клавіатури, дані впорядкувати за Прізвищем власника, а також тих у яких є діти, ну і меню

Ось що у мене є, кусочок, але я не впевнений що в тему написав:

#include<iostream>
class oblik_pasportiv
{
int nomer_pasporty;
char*prizvysche;
char*adres;
int dity;
void vv();
void vuv();
void vuv prizvysche();
void vuv dity();
oblik_pasportiv();
oblik_pasportiv;
}
void oblik_pasportiv::vv()
{
cout<<"nomer_pasporty";
cin>>nomer_pasporty;

cout<<"prizvysche";
cin>>prizvysche;

cout<<"adres";
cin>>adres;

cout<<"dity";
cin>>dity;
}
void oblik_pasportiv::vuv()
{
cout<<"Номер паспорту"<<nomer_pasporty;
cout<<"Прізвище власника"<<prizvysche;
cout<<"Адреса власника"<<adres;
cout<<"Наявність дітей"<<dity;

2 Востаннє редагувалося Yola (25.10.2014 13:34:14)

Re: Допоможіть з C++

Ви ж це ще не запускали, правда?

Якщо у вас немає компілятора або є, але не VS, то встановіть собі VS Express Edition. Звикніть до нього. Там дуже зручно писати програми.

І ще, не вводьте з клавіатури. Читайте з файлу, бо з клавіатурою тестувати замахаєтесь.

Щодо структури програми. намагайтесь не всовувати в один клас дані і функції обробки. Дотримуйтесь принципу тримати дані в окремих від алгоритмів класах.

class Passport
{
    // поля
    friend bool operator< (const X& lhs, const X& rhs){  }    
};

// Наступний оператор потрібен для використання в std::sort
inline bool operator< (const X& lhs, const X& rhs){ /* порівнюєте два паспорти */ }    

std::vector<Passport> passports;

3 Востаннє редагувалося koala (25.10.2014 13:29:28)

Re: Допоможіть з C++

1. Теґ для коду на форумі не quote, а code (не лапки, а трикутні дужки на панельці).
2. Робіть відступи: після кожної { - додавайте два пробіли, починаючи з } - прибирайте.
3. Методи класу, які мають бути доступні іззовні, мають бути оголошені як public. Додайте

...
int dity;

public:
void vv();
...

4. Назви методів мають складатися з одного ідентифікатора (vuv_prizvysche, наприклад), без пробілів.
5. char *adres; - це посилання, а не рядок. В нього вводити не можна, якщо не виділити йому пам'ять за допомогою оператора new; для початківців легше зрозуміти форму

char adres[50];//масив з 50 символів, що використовується, як рядок

6. Ще купа дрібниць, але якщо виправите сказане, програма житиме. Пишіть далі, у вас все вийде!
7. Якщо ви багато пропустили з поважної причини - це підстава для надання вам академічної відпустки, а не для того, щоб за вас щось робили :)

4

Re: Допоможіть з C++

Yola:
Функція-член так само спрацює в std::sort, як і дружня. І взагалі друзі - то трохи суперечлива річ.