Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Классы и обекты, элементарная программа 
:(
    Опции темы
AleksDDem
Дата 25.5.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Здравствуйте,  помогите   пожалуйста   написать  такую  программу

Вот  данные боксеров:
 
Имя: Mike                     Имя: Vladimir                   Имя: Vitaliy                        Имя: lennox
Фамилия: Taison          Фамилия: Klichko           Фамилия: Klichko               Фамилия: lewis
Побед: 49                    Побед: 42                      Побед: 39                         Побед: 47
Проиграно: 4               Проиграно:6                  Проиграно:4                    Проиграно:1
Вес: 98                         Вес: 110                          Вес: 102                           Вес: 112
Рост:180                      Рост:200                          Рост: 194                         Рост: 198


Мне нужно  создать клас (конструктор  и  деструктор). Клас должен  содержать   4  обьекта.  В   каждом  обекте  будут  храняться  данные   каждого  боксера. 
и  еще - при вооде   с   клавиатуры  единици прога  выдает  данные   первого  боксера,  т.е.  тайсона и  так  далее.
Помогите  написать - буду  очень  благодарен

Это сообщение отредактировал(а) AleksDDem - 25.5.2007, 14:56
PM MAIL   Вверх
df_3
Дата 25.5.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 19.5.2003

Репутация: нет
Всего: 1



Наверное один боксер - один объект класса?
Код

class boxer
{
   public:

   sting name;
   string surname;
   int won;
   float weight;
   float long; 
   float growth;
//далее можешь писать все возможные функции

   boxer()
    {
//тело конструктора
    }
};

для создания боксеров просто создаешь массив из четырех элементов класса
и соответственно первый элемент - это будет тайсон
второй ... 
и тд




Это сообщение отредактировал(а) df_3 - 25.5.2007, 22:14


--------------------
ИЗ ВСЕХ ВОЗМОЖНОСТЕЙ НА ЗЕМЛЕ САМАЯ ЯРКАЯ - ЭТО ЖИЗНЬ!
PM MAIL WWW MSN   Вверх
Anikmar
Дата 25.5.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 9
Всего: 59



df_3, а что такое float long; ?
PM MAIL ICQ   Вверх
Xenon
Дата 26.5.2007, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 19
Всего: 50



я так понял эту жесть smile
Код

#include <iostream>
#include <string>

struct boxer
{
    std::string m_name;
    std::string m_surname;
    int m_wins_count;
    int m_defeats_count;
    int m_weight;
    int m_height;
    boxer(const std::string& name, const std::string& surname, int wins_count, int defeats_count, int weight, int height):m_name(name), m_surname(surname), m_wins_count(wins_count), m_defeats_count(defeats_count), m_weight(weight), m_height(height){}
};

const int SIZE = 4;

class manager
{
private:
    boxer* boxer_arr[SIZE];
public:
    void display_boxer(int num)
    {
        std::cout << "Name: " << boxer_arr[num]->m_name << std::endl;
        std::cout << "Surname: " << boxer_arr[num]->m_surname << std::endl;
        std::cout << "Number of wins: " << boxer_arr[num]->m_wins_count << std::endl;
        std::cout << "Number of defeats: " << boxer_arr[num]->m_defeats_count << std::endl;
        std::cout << "Wight: " << boxer_arr[num]->m_weight << std::endl;
        std::cout << "Height: " << boxer_arr[num]->m_height << std::endl;
    }
    manager()
    {
        boxer_arr[0] = new boxer("Mike", "Taison", 49, 4, 98, 180);
        boxer_arr[1] = new boxer("Vladimir", "Klichko", 42, 6, 110, 200);
        boxer_arr[2] = new boxer("Vitaliy", "Klichko", 39, 4, 102, 194);
        boxer_arr[3] = new boxer("lennox", "lewis", 47, 1, 112, 198);
    }
    ~manager()
    {
        for (int i = 0; i < SIZE; ++i) delete boxer_arr[i];
    }
};
int main(int argc, char* argv[])
{    
    int num = 0;
    manager boxers;
    std::cout << "Enter the number of boxer to show: ";
    std::cin >> num;
    boxers.display_boxer(num);
    std::cin.get();
    return 0;
}



--------------------
user posted image  
PM MAIL   Вверх
AleksDDem
Дата 26.5.2007, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Спасибо  большое.... я  вдолгу  не  останусь! smile 
PM MAIL   Вверх
AleksDDem
Дата 27.5.2007, 13:40 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Извините,  еще  раз  побеспокою!
Нужно  то  же   самое   только  с   фильмами,  я  б  и  сам   переделал  но  не  бум  бум   в   С++.  Помогите   пожалуйста!


название: Мистер Бин на отдыхе
жанр: комедия
режисер :Стив Бендлек
год: 2007
страна: Великобритания

название: Параграф 78
жанр: триллер
режисер: Михаил Хлебородов
год: 2006
страна: Россия

название: Освободите Джимми
жанр: анимация
режисер: Кристофер Нильсен
год: 2007
страна: Канада

название: 300 спартанцев
жанр:исторический
режисер: Зак Снайдер
год:2007
страна: США
PM MAIL   Вверх
Guedda
Дата 27.5.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 6
Всего: 78




M
Guedda
Модератор: Пожалуйста, один топик - один вопрос.



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
AleksDDem
Дата 3.6.2007, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



А   можно  пожалуйста   переделать  так  чтобы  информация   добавлялась  в  класс  автоматически из  файла?

PM MAIL   Вверх
Damarus
Дата 3.6.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 7
Всего: 29



Код
#include <iostream>
#include <string>
#include <vector>
#include <fstream>

class boxer
{
public:
    boxer(void) : m_wins_count(0), m_defeats_count(0), m_weight(0), m_height(0)
    {
    }
    boxer(const std::string& name, const std::string& surname,
          int wins_count, int defeats_count,
          int weight, int height) : m_name(name), m_surname(surname),
                                    m_wins_count(wins_count), m_defeats_count(defeats_count),
                                    m_weight(weight), m_height(height)
    {
    }

public:
    std::string m_name;
    std::string m_surname;
    int m_wins_count;
    int m_defeats_count;
    int m_weight;
    int m_height;
};

std::basic_istream<char>& operator >> (std::basic_istream<char>& _Str, boxer& _Val)
{
    _Str >> _Val.m_name >> _Val.m_surname >> _Val.m_wins_count >>
        _Val.m_defeats_count >> _Val.m_weight >> _Val.m_height;

    return _Str;
}

std::basic_ostream<char>& operator << (std::basic_ostream<char>& _Str, const boxer& _Val)
{
    _Str << _Val.m_name << " " << _Val.m_surname << " " << _Val.m_wins_count << " " <<
        _Val.m_defeats_count << " " << _Val.m_weight << " " << _Val.m_height << std::endl;

    return _Str;
}

class manager
{
public:
    void add(const boxer& item)
    {
        boxers.push_back(item);
    }

    void show(void)
    {
        for (std::vector<boxer>::const_iterator iter = boxers.begin(); iter != boxers.end(); iter++)
            std::cout << *iter;

    }

private:
    std::vector<boxer> boxers;
};

int main(int argc, char *argv[])
{
    std::ifstream boxers_file("boxers.txt");

    if (boxers_file.is_open())
    {
        manager boxers;

        while (!boxers_file.eof())
        {
            boxer current_boxer;
            boxers_file >> current_boxer;
            boxers.add(current_boxer);
        }

        boxers.show();
    }
}


boxers.txt
Код
Mike Taison 49 4 98 180
Vladimir Klichko 42 6 110 200
Vitaliy Klichko 39 4 102 194
Lennox Lewis 47 1 112 198

PM MAIL ICQ Jabber   Вверх
AleksDDem
Дата 3.6.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 12.2.2007

Репутация: нет
Всего: нет



Спасибо большое!
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.