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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2019, 08:56   #1
ShyLL8r
Новичок
Джуниор
 
Регистрация: 11.05.2019
Сообщений: 1
По умолчанию Перегрузка функций

У меня есть программа,но преподаватель сказал чтобы я перегрузил функции. Тобишь отчистил main.Не могли бы вы мне помочь с этим?
Код:

# include <iostream>
# include <stdlib.h>
# include <string.h>
# include <time.h>
#include<windows.h>

using namespace std;

struct TRAIN
{
	char item[15];
	int number;
	char time[6];
};

void zap(TRAIN *tr, int count)
{


	cout << "------ Информация для " << count++ << " поезда ----------------------" << endl;
	cout << "Введите пункт назначения : ";
	cin >> tr->item;

	cout << "Введите номер поезда : ";
	cin >> tr->number;
	cout << "Введите время прибытия  ( ЧЧ : ММ )  : ";
	cin >> tr->time;
	cout << "----------------------------" << endl;

}

void sort(TRAIN *tr, int &n)
{
	TRAIN p;

	cout << "Сортирока по номерам поездов произведена" << endl;

	for (int i = 0; i < (n - 1); i++)
	{
		for (int j = 0; j < (n - 1); j++) {
			if (tr[j].number > tr[j + 1].number)
			{
				p = *(tr + j);
				*(tr + j) = *(tr + j + 1);
				*(tr + j + 1) = p;
			}



		}
	}
}

void main()
{
	TRAIN inf[7];
	int count;
	int n = 8;
	int i;
	int nom;
	bool flag = false;
	char otv[3];
	char otv1[3];
	char da[3] = "да";

	setlocale(LC_ALL, "rus");
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	count = 0;

	while (count < n)
		zap(&inf[count++], count);

	cout << "Введите номер поезда для которого вы хотите получить информацию : ";
	cin >> nom;
	for (i = 0; i < 8; i++)

		if (inf[i].number == nom)
		{
			flag = true;
			cout << "----------------------------" << endl;
			cout << "Пункт назнаения : " << inf[i].item << endl;
			cout << "Номер поезда : " << inf[i].number << endl;
			cout << "Время прибытия : " << inf[i].time << endl;
			cout << "----------------------------" << endl;
		}
	if (flag == false)
		cout << "Информации по вашему запросу не найдено!" << endl;
	cout << "Хотите ли произвести сортировку базы по номеру поезда\nда=1/нет=0" << endl;
	cin >> otv;
	if (*otv == *da)
	{
		sort(inf, n);
		for (i = 0; i < 8; i++)
		{
			cout << "----------------------------" << endl;
			cout << "Пункт назнаения : " << inf[i].item << endl;
			cout << "Номер поезда : " << inf[i].number << endl;
			cout << "Время прибытия : " << inf[i].time << endl;
			cout << "----------------------------" << endl;
		}
	}
	else
		cout << "404" << endl;
}
ShyLL8r вне форума Ответить с цитированием
Старый 11.05.2019, 09:23   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

В Сети поищите. На хабре есть статья: "Перегрузка всех операций в C++". Ну и другие статьи тоже есть.
Cuprum5 вне форума Ответить с цитированием
Старый 11.05.2019, 10:29   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут операторы (статья, кстати, именно так называется)?
Про функции же речь, правда непонятно что именно имелось в виду.

Раз речь про "очистить", то как вариант можете начать чтение чего-нибудь про хороший код типа Совершенный Код Макконелла, Эффективный С++ и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.05.2019, 10:33   #4
taras-proger77
Заблокирован
 
Регистрация: 17.12.2018
Сообщений: 514
По умолчанию

Перегрузка к очистке мейна не относится, а отчислить её вообще нельзя, но если «отчистить» – не очепятка, то фиг его знает.

Последний раз редактировалось taras-proger77; 11.05.2019 в 14:19.
taras-proger77 вне форума Ответить с цитированием
Старый 11.05.2019, 11:53   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

По крайней мере копипасту вывода надо убрать в функцию, поправить границу цикла.
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка функций С++. DIQUON Помощь студентам 1 18.10.2013 19:57
c++ перегрузка функций pdesyatnyk Помощь студентам 2 13.12.2012 17:55
Си++ перегрузка функций гость* Помощь студентам 1 28.10.2012 18:39
Перегрузка функций... bondik Общие вопросы C/C++ 12 28.04.2008 01:07
перегрузка функций Snake_ua Общие вопросы Delphi 3 26.11.2007 10:54