Форум программистов, компьютерный форум CyberForum.ru

Кто-нибудь может переделать задачу со структур на классы? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи. http://www.cyberforum.ru/cpp-beginners/thread615609.html
Всем привет! помогите с задачкой! заранее спасибо.! Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи.
C++ Циклы, подскажите пожалуста По условию задачи нужно вычислить выражение, при вводе необходимых данных с клавиатуры. Задача выглядит следующим образом Дан корень, по корнем единица корень третей степени из двух плюс корень n-ой степени из n и т.д т.е это (n+(n1)^(n1+1)\2))^n\2 ... и т.д Вот такое решение я нашёл: #include "stdafx.h" #include <stdio.h> #include <math.h> http://www.cyberforum.ru/cpp-beginners/thread615592.html
C++ Сортировка слов в строке в лексикографическом порядке (по алфавиту)
Как отсортировать слова в строке в лексикографическом порядке (по алфавиту)?Помогите , пожалуйста.
Возврат char* через return C++
Вот написал маленький пример, того с чем не могу разобраться в большой программе: char *filename; FILE *fd; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this);
C++ Удаление строки/столбца матрицы http://www.cyberforum.ru/cpp-beginners/thread615553.html
поиск юзал. сабж. void fun(int **&array, int &row, int col) { int sum = 0; int count = 0; for(int i = 0; i < row; i++) { for(int j = 0; j < col; j++) { sum += array; }
C++ Внедрение в процесс я знаю всего 2 способа как перехватить api dll. 1. это поменять код исполняемой dll. 2. или поменять таблицу импорта в исполняемом ексе... у меня есть прога proxifier называется она както внедряется в api dll и она не использует 2 выше перечисленных способа. т.к подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,420
28.06.2012, 16:26     Кто-нибудь может переделать задачу со структур на классы?
Ну как-то так. Добавишь менюшку, проверку на корректность значений, ну и что там еще тебе надо сделать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <string>
 
class Zodiac
{
  private:
    std::string name, surname, sign;
    int day, month, year;
    bool empty;
  public:
    Zodiac(){empty = true;}
    Zodiac(std::string n, std::string s, std::string z, int a, int b, int c):
            name(n), surname(s), sign(z), day(a), month(b), year(c){empty = false; }
    void fill(std::string n, std::string s, std::string z, int a, int b, int c);
    std::string getSurname() const {return surname; }
    bool operator< (const Zodiac &);
    friend std::ostream& operator<< (std::ostream &, const Zodiac &);
};    
 
int main()
{
    const std::size_t N = 8;
    Zodiac z[N];
    std::size_t counter = 0;
    for (int i=0; i < 2; i++)
    {    
        std::string name, surname, sign;
        int day, month, year;
        std::cout<< "Enter name: "; std::cin>> name;
        std::cin.ignore();
        std::cout<< "Enter surname: "; std::cin>> surname;
        std::cin.ignore();
        std::cout<< "Enter sign: "; std::cin>> sign;
        std::cin.ignore();   
        std::cout<< "Enter DOB: "; std::cin>> day>> month>> year;
        z[counter++].fill(name, surname, sign, day, month, year);
    }
    std::string key;
    std::cout<< "Enter key: "; std::cin>> key;
    for (std::size_t i=0; i < counter; i++)
    //    std::cout<< z[i];
        if (z[i].getSurname() == key) std::cout<<z[i];    
    return 0;
}
 
void Zodiac::fill (std::string n, std::string s, std::string z, int a, int b, int c)
{
    name = n;
    surname = s;
    sign = z;
    day = a;
    month = b;
    year = c;
    empty = false;
}
 
bool Zodiac::operator< (const Zodiac &z)
{
     if (z.year != year)
         return year < z.year;
     if (z.month != month)
         return month < z.month;
     return day < z.day;
}
 
std::ostream& operator<< (std::ostream &out, const Zodiac &z)
{
    if (z.empty) return out;
    out<< "Name: "<< z.name<< std::endl
       << "Surname: "<< z.surname<< std::endl
       << "Sign: "<< z.sign<< std::endl
       << "DOB: "<< z.day<< " "<< z.month<< " "<< z.year<< std::endl<< std::endl;
    return out;
}
Да, и сортировку доделай. Я бы взял во внимание std::sort (оператор для неё уже определил). Можешь написать свою функцию.
 
Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru