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

Библиотека STL, класс ЛИСТ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вылезает ошибка! http://www.cyberforum.ru/cpp-beginners/thread136740.html
// Test.cpp: главный файл проекта. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; void func(char*);
C++ Двухмерный масив Всем привет!) Вот задали задачку.. никак не могу ее решить...(( Кто может помогите...)) буду благодарен..)) Условие: Из двухмерного массива Асоздать массив K элементами которого являются... http://www.cyberforum.ru/cpp-beginners/thread136739.html
C++ Изменить ввод в программе
нужно изменить ввод в программе. Сделать ввод через конструктор. //--------------------------------------------------------------------------- #pragma hdrstop ...
C++ работа с файлами
1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла все фразы, содержащие слово «мама». как сравнивать слово...
C++ Заменить расположение элементов в файле http://www.cyberforum.ru/cpp-beginners/thread136691.html
Дан файл целых чисел с элементами A1, A2, …, AN (N — количество элементов в файле). Заменить исходное расположение его элементов на следующее: A1, AN, A2, AN–1, ...
C++ Объединения (union) Имеется задача: (Нужно выполнить решения, используя объединения.) Ввести с клавиатуры два произвольных символа. Составить число типа short, байты которого совпадают с кодами введённых символов.... подробнее

Показать сообщение отдельно
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
28.05.2010, 23: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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include <iostream>
#include <string>
#include <list>
 
struct Student
{
    std::string facultet;
    std::string institute;
    std::string FIO;
    int grup_number;
    int za4et_number;
    int year;
};
 
typedef std::list<Student> StudentList;
typedef std::list<Student>::iterator IterStudentList;
typedef std::list<Student>::const_iterator ConstIterStudentList;
 
void Print(const StudentList& List)
{
        std::cout<<"\n"<<"============================="<<"\n";
 
        for(ConstIterStudentList iStudent = List.begin(); iStudent != List.end(); ++iStudent)
        {
            std::cout << "FIO -> ";
            std::cout << iStudent->FIO << std::endl;
            std::cout << "got ro}I{denia -> ";
            std::cout << iStudent->year << std::endl;
            std::cout << "nomer za4etki -> ";
            std::cout << iStudent->za4et_number << std::endl;
            std::cout << "institut -> ";
            std::cout << iStudent->institute << std::endl;
            std::cout << "facultet -> ";
            std::cout << iStudent->facultet << std::endl;
            std::cout << "nomer gruppu-> ";
            std::cout << iStudent->grup_number << std::endl;
 
            std::cout<<"-----------------------------"<<"\n";
        }
 
        std::cout<<"============================="<<"\n";
}
 
 
char MainMenu()
{
    system("cls");
 
    std::cout << "Menu:"  << std::endl;
    std::cout << "\t 1. Add info to list (to head )" << std::endl;
    std::cout << "\t 2. Add info to list (to end)" << std::endl;
    std::cout << "\t 3. Add info in list with some position" << std::endl;
    std::cout << "\t 4. Delete info  (for elements numbers)" << std::endl;
    std::cout << "\t 5. Delete all info (Cleaning list)" << std::endl;
    std::cout << "\t 6. Print list" << std::endl;
    std::cout << "Vvedite nomer deistvia i najmite <Enter>: ";
    char item = 0;
    std::cin >> item;
 
    return item;
}
 
Student DataInput()// Ввод данных
{
        Student student;
        std::cout << "Dannie o studente: " << std::endl;
        std::cout << "FIO : ";
        std::cin.ignore();
        std::getline(std::cin, student.FIO);
        std::cout << "got ro}I{denia : ";
        std::cin >> student.year;
        std::cout << "nomer za4etki: ";
        std::cin >> student.za4et_number;
        std::cout << "institut: ";
        std::cin.ignore();
        std::getline(std::cin, student.institute);
        std::cout << "facultet : ";
        std::cin.ignore();
        std::getline(std::cin, student.facultet);
        std::cout << "fnomer gruppu: ";
        std::cin >> student.grup_number;
        //std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
        return student;
}
 
int main()
{
        size_t n = 0;
        StudentList studentList;
 
        char answer = 'y';
        while(answer == 'y')
        {
            switch ( MainMenu() )
            {
                case '1':
                    studentList.push_front( DataInput() );
                    break;
 
                case '2':
                    studentList.push_back( DataInput() );
                    break;
 
                case '3':
                    std::cout << "Vvedite nomer pozicii dlia vstavki: ";
                    std::cin >> n;
                    if( n >= studentList.size() )
                    {
                        std::cout << "V spiske net zapisi pod nomerom " << n << std::endl;
                    }
                    else
                    {
                        IterStudentList iterStudent = studentList.begin();
                        std::advance(iterStudent, n);
                        studentList.insert( iterStudent, DataInput() );
                    }
                    break;
 
                case '4':
                    std::cout << "Vvedite nomer pozicii dlia udalenia: ";
                    std::cin >> n;
 
                    if( n >= studentList.size() )
                    {
                        std::cout << "V spiske net zapisi pod nomerom " << n << std::endl;
                    }
                    else
                    {
                        IterStudentList iterStudent = studentList.begin();
                        std::advance(iterStudent, n);
                        studentList.erase(iterStudent);
                    }
                    break;
 
                case '5':
                    studentList.clear();
                    break;
 
                case '6':
                    Print(studentList);
                    break;
 
                default:
                    std::cout << "Takogo punkta menu ne sushestvuet." << std::endl;
                    break;
            }
            std::cout << "Continue?(input 'y' to continue or any other key to quit) ";
            //std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cin >> answer;
        }
 
        std::cout << "\n Thats all!!!\n\n";
 
        return 0;
}
Это на основе программы из первого поста. Правильность ввода данных не проверяется. Кроме добавления в список и печати, больше ничего не проверял, так что смотрите сами...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru