Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2011, 19:04   #1
emgoi
Новичок
Джуниор
 
Регистрация: 21.09.2011
Сообщений: 2
По умолчанию не могу дописать программу

привет! у меня проблема. я никак не могу дописать программку. незнаю почему, но у меня выводится 1 ошибка. вот моя программка:
// модуль Marsh.h
#include<windows.h> // библиотека для кириллицы с кодировкой UNICOD
#include<string> // библиотека для работы со строками типа string
#include<iomanip> // библиотека манипуляторов вывода данных на дисплей
#include<fstream> // библиотека файлового ввода/вывода
#include<iostream> // библиотека потокового ввода/вывода
using namespace std;

// Прототип функции для русификации
char *Rus(const char*text);
// Описание суперкласса Marsh(“Маршрут”)
class Marsh
{
private: // закрытые поля класса (по умолчанию)
string init_point; // название начального пункта маршрута
string term_point; // название конечного пункта маршрута
int num_mar; // номер маршрута

public: // открытые поля класса
// конструктор со значениями по умолчанию
Marsh(string init_point = " ", string term_point = " ", int num_mar = 0)
{
this-> init_point = init_point;
this-> term_point = term_point;
this-> num_mar = num_mar;
}; //of Marsh

//прототипы функций (процедур) (методов доступа и методов класса)
string Get Init_point();
void Set Init_point(string);
string Get Term_point();
void Set Term_point(string);
int Get Num_mar();
void Set Num_mar(int);
void Inp();
void Out();
void OutFile(int, const char name[]);
bool operator ==(Marsh &);
}; //of class Marsh

// Описание подкласса Spisok(“Список”) суперкласса Marsh
class Spisok : public Marsh
{
private: // закрытые поля подкласса(по умолчанию private)
static const int len = 22; // длина полного имени файла(статическая константа целого типа)
char name [len]; // полное имя файла данных: Диск:\Папка\Имя_файла.расширение
int n; // кол-во маршрутов
Marsh*spisok; //описание (динамического массива) экземпляров spisok суперкласса Marsh
public: //открытые поля подкласса
//прототипы конструктора, деструктора, функций(процедур) (методов класса)
Spisok();
~Spisok();
void PrintResult();
}; // of subclass Spisok
Модуль Marsh.cpp
#include ”Marsh.h” //подключение модуля Marsh

//процедура (метод доступа - чтение), возвращающая начальный пункт маршрута
string Marsh::Get Init_point()
{
return this-> init_point;
};

//процедура (метод доступа - запись), изменяющая начальный пункт маршрута
void Marsh::Set Init_point(string init_point)
{
this-> init_point = init_point;
};


// процедура (метод доступа - чтение), возвращающая конечный пункт маршрута
string Marsh::Get Term_point()
{
return this-> term_point;
};

// процедура(метод доступа - запись), изменяющая конечный пункт маршрута
void Marsh::Set Term_point(string term_point)
{
this-> term_point = term point;
};

//функция (метод доступа - чтение), возвращающая номер маршрута
int Marsh::Get Num_mar()
{
return this-> num_mar;
};

// процедура (метод доступа - запись), изменяющая номер маршрута
void Marsh::Set Num_mar(int num_mar)
{
this-> num_mar = num_mar;
};

// процедура (метод класса) ввода данных элементов класса
void Marsh::Inp()
{
cin.get();
cout << Rus("Название начального пункта маршрута:"); getline(cin, init_point, '\n');
cout << Rus("Название конечного пункта маршрута:"); getline(cin, term_point, '\n');
cout << Rus("Номер маршрута:"); cin >> num_mar;
cout << endl << endl;
}; //of Inp
//процедура (метод класса) вывода данных элементов класса
void Marsh::Out()
{
cout << Rus("Начальный пункт маршрута:") << init_point << endl;
cout << Rus("Конечный пункт маршрута:") << term_point << endl;
cout << Rus("Номер маршрута:");
if (num_mar <= 9) cout <<”00”;
else If (num_mar <= 99) cout << “0”;
cout << num_mar;
cout << endl <<endl;
}; // of Out
emgoi вне форума Ответить с цитированием
Старый 21.09.2011, 19:05   #2
emgoi
Новичок
Джуниор
 
Регистрация: 21.09.2011
Сообщений: 2
По умолчанию продолжение

//процедура (метод класса) вывода сообщения в файл данных с именем name
void Marsh::OutFile(int k, const char name [])
{
ofstream fout (name, ios::app); //описание файла для записи с именем name в режиме добавления

fout << setw(2) << k << ".";
fout << Rus("Начальный пункт маршрута:") << init_point << endl;
fout << Rus("Конечный пункт маршрута:") << term_point << endl;
fout << Rus("Номер маршрута:") ;
if (num_mar <= 9) fout <<”00”;
else If (num_mar <= 99) fout << “0”;
fout << num_mar;
fout << endl <<endl;

fout << endl << endl;
}; //of OutFile

//перегружаемый оператор сравнения ==
bool Marsh:perator ==(Marsh &a)
{
return init_point == a.init_point && term_point == a.term_point && num_mar == a.num.mar;
}; // of operator ==

// конструктор для инициализации (динамического массива) экземпляров spisok класса Marsh и его вывода
Spisok::Spisok()
{
cout << Rus("Введите полное имя файла результата: ");
cin.get(name,len).get();
cout << endl << endl;

ofstream fout(name); //описание файла для записи с именем name

cout << Rus("Введите количество маршрутов класса Marsh: ");
cin >> n;
cout << endl << endl;

//Выделение памяти для n маршрутов (динамического массива ) экземпляров spisok класса Marsh
spisok = new Marsh[n];

int i;
//Ввод данных в динамический массив экземпляров spisok класса Marsh
for(i = 0; i < n; i++)
{
cout << Rus("Маршрут") << i+1 << ":" << endl;
spisok[i].Inp();
}

// Вывод данных из динамического массива экземпляров spisok класса Marsh на консоль и в файл данных
cout << endl << Rus("Список маршрутов:");
cout << endl << endl;
fout << Rus ("Список маршрутов:");
fout << endl << endl;

for(i=0; i<n; i++)
{
cout << setw(2) << i+1 << ".";
spisok[i].Out();
spisok[i].OutFile(i+1, name);
}
}; // of Spisok

// Деструктор (освобождение памяти для экземпляров spisok класса Marsh)
~Spisok:: Spisok()
{
delete[] spisok;
cout << Rus("Освобождение памяти.Pазрушение объектов!!!");
cout << endl;
}; //of ~Spisok

//функция (метод класса) обработки данных класса Marsh и печать результата
void Spisok::PrintResult()
{
ofstream fout(name, ios::app); //описание файла для записи с именем name в режиме добавления

string route; //название маршрута для поиска

cin.get();
cout << Rus("Введите название маршрута для поиска:");
getline(cin, route, '\n');
cout << endl << endl;

fout << Rus("Введите название маршрута для поиска:") << route;
fout << endl << endl;

cout << Rus("Данные по маршрутам:");
cout << endl << endl;

fout << Rus("Данные по маршрутам:");
fout << endl << endl;

int k=0;
boll tt=false;
for(int i=0; i<n; i++)
{
if(spisok[i].Get Init_point () == route || spisok[i].Get Term_point() == route)
{
tt=true;
k++;
//вывод на консоль
cout << setw(2) <<k << spisok[i].Out();
// вывод в файл данных
spisok[i].OutFile(k, name);
}
}

if(!tt)
{
cout << Rus("Таких маршрутов нет!!!");
fout << Rus("Таких маршрутов нет!!!");
}
cout << endl << endl;

//закрытие файла name записи данных
fout. close();

cout << Rus("Результат смотри в файле:") << name;
cout << endl << endl;
}; // of Print Resulte

#include"Marsh.h" //подключение модуля Marsh.h
//////////////////////////////////////////
char bufRus[256];
char *Rus(const char *text)
{
CharToOem(text , bufRus);
return bufRus;
}
//////////////////////////////////////////

void main()
{
//описание экземпляра route класса Spisok
Spisok route;

//вызов метода PrintResult() для экземпляра route класса Spisok
route.Print Result();
}
emgoi вне форума Ответить с цитированием
Старый 21.09.2011, 20:11   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

какая ошибка?
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу дописать на С pro100roma Помощь студентам 2 08.12.2010 20:32
Не могу дописать программу IROKEZ Общие вопросы C/C++ 1 19.04.2010 19:41
не могу прогу дописать! ATJ Общие вопросы C/C++ 0 18.04.2010 19:45
С++ не могу дописать kolashik Помощь студентам 1 31.10.2009 17:40
Помогите дописать программу на Delphi 7 не могу понять что здесь не так matrix8325 Помощь студентам 1 30.04.2009 23:34