Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Структура в классе, это возможно? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите с блок-схемой и алгоритмом http://www.cyberforum.ru/cpp-beginners/thread14930.html
Есть только листинг программы(((((((((( lines.cpp: #include "windows.h" #include "resource.h" #include "random.h" #include <list> #include <queue> #include <stack>
C++ Найти числа из массива кратных 3 Я написал прогу "найти числа из массива кратных 3" #include <stdio.h><math.h> main() { int a,i,s; printf("\n 3adaite 4isla: \n"); for(i=0;i<10;i++) scanf("%d",&a); for(i=0;i<10;i++){ http://www.cyberforum.ru/cpp-beginners/thread14921.html
C++ Задачник по С++
Появилось тут желание вспомнить программирование на Си плюсе немного(несколько лет на нём непрогал уже, начал забывать...), и всвязи с этим появился вопрос: есть ли какой-нить хороший задачник по...
C++ + Ассемблер = проблема C++
Добрый день. Вот такой код #include <iostream> #include <windows.h> using namespace std; WORD NUM; void main() {
C++ Поменять местами самое длинное слово и самое короткое слово в тексте http://www.cyberforum.ru/cpp-beginners/thread14877.html
Пусть есть двумерный массив, заполненный символами. Рассматривать его как многострочный текст, слова в котором разделены одним или несколькими пробелами. Поменять местами самое длинное слово и самое...
C++ Задачка про массивы Только начала изучать программирование, пытаюсь разбиратся ,но не всё так просто , помогите пжлст решить задачку на массивы Даны два массива размера N, элементы которых упорядоченны по... подробнее

Показать сообщение отдельно
Inlight
43 / 42 / 2
Регистрация: 17.09.2008
Сообщений: 98
31.10.2008, 10:42
Если структура в классе, то как-то так.. Список односвязный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <iostream>
#include <string>
using namespace std;
class List
{
private:
    struct Patient
    {
        string FIO;
        int numOfPolicy;
        string specialist;
        string receptionTime;
        Patient *pNextPatient;  //  Указатель на след. пациента
 
        Patient()
        {
            pNextPatient = 0;
        }
    };
public:
    Patient *pFirstPatient; //  Указатель на первого пациента
    List()
    {
        pFirstPatient = NULL;
    }
    void Add(string inFIO, int inNumOfPolicy, string inSpecialist, string inReceptionTime)
    {
        Patient* pAddingPatient = new Patient;
            pAddingPatient->FIO = inFIO;
            pAddingPatient->numOfPolicy = inNumOfPolicy;
            pAddingPatient->receptionTime = inReceptionTime;
            pAddingPatient->specialist = inSpecialist;
        
        if(pFirstPatient!=NULL) { // если список не пуст,
            GetLast()->pNextPatient = pAddingPatient;   // делаем пациента pAdd последней
        }
        else { //   если список пуст, то добавлем данные в начало списка.
            pFirstPatient = pAddingPatient;
        }
    }
    Patient* GetLast()
    {
        Patient *pCurrentPatient = pFirstPatient;   //  Указатель на очередные данные в списке.
        if(pCurrentPatient == NULL) {// Если список пуст, то возвращаем NULL.
            return NULL;
        }
        while(pCurrentPatient->pNextPatient!=NULL) {// Пока есть следующий элемент списка переводим указатель на следующий
            pCurrentPatient = pCurrentPatient->pNextPatient;
        }
        return pCurrentPatient;
    };
    void ShowAll()
    {   
        Patient *pCurrentPatient = pFirstPatient;   //  Указатель на очередные данные в списке.
        if(pCurrentPatient == NULL) {// Если список пуст, то это и напишем.
            cout << "Empty" << endl;
            getchar();
        }
        else
        {
            // Пока есть следующий элемент списка.
            do  {   // Выводим на консоль очередной элемент.
                cout << pCurrentPatient->FIO << endl <<
                        pCurrentPatient->numOfPolicy << endl <<
                        pCurrentPatient->specialist << endl <<
                        pCurrentPatient->receptionTime << endl << endl;
                }
            while((pCurrentPatient = pCurrentPatient->pNextPatient)!=NULL); // Переводим pCurr на следующий элемент в списке.
                                                                            // Если он равен NULL, то заканчиваем.
            getchar();
        }
        getchar();
    }   
 
};
 
                
 
int main()
{   
    List *pList = new List;
    pList->Add("Ivanov",1234,"Surgeon","31.10.2008 09:20");
    pList->Add("Petrov",5678,"Surgeon","31.10.2008 09:30");
    pList->Add("Sidorov",91011,"Surgeon","31.10.2008 09:40");
    pList->ShowAll();
    getchar();  //  Заглушка.
    return 0;
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru