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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 18:18   #1
Светa
Новичок
Джуниор
 
Регистрация: 19.02.2012
Сообщений: 1
По умолчанию стек на с++

Здравствуйте, на Вас осталась последняя надежда, надеюсь вы сможете мне помочь)
дело в том, что лектор нам просто о стеках в с++ ничего не говорил, только о том как они в паскале прописываются и то очень кратко и сжато, а задачу вот такую задал.. нужно сформировать динамическую структуру а именно стек, содержащую данные по студентам в следующем виде: Фамилия Имя Группа ГР и RS, где ГР - год рождения,RS - средний рейтинг (не мение 5 записей). Осуществить обработку структуры согласно своему заданию (вывести на экран требуемые записи) а задание у меня "все студенты, чьи фамилии начинаються с буквы "А""

вот есть код для этого условия но тут вместо стека связный список, помогите сделать стек вместо списка а?

Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
struct stud {
char fam[10],name[10],group[10];
int gr,rs;
};
struct dstud {
stud data;
dstud *pPrior;
dstud *pNext;
};
void sread(stud &s)
{
printf("Family: \n");scanf("%s",&s.fam);
if (s.fam[0] != '*') {
printf("Name: \n");scanf("%s",&s.name);
printf("Group: \n");scanf("%s",&s.group);
printf("Year: \n");scanf("%i",&s.gr);
printf("Rating: \n");scanf("%i",&s.rs);
}}
void main(void)
{
dstud *pBegin=NULL,*pEnd=NULL,*pList=NULL;
stud s;
int k=0;
// Sozdanie spiska
clrscr();
pList=new(dstud);
(*pList).pPrior=NULL;
(*pList).pNext=NULL;
sread(s);(*pList).data=s;
pBegin=pList;
// Dobavlenie dannih
while (s.fam[0] != '*')
{ sread(s);
if (s.fam[0] != '*') {
pEnd=new(dstud);
(*pEnd).pPrior=pList;
(*pEnd).pNext=NULL;
(*pEnd).data=s;
(*pList).pNext=pEnd;
pList=pEnd;
}}
printf("Ves spisok:\n");
pList=pBegin;
while (pList)
{
printf("F=%s N=%s G=%s Y=%i Rs=%i\n",(*pList).data.fam,
(*pList).data.name,(*pList).data.group,(*pList).data.gr,(*pList).data.rs);
pList=(*pList).pNext;
}
printf("Trebuemie studenti:\n");
pList=pBegin;
while (pList)
{if ((*pList).data.fam[0]=='A')
{
k++;
printf("F=%s N=%s G=%s Y=%i Rs=%i\n",(*pList).data.fam,
(*pList).data.name,(*pList).data.group,(*pList).data.gr,(*pList).data.rs);
}
pList=(*pList).pNext;
}
printf("Vsego naidenno %i studentov.",k);
}

Последний раз редактировалось ACE Valery; 19.02.2012 в 18:51.
Светa вне форума Ответить с цитированием
Старый 19.02.2012, 18:35   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 19.02.2012, 18:44   #3
Mahaondj
Новичок
Джуниор
 
Регистрация: 26.09.2011
Сообщений: 1
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Человек попросил помочь , выложил код, обьяснил что конкретно у него не получается.Причем тут халява ?
Mahaondj вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек. pa6kevi4 Помощь студентам 5 12.03.2010 15:38
стек. Nelson1992 Фриланс 2 16.02.2010 00:28