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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

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

Лучшие эксперты данной рассылки

Асмик Александровна
Статус: Академик
Рейтинг: 8330
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2683
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Профессор
Рейтинг: 2563
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1679
Дата выхода:01.07.2011, 18:00
Администратор рассылки:Киселёва Алёна aka Verena (Профессор)
Подписчиков / экспертов:299 / 178
Вопросов / ответов:1 / 1

Вопрос № 183704: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Добрый день ! у меня возникла проблема с написанием данной программы ? но нужно не консольное а типа Формы Windows Forms Application


Вопрос № 183704:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Добрый день ! у меня возникла проблема с написанием данной программы ?

но нужно не консольное а типа Формы Windows Forms Application

условие:

Дана запись с именем TRAIN, содержащая следующие поля:

· Название пункта назначения;
· Номер поезда;
· Время отправления.
Написать программу, которая выполняет следующие действия:
· Ввод с клавиатуры данных из 6 элементов типа TRAIN, и занесение их в файл данных;
· Чтение данных из файла и вывод их на экран;
· вывод на экран информации о поездах, отправляющихся в пункт, название которого введено с клавиатуры (если таких нет – вывести об этом сообщение);
· Список должен быть упорядочен по времени отправления поезда.

Код :
namespace A4 {
 
        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
 
        /// <summary>
        /// Summary for Form1
        ///
        /// WARNING: If you change the name of this class, you will need to change the
        ///          'Resource File Name' property for the managed resource compiler tool
        ///          associated with all .resx files this class depends on.  Otherwise,
        ///          the designers will not be able to interact properly with localized
        ///          resources associated with this form.
        /// </summary>
        public ref class Form1 : public System::Windows::Forms::Form
        {
        public:
                Form1(void)
                {
                        InitializeComponent();
                        //
                        //TODO: Add the constructor code here
                        //
                }
 
        protected:
                /// <summary>
                /// Clean up any resources being used.
                /// </summary>
                ~Form1()
                {
                        if (components)
                        {
                                delete components;
                        }
                }
        private: System::Windows::Forms::RichTextBox^  richTextBox1;
        protected: 
        private: System::Windows::Forms::RichTextBox^  richTextBox2;
        private: System::Windows::Forms::Label^  label1;
        private: System::Windows::Forms::Label^  label2;
        private: System::Windows::Forms::Label^  label3;
        private: System::Windows::Forms::TextBox^  textBox1;
        private: System::Windows::Forms::Button^  button1;
        private: System::Windows::Forms::Button^  button2;
        private: System::Windows::Forms::Button^  button3;
        private: System::Windows::Forms::Button^  button4;
        private: System::Windows::Forms::Button^  button5;
        private: System::Windows::Forms::OpenFileDialog^  openFileDialog1;
        private: System::Windows::Forms::SaveFileDialog^  saveFileDialog1;
        private: System::Windows::Forms::Label^  label4;
 
        private:
                /// <summary>
                /// Required designer variable.
                /// </summary>
                System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
                /// <summary>
                /// Required method for Designer support - do not modify
                /// the contents of this method with the code editor.
                /// </summary>
                void InitializeComponent(void)
                {
                        this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
                        this->richTextBox2 = (gcnew System::Windows::Forms::RichTextBox());
                        this->label1 = (gcnew System::Windows::Forms::Label());
                        this->label2 = (gcnew System::Windows::Forms::Label());
                        this->label3 = (gcnew System::Windows::Forms::Label());
                        this->textBox1 = (gcnew System::Windows::Forms::TextBox());
                        this->button1 = (gcnew System::Windows::Forms::Button());
                        this->button2 = (gcnew System::Windows::Forms::Button());
                        this->button3 = (gcnew System::Windows::Forms::Button());
                        this->button4 = (gcnew System::Windows::Forms::Button());
                        this->button5 = (gcnew System::Windows::Forms::Button());
                        this->openFileDialog1 = (gcnew System::Windows::Forms::OpenFileDialog());
                        this->saveFileDialog1 = (gcnew System::Windows::Forms::SaveFileDialog());
                        this->label4 = (gcnew System::Windows::Forms::Label());
                        this->SuspendLayout();
                        // 
                        // richTextBox1
                        // 
                        this->richTextBox1->Location = System::Drawing::Point(34, 48);
                        this->richTextBox1->Name = L"richTextBox1";
                        this->richTextBox1->Size = System::Drawing::Size(272, 147);
                        this->richTextBox1->TabIndex = 0;
                        this->richTextBox1->Text = L"";
                        // 
                        // richTextBox2
                        // 
                        this->richTextBox2->Location = System::Drawing::Point(369, 48);
                        this->richTextBox2->Name = L"richTextBox2";
                        this->richTextBox2->Size = System::Drawing::Size(278, 147);
                        this->richTextBox2->TabIndex = 1;
                        this->richTextBox2->Text = L"";
                        // 
                        // label1
                        // 
                        this->label1->AutoSize = true;
                        this->label1->Location = System::Drawing::Point(31, 22);
                        this->label1->Name = L"label1";
                        this->label1->Size = System::Drawing::Size(275, 13);
                        this->label1->TabIndex = 2;
                        this->label1->Text = L"пункт назначения/номер поезда/ время отправлени";
                        // 
                        // label2
                        // 
                        this->label2->AutoSize = true;
                        this->label2->Location = System::Drawing::Point(366, 22);
                        this->label2->Name = L"label2";
                        this->label2->Size = System::Drawing::Size(281, 13);
                        this->label2->TabIndex = 3;
                        this->label2->Text = L"пункт назначения/номер поезда/ время отправления";
                        // 
                        // label3
                        // 
                        this->label3->AutoSize = true;
                        this->label3->Location = System::Drawing::Point(100, 273);
                        this->label3->Name = L"label3";
                        this->label3->Size = System::Drawing::Size(80, 13);
                        this->label3->TabIndex = 4;
                        this->label3->Text = L"Введите пункт";
                        // 
                        // textBox1
                        // 
                        this->textBox1->Location = System::Drawing::Point(195, 266);
                        this->textBox1->Name = L"textBox1";
                        this->textBox1->Size = System::Drawing::Size(155, 20);
                        this->textBox1->TabIndex = 5;
                        // 
                        // button1
                        // 
                        this->button1->Location = System::Drawing::Point(51, 334);
                        this->button1->Name = L"button1";
                        this->button1->Size = System::Drawing::Size(75, 23);
                        this->button1->TabIndex = 6;
                        this->button1->Text = L"Открыть";
                        this->button1->UseVisualStyleBackColor = true;
                        this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
                        // 
                        // button2
                        // 
                        this->button2->Location = System::Drawing::Point(170, 334);
                        this->button2->Name = L"button2";
                        this->button2->Size = System::Drawing::Size(75, 23);
                        this->button2->TabIndex = 7;
                        this->button2->Text = L"Очистить";
                        this->button2->UseVisualStyleBackColor = true;
                        this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
                        // 
                        // button3
                        // 
                        this->button3->Location = System::Drawing::Point(294, 334);
                        this->button3->Name = L"button3";
                        this->button3->Size = System::Drawing::Size(75, 23);
                        this->button3->TabIndex = 8;
                        this->button3->Text = L"Сохранить";
                        this->button3->UseVisualStyleBackColor = true;
                        this->button3->Click += gcnew System::EventHandler(this, &Form1::button3_Click);
                        // 
                        // button4
                        // 
                        this->button4->Location = System::Drawing::Point(425, 334);
                        this->button4->Name = L"button4";
                        this->button4->Size = System::Drawing::Size(92, 23);
                        this->button4->TabIndex = 9;
                        this->button4->Text = L"Фильтровать";
                        this->button4->UseVisualStyleBackColor = true;
                        this->button4->Click += gcnew System::EventHandler(this, &Form1::button4_Click);
                        // 
                        // button5
                        // 
                        this->button5->Location = System::Drawing::Point(559, 334);
                        this->button5->Name = L"button5";
                        this->button5->Size = System::Drawing::Size(88, 23);
                        this->button5->TabIndex = 10;
                        this->button5->Text = L"Сортировать";
                        this->button5->UseVisualStyleBackColor = true;
                        this->button5->Click += gcnew System::EventHandler(this, &Form1::button5_Click);
                        // 
                        // openFileDialog1
                        // 
                        this->openFileDialog1->FileName = L"openFileDialog1";
                        // 
                        // label4
                        // 
                        this->label4->AutoSize = true;
                        this->label4->Location = System::Drawing::Point(475, 231);
                        this->label4->Name = L"label4";
                        this->label4->Size = System::Drawing::Size(35, 13);
                        this->label4->TabIndex = 11;
                        this->label4->Text = L"label4";
                        // 
                        // Form1
                        // 
                        this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
                        this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
                        this->ClientSize = System::Drawing::Size(692, 385);
                        this->Controls->Add(this->label4);
                        this->Controls->Add(this->button5);
                        this->Controls->Add(this->button4);
                        this->Controls->Add(this->button3);
                        this->Controls->Add(this->button2);
                        this->Controls->Add(this->button1);
                        this->Controls->Add(this->textBox1);
                        this->Controls->Add(this->label3);
                        this->Controls->Add(this->label2);
                        this->Controls->Add(this->label1);
                        this->Controls->Add(this->richTextBox2);
                        this->Controls->Add(this->richTextBox1);
                        this->Name = L"Form1";
                        this->Text = L"Form1";
                        this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
                        this->ResumeLayout(false);
                        this->PerformLayout();
 
                }
#pragma endregion
        private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
                  saveFileDialog1->ShowDialog();
             richTextBox1->SaveFile(saveFileDialog1->FileName);
                         }
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
                           richTextBox1->Clear();
                 }
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                       openFileDialog1->ShowDialog();
             richTextBox1->LoadFile(openFileDialog1->FileName);
                 }
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
                        openFileDialog1->Filter="RTF|*.rtf";
                        saveFileDialog1->Filter="RTF|*.rtf";
                 }
private: System::Void button5_Click(System::Object^  sender, System::EventArgs^  e) {
          
                 }
private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e) {
        String^ s; String^ soc;String^s1;int i,j,n;
         n=richTextBox1->Lines->Length;
          for ( i=0;i<n;i++)
                  {
         s =richTextBox1->Lines[i];
                  s=s+" ";
         int k0=s->IndexOf(" ");
          soc=s->Substring(0,k0);
//label4->Text=label4->Text+"geyrn="+soc;
          
                  }
richTextBox2->Clear();
s1=textBox1->Text;
                 }
};
}


Вот что удалось сделать самому

Отправлен: 23.06.2011, 17:20
Вопрос задал: Куликов Алексей (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Киселёва Алёна aka Verena (Профессор) :
Здравствуйте, Куликов Алексей!
Вот приблизительно то, что вы хотели. Интерфейс не трогала и вообще по-максимуму оставила Ваш код. Для поездов завела класс, хранится массив экземпляров этого класса, он сортируется, в нём ищется, работать просто с набором строк не слишком удобно. Поезда добавляются в массив при вводе из файла и при вводе непосредственно в окно (добавление происходит по нажатию enter, до этого запись не учитывается).
Будут вопросы, задавайте.
В приложении основной код, в архиве проект (у меня, правда, не express студия, но, наверно, он у Вас должен запуститься).

Удачи!

Приложение:
Прикрепленный файл: загрузить »

-----
Эта история - не для истории, понимаешь?

Ответ отправил: Киселёва Алёна aka Verena (Профессор)
Ответ отправлен: 01.07.2011, 02:03
Номер ответа: 267870
Россия, Москва
Адрес: Москва, Солнцево
Адрес сайта: Портал Вникуда: творчество, цитаты, события.
ICQ # 230360822

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


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

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

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

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

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

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

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



    В избранное