Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Excel VBA, CAD, Софт, ОС, Windows, Ubuntu, Android, VPS
Win Api, Assembler, C++, Java, Pascal, Lazarus, Delphi, OpenGL, DirectX
C#, Qt, .NET, ASP.NET, Windows Forms, ADO.NET, Framework, WPF, UWP, WinRT, XAML
HTML, CSS, JavaScript, Ajax, PHP, Perl, Python, Ruby, SQL, WordPress, API, XML, JSON, ActionScript, Flash

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

Описать 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 в 01:59.
shadow155 вне форума   Ответить с цитированием
Старый 06.01.2017, 00:01   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 8,921
Репутация: 1402

icq: 216409213
По умолчанию

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сделать наследование классов, 1 класс находится первой форме, 2 класс во второй. Вероника99 Помощь студентам 3 30.04.2016 00: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




23:32.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru