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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2017, 22:34   #1
shadow155
Пользователь
 
Регистрация: 11.06.2015
Сообщений: 14
По умолчанию Как сделать из структуры класс

Описать class train, который содержит такие поля:
-название пункта назначения;
-номер поезда;
-время отправления;
Класс должен содержать методы, которые выполняют такие действия:
1) Ввод с клавиатуры данных в массив из 6 элементов типа train;
2)Записи должны быть упорядочены по времени отправления поезда;
3)Вывод на экран информации о поездах, которые направляются в пункт, название которого введено с клавиатуры;
4)Если таких поездов нет, то вывести на дисплей соответствующее сообщение.

Код:
#include "stdafx.h"
#include "iostream"
#include "string.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
using namespace std;

int N;

struct TRAIN
{
    char Name[18];
	int  Ab;
	char Time[6];
}spisok[6];

//00
void sad()
{
	printf("1. Vvedenie dannih v bazy\n");
 	printf("2. Prosmotr vsey bazy\n");
	printf("3. Poezd\n");
	printf("4. Exit\n");
}
//0
struct TRAIN sort(struct TRAIN spisok[],int N)
{
	int i,j; 
	TRAIN swap; 
	for(i=0;i<N-1;i++) 
	{ 
		for(j=i+1;j<N;j++) 
		{
			if(strcmp(spisok[i].Time,spisok[j].Time)>0)
			{
				swap=spisok[i];
				spisok[i]=spisok[j];
				spisok[j]=swap; 				
			}
		}
	}
	return spisok[6];
}



//1
int vvod(struct TRAIN spisok[])
{   
	cout<<"vvedite kolichestvo punktov v baze"<<endl;
	cin>>N;
	cout<<"vvedite dannie v strukturu: "<<endl;
    for(int i=0;i<N;i++)
    {
		cout<<"Vvedite "<<i+1<<" punkt "<<endl;
		fflush(stdin);		cin.getline(spisok[i].Name,18);
		cout<<"Vvedite nomer "<<endl;		cin>>spisok[i].Ab;
		cout<<"Vvedite vremya "<<endl;
		fflush(stdin);		cin.getline(spisok[i].Time,6);
		cout<<"\n";
    }
	sort(spisok,N);
//	qsort(spisok,N,sizeof(TRAIN),compare);
	cout<<endl<<"Viberite sledyuschiy  variant"<<endl;
	sad();cout<<endl;
	return N;
}

void viev(struct TRAIN spisok[])
{      
	cout<<"  ЪДДДДДДДВДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДВДДДДДДДДДДДДї"<<endl;
	cout<<"  і nomer і        punkt        і   nomer     і   vremya   і"<<endl;
	for(int i=0;i<N;i++)
	{	
		cout<<"  ГДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДЕДДДДДДДДДДДДґ"<<endl;
		printf("  і %-3d   і %-18s  і  %-10d і %-10s і\n",i+1,spisok[i].Name,spisok[i].Ab,spisok[i].Time);
   	}
	cout<<"  АДДДДДДДБДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДБДДДДДДДДДДДДЩ"<<endl;
	cout<<endl<<"Viberite sledyuschiy  variant"<<endl;
	sad();cout<<endl;
}


void sp_p(struct TRAIN spisok[],int N)
{
	char c[18];
	cout<<"Vvedite nazvanie punkta ";
	int u=0;
	fflush(stdin); cin.getline(c,18);
	cout<<"Spisok poezdow"<<endl;
	for(int i=0;i<N;i++)
	{
		if(strcmp(spisok[i].Name,c)==0)
		{
			u++;
			cout<<spisok[i].Ab<<" "<<spisok[i].Time<<endl;
		}
	}
	if(u==0)
	{
		cout<<"Takih poezdov nema((("<<endl;
	}
	cout<<endl<<"Viberite sledyuschiy  variant"<<endl;
	sad();cout<<endl;
}
int main(int argc, char* argv[])
{
	char a;
	printf("1. Vvedenie dannih v bazy\n");
 	printf("2. Prosmotr vsey bazy\n");
	printf("3. Poezd\n");
	printf("4. Exit\n");
	printf("Viberite vash variant\n");
	for( ; ; )
	{
		a=getchar();
		switch(a)
		{
		case '1': vvod(spisok);
			break;
		case '2': viev(spisok);
			break;
		case '3': sp_p(spisok,N);
			break;
		case '4': exit(2);
		};
	}
	_getch();
	return 0;
}

Последний раз редактировалось Arigato; 06.01.2017 в 00:59.
shadow155 вне форума Ответить с цитированием
Старый 05.01.2017, 23:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Я вам открою секрет. В С++ класс и структура за некоторыми оговорками одно и то же. И именно поэтому в отличии от С писать struct T не надо...
p51x на форуме Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сделать наследование классов, 1 класс находится первой форме, 2 класс во второй. Вероника99 Помощь студентам 3 29.04.2016 23:02
Как сделать общий класс? Ruslasy C# (си шарп) 1 20.05.2014 14:43
как сделать тут отдельно конструктор и класс elf01 C++ Builder 0 01.05.2012 21:09
как сделать Класс типа Image SevenXP Общие вопросы Delphi 13 19.09.2010 13:13
Структуры. Как сделать, что-бы код заработал? Иллидан Общие вопросы C/C++ 1 19.05.2008 13:19