Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Micren
Статус: Практикант
Рейтинг: 97
∙ повысить рейтинг >>
Hubbitus
Статус: 7-й класс
Рейтинг: 90
∙ повысить рейтинг >>
Лысков Игорь Витальевич
Статус: Профессионал
Рейтинг: 40
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1275
от 04.04.2009, 05:05

Администратор:Dr_Andrew
В рассылке:Подписчиков: 504, Экспертов: 46
В номере:Вопросов: 5, Ответов: 6

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 163557: Здравтвуйте эксперты. У меня есть программа, в которй мне надо разобраться и потом написать примерно аналогичную. С ООП сталкиваюсь впервые и вообще синтаксис языка c++ знаю не очень. Помогите разобраться, желателен комментарий к каждой строчке пр...


Вопрос № 163558: Здравствуйте уважаемые эксперты помогите пожалуйста с программой. Нужно чтобы программа создавала, искала, редактировала, сохраняла, копировала, перемещала удаляла файлы и должна показывать детальную информацию о файле...(Все должно быть с формой...
Вопрос № 163569: Здравствуйте, уважаемые эксперты!!! Если Вас не затруднит, помогите, пожалуйста, в написании программ. Помогите пожалуйста!! Учитель задал лабораторку а я не могу её сделать Тема : Структуры, смеси, перечисления. Протокол ...
Вопрос № 163611: <b>Здравствуйте, уважа емые эксперты!!! Если Вас не затруднит, помогите, пожалуйста, в написании програмы.</b><u><i>Условие выполнения:</i></u> Программа должна обеспечивать обмен с оператором, выдавая необходимые сообщения и позволяя вводить исход...
Вопрос № 163612: Здравствуйте, помогите пожалуйста с задачей: Создать класс типа — книга. Поля — название, автор, год выпуска, вид литературы (худож., методич., справочн., ...). Класс имеет конструктор, деструктор. Методы: установки и возвращения значения поле...

Вопрос № 163.557
Здравтвуйте эксперты. У меня есть программа, в которй мне надо разобраться и потом написать примерно аналогичную.
С ООП сталкиваюсь впервые и вообще синтаксис языка c++ знаю не очень. Помогите разобраться, желателен комментарий к каждой строчке программы (что конкрентно делает)
Также более подробно хотелось бы спросить про строчку,
© Цитата:
Complex::Complex(float r=0.0f,float im=0.0f)

а точнее про то что в скобках.
Заранее спасибо)

Приложение:

Отправлен: 29.03.2009, 16:39
Вопрос задал: Naglez (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Micren
Здравствуйте, Naglez!
Исправил некоторые ошибки в программе и убрал некоторые не нужные операторы.
Код:

#include <cmath>
#include <iostream>
#include <iomanip>

using namespace std;

//----------------------------------------------------------------------
// Это декларация класса. Здесь объявлены методы и переменные класса.
class Complex
{
private: // Приватная часть
float Re; //Real part
float Im; //Imaginary part
public: // Общедоступная часть
Complex(float,float); // Конструктор
Complex(const Complex&); // Конструктор копирования, для этого класса абсолютно не нужный
// Перегруженный операторы для математических операций
Complex operator +(const Complex&);
Complex operator -(const Complex&);
Complex operator *(const Complex&);
Complex operator /(const Complex&);
Complex getconjugate();
float getmodulus();
Complex& operator =(const Complex&); // Оператор присваивания тоже абсолютно не нужный
// Дружественные функции для операций потокового ввода/вывода
friend ostream& operator <<(ostream &,const Complex &c);
friend istream& operator >>(istream &,Complex &c);
};
//----------------------------------------------------------------------

// Ниже реализация тех методов, которые были объявлены выше
//Constructor
Complex::Complex(float r=0.0f,float im=0.0f) // С параметрами по умолчанию
{
Re=r;
Im=im;
}

// Бесполезный конструктор копирования
Complex::Complex(const Complex &c)
{
this->Re=c.Re;
this->Im=c.Im;
}

// Такой же бесполезный оператор присваивания
Complex& Complex::operator =(const Complex& c)
{
Re=c.R e;
Im=c.Im;
return *this;
}

// Оператор сложения
Complex Complex::operator +(const Complex& c)
{
return Complex(Re+c.Re,Im+c.Im);
}

// Оператор вычитания
Complex Complex::operator -(const Complex& c)
{
return Complex(Re-c.Re,Im-c.Im);
}

// Оператор умножения
Complex Complex::operator *(const Complex& c)
{
return Complex(Re*c.Re-Im*c.Im,Re*c.Im+Im*c.Re);
}

// Оператор деления
Complex Complex::operator /(const Complex& c)
{
float div=c.Re*c.Re + c.Im*c.Im;
return Complex((Re*c.Re+Im*c.Im)/div,(Im*c.Re-Re*c.Im)/div);
}


Complex Complex::getconjugate()
{
return Complex(Re,-Im);
}


float Complex::getmodulus()
{
return sqrt(Re*Re + Im*Im);
}


ostream& operator <<(ostream &output,const Complex &c)
{
output<<"z = "<< c.Re <<setiosflags(ios::showpos) // Оператор вывода в потоковый класс
<< c.Im <<"i"<<endl<<resetiosflags(ios::showpos);
return output;
}

istream& operator >>(istream &input,Complex &c)
{
cout << "Real part : ";
input >> c.Re; // Оператор ввода из потока
cout << "Imaginary part : ";
input >> c.Im;
cout << endl;
return input;
}

//----------------------------------------------------------------------
int main()
{

Complex a,b; // Объявление двух переменных типа class Complex

// Ниже вы видите как работают перегруженные операции.
cin >> a >> b;
a = a + b;
cout << a << endl;
return 0;
}

Пример работы:
Код:

Real part : 2
Imaginary part : -3

Real part : 3
Imaginary part : 1

z = 5-2i
Ответ отправил: Micren (статус: Практикант)
Ответ отправлен: 29.03.2009, 21:49

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246305 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 4
    Комментарий оценки:
    спасибо конечно, но особо понятней не стало.


    Вопрос № 163.558
    Здравствуйте уважаемые эксперты помогите пожалуйста с программой.
    Нужно чтобы программа создавала, искала, редактировала, сохраняла, копировала, перемещала удаляла файлы и должна показывать детальную информацию о файле...(Все должно быть с формой).
    Вообщем нужно создать что-то наподобии Total Commander.
    ЗАРАНЕЕ БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Отправлен: 29.03.2009, 16:47
    Вопрос задал: Magma (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 2)

    Отвечает: Dr_Andrew
    Здравствуйте, Magma!
    Код "чего-то наподобие Total Commander" просто не влезет в форму ответа. Для начала реализуем простейший файловый менеджер (используя классы библиотеки Qt 4.2), который выполняет три из заявленных Вами действия: 1) отображает информацию о файле / каталоге с помощью древовидного списка (QTreeView* pDirView;), являющегося представлением модели директорий (QDirModel* pDirModel;); 2) создаёт файл на основе введённого пользователем имени (см. приложение - слот void TMainForm::FileNewSlot()); 2) удаляет выделенный пользователем файл (void TMainForm::FileDeleteSlot()).
    Исходный текст в приложении комментирован.
    Внешний вид приложения должен быть таким:

    В последующем проект можно развить, для начала разберитесь с этим.

    Приложение:

    Ответ отправил: Dr_Andrew (статус: Профессионал)
    Казахстан, Алма-Ата
    Организация: Казахский научный центр карантинных и зоонозных инфекций
    WWW: Медицинские программы для Linux
    ICQ: 256452186
    ----
    Ответ отправлен: 29.03.2009, 21:19

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246302 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 163.569
    Здравствуйте, уважаемые эксперты!!! Если Вас не затруднит, помогите, пожалуйста, в написании программ.

    Помогите пожалуйста!!
    Учитель задал лабораторку а я не могу её сделать

    Тема : Структуры, смеси, перечисления.


    Протокол должен содержать задание, словесное описание, алгоритм, исходный текст программы, результаты работы программы. В программе обязательно должны быть использованы такие типы данных, как структура и перечисление.
    Для хранения списка рекомендуется использовать статический или динамический массив структур. Максимально возможное количество элементов в списке считать известным.
    Для хранения данных не всегда используемых полей рекомендуется применять смеси внутри основной структуры. Например, необходима структура, содержащая информацию о собаках, а именно, поля "кличка", "возраст" и признак "охотничья/декоративная". Для охотничьих собак дополнительно указывается вес и максимальная скорость бега, для деко ративных – цвет шерсти. В данном случае могут быть использованы следующие типы данных:

    enum TWoolColor {wcWhite, wcRed, wcBrown, wcBlack};
    enum TDogType {dtHunter, dtDecorative};

    struct TDog {
    char Name[30];
    int Age;
    TDogType DogType;
    union {
    struct {
    float Weight;
    float MaxSpeed;
    } Hunt;
    TWoolColor WoolColor;
    };
    };

    Поле DogType определяет, какое из полей объединения (структура Hunt или одиночное поле WoolColor) используется в настоящий момент.

    Задание :
    Реализовать программу для хранения информации об автомобилях. Предусмотреть следующие поля:
    номер автомобиля, марка, год выпуска.
    Если автомобиль выставлен на продажу, указать ФИО владельца и его контактный телефон.
    Если автомобиль уже продан, задать ФИО покупателя, дату продажи, выплаченную сумму.
    Реализовать операции ввода информации о вновь поступившем автомобиле, поиск автомобилей заданной марки с годом выпуска не ранее ук азанного пользователем. Предусмотреть возможность изменения ранее введенных полей.

    ПОМОГИТЕ ПОЖАЛУЙСТА ОЧЕНЬ НАДО
    а это вторая задача котора не выполнится без той!!!
    Протокол должен содержать задание, словесное описание, алгоритм, исходный текст программы, результаты работы программы.
    Разработать программу для сохранения структуры из л.р. №6 в двоичном файле.

    Обеспечить выполнение следующих операций:
    1. Запись данных в двоичный файл.
    2. Чтение данных из двоичного файла.

    Обеспечить хранение дополнительных данных согласно варианта задания и выполнение нижеуказанных действий:

    1. Счетчик количества перезаписей файла (при создании нового файла счетчик обнуляется, при каждой следующей записи в тот же файл счетчик увеличивается на единицу).
    Отправлен: 29.03.2009, 18:55
    Вопрос задал: Пономаренко Андрей Андреевич (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Micren
    Здравствуйте, Пономаренко Андрей Андреевич!

    Программа тестировалась в MS VS 2008. C++. Если нужны непременно структуры то достаточно заменить struct на class.

    Приложение:

    Ответ отправил: Micren (статус: Практикант)
    Ответ отправлен: 29.03.2009, 21:08

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246300 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 163.611
    Здравствуйте, уважаемые эксперты!!! Если Вас не затруднит, помогите, пожалуйста, в написании програмы.Условие выполнения:
    Программа должна обеспечивать обмен с оператором, выдавая необходимые сообщения и позволяя вводить исходные данные и просмотреть результат выполнения программы.
    В протоколе указать результаты выполнения программы в пошаговом режиме.
    Задание:
    Среди элементов целочисленного массива найти значение, для которого половина элементов массива меньше искомого значения, а половина элементов больше (с точностью до одного элемента).
    Отправлен: 30.03.2009, 01:14
    Вопрос задал: Ковтун Толик Васильевич (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Micren
    Здравствуйте, Ковтун Толик Васильевич!
    Программа. VC++ 2008.
    Код:

    #include <limits>
    #include <locale>
    #include <iostream>
    #include <iomanip>
    #include <vector>
    #include <ctime>
    #include <cstdlib>
    #include <algorithm>

    using namespace std;

    // Максимальное количество элементов
    const unsigned int MaxItems=1000000;

    typedef vector<int> intVector;

    int main()
    {
    locale::global(locale("russian_russia.866"));
    // Вводим коичество элементов
    unsigned int N=0;
    while(!N)
    {
    wcout<<L"Введите количество элементов вектора(1.."<<MaxItems<<L"):";
    wcin>>N;
    if(wcin.fail())
    {
    wcout<<L"Неверный ввод"<<endl;
    wcin.clear();
    }
    else
    {
    if(N>MaxItems)
    {
    wcout<<L"Максимальное количество равняется "<<MaxItems<<L" элементов"<<endl;
    N=0;
    }
    }
    wcin.ignore(numeric_limits<streamsize>::max(),L' ');
    }
    srand(static_cast<unsigned int>(time(0)));
    try
    {
    intVector array(N);
    // Заполним вектор случайными значениями и выводим их
    wcout<<L"Исходный вектор:"<<endl;
    for(intVector::iterator it=array.begin();it!=array.end();++it)
    {
    *it=static_cast<int>(static_cast<double>(rand())/RAND_MAX*101);
    wcout<<setw(4)<<*it<<L' ';
    }
    wcout<<endl;
    // Сортируем вектор
    sort(array.begin(),array.end());
    // Выводим результат
    wcout<<L"Искомый элемент равен: "<<array[array.size()/2]<<endl;
    }
    catch (bad_alloc) // Обработчик ошибок выделения памяти
    {
    wcout<<L"Ошибка выделения памяти"<<endl;
    }
    system("PAUSE");
    return 0;
    }

    Пример работы:
    Код:

    Введите количество элементов вектора(1..1000000):50
    Исходный вектор:
    59 91 19 16 57 53 26 36 23 49 39 22 78 51 97 60
    39 53 29 67 57 26 4 37 15 78 75 54 95 26 47 41
    30 93 43 53 59 9 58 51 3 57 93 76 62 21 70 62
    77 81
    Искомый элемент равен: 53
    Ответ отправил: Micren (статус: Практикант)
    Ответ отправлен: 30.03.2009, 02:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246322 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: realbustard
    Здравствуйте, Ковтун Толик Васильевич!
    Код в приложении.
    Компилировано в MS VS 2005.
    Будут вопрсы, задавайте в минифоруме.
    Удачи!!!

    Приложение:

    ---------
    Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)

    Ответ отправил: realbustard (статус: Студент)
    Ответ отправлен: 30.03.2009, 11:43

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246358 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 163.612
    Здравствуйте, помогите пожалуйста с задачей:

    Создать класс типа — книга. Поля — название, автор, год выпуска, вид литературы (худож., методич., справочн., ...). Класс имеет конструктор, деструктор. Методы: установки и возвращения значения полей, вычисления «возраста» книги, метод печати. Методы установки полей класса должны проверять корректность задаваемых параметров. Проверить работу этого класса.
    Проблемы начинаются с этого места
    Создать производный класс типа – учетная карточка наименования в библиотеке. Доопределить в нем поля: шифр, количество экземпляров, количество выдач наименования по запросу; методы: установки полей и получения значений полей, определения коэффициента востребованности наименования (относительно общего количества экземпляров наименования). Переопределить метод печати.

    Написать программу «Электронный каталог библиотеки», создающую картотеку библиотеки, позволяющую делать запрос на определенную книгу, выводить на экран спис ок востребованных наименований с указанием коэффициента, изменять данные наименования (по частям и полностью), искать книгу по заданному параметру (шифр, название, автор, вид литературы) и печатать на экран содержимое каталога.

    Приложение:

    Отправлен: 30.03.2009, 01:25
    Вопрос задал: Sky-er (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: realbustard
    Здравствуйте, Толстиков Александр Владимирович!
    Код задачи находится здесь. Без пароля.
    Будут вопросы, задавайте в минифоруме.
    Удачи!!!
    ---------
    Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)
    Ответ отправил: realbustard (статус: Студент)
    Ответ отправлен: 01.04.2009, 01:19

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 246534 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное