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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 15:46   #1
dimulka2010
 
Регистрация: 28.03.2010
Сообщений: 4
Радость использование списка для структуры

помогите снова)))написал структуру)))создал спискок пустой,теперь надо ,что бы вся информация которую мы вводили записывалась в списокбсортировалось,как мне это сделать правильно????
Код:
/ First_program.cpp : Defines the entry point for the console application.
//
//нужно создать динамическую структу,список,с удалением,редактированием
#include "stdafx.h"
#include <iostream>
#include <conio.h>
int const n=2;//объявил глобальную переменную,от которой зависит число поездов в моем списке 
using namespace std;
struct TRAIN//объявил структуру
{
	char name_punkt[20];//пункт назначения
	int number_train;//номер поезда
	int time_travel;//время отправления
	TRAIN* next; //Ссылка на следущий элемент списка
};
struct dyn_list 
	{
		TRAIN* head; // Первый элемент (голова) списка
		TRAIN* tail; // Последний элемент (хвост) списка
	}; 
 
// Создание пустого списка
void constr_list(dyn_list &l)
{
	l.head = NULL;
}
// Проверка списка на пустоту
bool chk_empty(dyn_list l)
{
	return (l.head==NULL);
}


 // Включение в список нового компонента
void comp_in(dyn_list &l, char* n)
{
	TRAIN* c = new TRAIN();
	strcpy_s(c->name_punkt, 20, n);
	//strcpy_s(c->number_train, 10, v);
	c->next = NULL;
	if (chk_empty(l))
		l.head = c;
	else
		l.tail->next = c;
	l.tail = c;
} 



int _tmain()
{
	
	int j,i,time=0;//переменные,которые использую
	TRAIN poezda[n],tmp;//объявляю массив типа моей структуры

	

	for(i=0;i<n;i++)//счетчик
{

	cout<<"Vvedite nazvanie marshruta:\n";
	cin>>poezda[i].name_punkt;
	
	cout<<"Vvedite nomer poezda:\n";
	cin>>poezda[i].number_train;

	cout<<"Vvedite vremia poezdki:\n";
	cin>>poezda[i].time_travel;
	cout<<"\n----------------------------------\n";
};	
for(int i=0;i<n-1;i++)//метод пузырька для сортировки поездов по алфавиту)))
 {
  for(int j=i+1;j<n;j++)
   {
    if (strcmp(poezda[i].name_punkt,poezda[j].name_punkt)>0)
     {tmp=poezda[i];
	  poezda[i]=poezda[j];
	  poezda[j]=tmp;
      }
   }
 }
for(i=0;i<n;i++)//вывожу отсортированные уже поезда
{
	cout<<poezda[i].name_punkt<<"\n";
}
cout<<"V kakoe vremia vi hotite otpravitsya v puteshestvie?:\n";
cin>>time;//запоминаем в память
int z,t;


//если поезд есть такой то выводим всю информацию о поездах
	for(i=0;i<n;i++)
	{
		z=poezda[i].time_travel;
		if(time == z)
	t=i;
		else
{
	t=0;
};
	}
if(t>0)
	cout<<" Nazvanie reysa : "<<poezda[t].name_punkt<<" Nomer poezda "<<poezda[t].number_train<<" Vremiya "<<poezda[t].time_travel<<"\n";
else
	cout<<"Izvinite,no v takoe vremiya svobodnih poezdov net(((((((";

dyn_list vars; // Динамический список
constr_list(vars); 
char x[100];
cout<<"Vvedite punkt naznacheniya : "<<endl;
cin>>x;
comp_in(vars,x);

getch();
return 0;
}
заранее спасибо

Последний раз редактировалось dimulka2010; 28.03.2010 в 17:14.
dimulka2010 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WIN API для получения списка? YaroslavKh Win Api 10 12.02.2010 00:02
EXCEL - Использование структуры "ЕСЛИ" sting Помощь студентам 1 21.11.2009 10:46
Подготовка даных для списка в макросе tae1980 Microsoft Office Excel 7 10.05.2009 15:10
как сделать фильтр для списка combobox ? sergey113 Помощь студентам 2 13.08.2008 16:29