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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2011, 14:22   #1
Arthur92
 
Регистрация: 21.11.2010
Сообщений: 4
Сообщение однонаправленный список

как можно видоизменить данную структуру и сделать её как однонаправленный список:

#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string>

using namespace std;
struct Student
{
string FIO;
string Gruppa;
int Uspevaemost;
};

void Add (Student *W, int &n)
{
clrscr ();
cout<<"Dannie studenta:\n";
cout<<"FIO:"; cin>>W[n].FIO;
cout<<"Gruppa:"; cin>>W[n].Gruppa;
int i;
cout<<"Uspevaemost:"; cin>>W[n].Uspevaemost;

n++ ;
}
void Find (Student *W)
{
string y;
cout<<"Vvedite Gruppu:";
cin>>y;
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)
if (W[i].Gruppa==y)
cout<<W[i].FIO<<" "<<W[i].Gruppa<<" "<<W[i].Uspevaemost<<"\n";
getch ();
}
void Print (Student *W, int n)
{
clrscr ();
cout<<"Spisok studentov :\n";
if (n==0)
{
cout<<"Spisok pust";
getch ();
return;
}
cout<<"FIO Gruppa Uspevaemost\n";
for (int i=0; i<n; i++)

{
cout<<W[i].FIO<<" "<<W[i].Gruppa<<" "<<W[i].Uspevaemost<<"\n";
}
getch ();
}

void Uporyid (Student *W, int n)
{
clrscr ();
cout << n;
cout << "Uporyid\n";
Student temp;
for(int i=0; i<n; i++)
for(int j=n-2; j>=i; j--)
if (W[j].Gruppa>W[j+1].Gruppa)
{
temp=W[j];
W[j]=W[j+1];
W[j+1]=temp;
}

getch ();
}


void main ()
{ Student *A=new Student [10];
int n=0, j;
char ch;



const int N_max=10;
Student *W=new Student[N_max];
do

{
clrscr ();
cout<<"1 - Dobavlenie\n";
cout<<"2 - Pechat studentov\n";
cout<<"3 - Naiti studenta\n";
cout<<"4 - Uporyid\n";
cout<<"0 - Vixod\n";
ch=getch ();
switch (ch)
{
case '1': Add (W,n); break;
case '2': Print (W,n); break;
case '3': Find (W,n); break;
case '4': Uporyid (W,n); break;

}
}
while (ch!='0');
}
Arthur92 вне форума Ответить с цитированием
Старый 03.07.2011, 18:04   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Arthur92 Посмотреть сообщение
как можно видоизменить данную структуру и сделать её как однонаправленный список
Добавить указатели на следующий элемент.
An1ka вне форума Ответить с цитированием
Старый 03.07.2011, 19:48   #3
Arthur92
 
Регистрация: 21.11.2010
Сообщений: 4
По умолчанию

спасибо)
это можно сказать, что в описании структуры только нужно указать на следующий элемент, а в добавление элемента, вывода его на печать ничего дописывать не придется?
Arthur92 вне форума Ответить с цитированием
Старый 03.07.2011, 20:25   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Arthur92
все придется переписывать почти полностью.
Оставить почти без изменений можно будет функцию main.
rrrFer вне форума Ответить с цитированием
Старый 03.07.2011, 20:31   #5
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

http://www.youtube.com/watch?v=ksTiXVd-6gc
An1ka вне форума Ответить с цитированием
Старый 03.07.2011, 20:51   #6
Arthur92
 
Регистрация: 21.11.2010
Сообщений: 4
По умолчанию

An1ka большое спасибо, интересно конечно))
видео урок кстати))
Arthur92 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
однонаправленный список Nata-Tata Помощь студентам 3 14.04.2011 11:28
линейный однонаправленный список с++ kate311893 Общие вопросы C/C++ 0 07.12.2010 10:02
линейный однонаправленный список с++ kate311893 Помощь студентам 0 06.12.2010 20:30
[C] Однонаправленный список ordoss Помощь студентам 8 30.01.2010 14:43