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

Список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Склеивание двух vector'ов http://www.cyberforum.ru/cpp-beginners/thread171836.html
Имеется два экземпляра класса std::vector. Я хочу один вектор прицепить к другому. Т..е на входе имеем вектора {1,2,3} и {4,5,6}, а хочется получить вектор {1,2,3,4,5,6}. Сейчас я обхожу поэлементно второй вектор и добавляю к первому, но это велосипед. Можно ли это сделать по-человечески?
C++ Вычислить произведение последних 3-х чисел не кратных 5 в диапазоне от 20 до 50 Всем привет! Мне дана задача, но я незнаю как в С++ обозначать диапазоны и через какой цикл писать. У меня 2 варианта, но я склоняюсь ко 2 варианту. Вычислить произведение последних 3-х чисел не кратных 5 в диапазоне от 20 до 50. Вариант 1 #include "stdafx.h" #include <iostream> using namespace int _tmain(int argc, _TCHAR* argv) http://www.cyberforum.ru/cpp-beginners/thread171835.html
C++ Программа для отыскания заданного количества пар дружественных чисел
Два числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Например, 220 и 284 есть дружественные числа, так как делителями первого являются числа 1 2 4 5 10 11 20 22 44 55 110, сумма которых равно 284, а делителями второго - числа 1 2 4 71 142, которые в сумме дают 220. Напишите программу для отыскания заданного количества пар...
C++ курсовое проектирование на с++
21. В цехе находятся 8 станков. Каждый станок имеет свое время обработки заготовки и свое количество материала в кг., уходящего в отходы. Каждая заготовка также имеет свои коэффициенты , влияющие на время обработки и на количество отходов. Параметры заготовок, поступающих в цех задаются в процессе работы. Отображать заготовки, находящиеся в очереди, время, оставшееся до окончания обработки для...
C++ Расположение конкретной точки на площине http://www.cyberforum.ru/cpp-beginners/thread171803.html
Помогите! Нужно написать программу С++. нужно ввести х, у і тогда программа должна если точка принадлежит кругу с радиусом 2 и центром в точке (0,0) вивести на екран true.и если наоборот то false. надеюсь понятно... #include<iostream> #include<cmath> using namespace std; int main() {double x,y; cout<<"Vvedit x"<<endl; cin>>x; cout<<"Vvedit y"<<endl; cin>>y;
C++ Определить количество отрицательных элементов в тех строках матрицы, которые содержат хотя бы один нулевой элемент по программе:дана целочисленная квадратная матрица.Определить количество отрицательных элементов в тех строках ,которые содержат хотя бы один нулевой элемент. подробнее

Показать сообщение отдельно
Demonhunterus
1 / 1 / 0
Регистрация: 20.09.2010
Сообщений: 36
10.10.2010, 18:34  [ТС]     Список
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <iostream>
#include <list>
#include <string>
#include <cstdlib>
 
using namespace std;
int main()
{
  ifstream file("c:\\1.txt");
  list<string> my_list;
  while(!file.eof())
  {
    string val;
    file>>val;
    std::getline(file, val);
    cout<<val<<endl;
  }
  file.close();
  system("PAUSE");
}
не выводит первое слово строки(Если строка "Иванов Иван Иванович 1980",то выводит только "Иван Иванович 1980")...Знаю,накосячил,тыкните мордой,где?

Добавлено через 3 часа 36 минут
Нашел 2 схожих темы,может кто-то поможет это дело заточить под мое задание?
http://www.cyberforum.ru/cpp-beginne...397-page2.html
Составить базу данных о квартирах дома (от 6 до 12). Для каждой квартиры указать номер, жилую площадь, общую площадь, количество жильцов...

Добавлено через 12 часов 47 минут
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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
#pragma hdrstop
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
 
struct WORKER
{
char fam[15];
char bol[15];
int date;
int dlit;
};
 
void Input(WORKER *x);
void Read(WORKER *x);
void Find(WORKER *x);
 
int main(int argc, char* argv[])
{
system("cls") ;
 
int n;
char ex;
WORKER work[5], *ptr;
do
{
system("cls") ;
 
cout<<"Добро пожаловать, в базу данных рабочих, выберите (< 1 – 4 >) : \n"<<endl;
cout<<"\t 1 – Ввод информации о рабочих."<<endl;
cout<<"\t 2 – Просмотр информации о рабочих."<<endl;
cout<<"\t 3 – Поиск рабчих."<<endl;
cout<<"\t 4 – Выход из системы."<<endl;
 
cin>>n;
switch (n)
{
case 1 :
Input(work);
break;
case 2 :
Read(work);
break;
case 3 :
Find(work);
break;
case 4 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>ex;
if (ex=='n') ex='n';
break;
default:
cout<<"\a\t Не умничай , повтори ввод! :)";
cout<<"\n\a Нажми любую кнопку ";
getch();
exit(1);
}
} while (n!=4);
 
}
 
//////////////Input information////
 
void Input(WORKER *x)
{
int i;
for(i=0;i<5;i++)
{
system("cls") ;
cout<<" [ Ввод данных о рабочем ] "<<i+1<<"";
cout<<"\t Введите фамилию рабочего : ";
cin>>x[i].fam;
cout<<"\n\t Введите заболевание рабочего : ";
cin>>x[i].bol;
cout<<"\n\t Введите год рождения рабочего (xxxx.г) : ";
cin>>x[i].date;
cout<<"\n\t Введите длительность болезни рабочего : ";
cin>>x[i].dlit;
}
}
 
void Read(WORKER *x)
{
int var;
system("cls") ;
cout<<"\t Просмотр информации о рабочих"<<endl<<endl;
 
cout<<"Фамилия. Заболевание. Год рождения. Длительность болезни"<<endl;
 
for(int i=0;i<5;i++)
{
cout<<x[i].fam;
var=15-(strlen(x[i].fam));
for(int j=1;j<var;j++)cout<<" ";
cout<<x[i].bol;
var=15-(strlen(x[i].bol));
for(int j=1;j<var;j++)cout<<" "; 
cout<<x[i].date<<endl;
cout<<x[i].dlit<<endl;
}
getch();
if (strlen(x[0].fam) == 0)
{
system("cls") ;
cout<<"\t База пуста \a"<<endl;
cout<<"\n\a Нажмите любую кнопку ";
getch();
}
}
 
void Find(WORKER *x)
 
{
int abc,k;
char *fami,xi;
 
system("cls") ;
 
cout<<"\t Поиск рабочих, введите по чему искать : "<<endl;
cout<<"1 – Поиск по фамилии"<<endl;
cout<<"2 – Поиск по заболеванию"<<endl;
cout<<"3 – Поиск по году рождения"<<endl;
cout<<"4 – Поиск по длительности болезни"<<endl;
cout<<"5 – Выход"<<endl;
cin>>abc;
if(abc<0 || abc>5)
{
cout<<"Такой категории не существует, повторите ввод.";
cin>>abc;
}
 
switch (abc)
{
case 1 :
system("cls") ;
cout<<"Введите фамилию для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].fam,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
break;
case 2 :
system("cls") ;
cout<<"Введите заболевание для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].bol,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
case 3 :
system("cls") ;
int god;
cout<<"Введите год для поиска (гггг) – ";
cin>>god;
if (god<1999 || god>2003)
{
cout<<"Ошибка ввода даты, повторите ввод (1990-2003)"<<endl;
cin>>god;
}
for(int i=0;i<5;i++)
{
if (x[i].date == god)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 4 :
system("cls") ;
int dlit;
cout<<"Введите длительность болезни для поиска – ";
cin>>dlit;
for(int i=0;i<5;i++)
{
if (x[i].date == god)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 5 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>xi;
if (xi=='n') abc=5;
break;
default :
cout<<"\a\t Не умничай :)";
getch();
exit(1);
break;
}
}
Нашел такой вот исходник.Почикал его немного.Не знаю,прокатит сдать такую штуку,а не через List реализованную,но попытаюсь.А теперь внимание вопросы:
1)В "Просмотре информации о рабочих" длительность болезни выводится не в той же строчке,что и имя-год рождения и т.д. рабочего,а с новой строки.Как исправить?
2)В "Поиске рабочих" работает только "Поиск по дате рождения".При попытке поиска по фамилии программа вылетает.При попытке поиска по длительности болезни программа ничего не выводит.Где ошибка?
Помогите разобраться и исправить Затыкаю "спасибками"!
P.S.:А если кто к этому и List применит - до полусмерти затыкаю "Спасибками"!!! ))

Добавлено через 24 минуты
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
156
157
158
159
160
161
162
#pragma hdrstop
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
 
struct WORKER
{
char fam[15];
char bol[15];
int date;
int dlit;
};
 
void Input(WORKER *x);
void Read(WORKER *x);
void Find(WORKER *x);
 
int main(int argc, char* argv[])
{
system("cls") ;
 
int n;
char ex;
WORKER work[5], *ptr;
do
{
system("cls") ;
 
cout<<"Добро пожаловать, в базу данных рабочих, выберите (< 1 – 4 >) : \n"<<endl;
cout<<"\t 1 – Ввод информации о рабочих."<<endl;
cout<<"\t 2 – Просмотр информации о рабочих."<<endl;
cout<<"\t 3 – Поиск рабчих."<<endl;
cout<<"\t 4 – Выход из системы."<<endl;
 
cin>>n;
switch (n)
{
case 1 :
Input(work);
break;
case 2 :
Read(work);
break;
case 3 :
Find(work);
break;
case 4 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>ex;
if (ex=='n') ex='n';
break;
default:
cout<<"\a\t Не умничай , повтори ввод! :)";
cout<<"\n\a Нажми любую кнопку ";
getch();
exit(1);
}
} while (n!=4);
 
}
 
//////////////Input information////
 
void Input(WORKER *x)
{
int i;
for(i=0;i<5;i++)
{
system("cls") ;
cout<<" [ Ввод данных о рабочем ] "<<i+1<<"";
cout<<"\t Введите фамилию рабочего : ";
cin>>x[i].fam;
cout<<"\n\t Введите заболевание рабочего : ";
cin>>x[i].bol;
cout<<"\n\t Введите год рождения рабочего (xxxx.г) : ";
cin>>x[i].date;
cout<<"\n\t Введите длительность болезни рабочего : ";
cin>>x[i].dlit;
}
}
 
void Read(WORKER *x)
{
int var;
system("cls") ;
cout<<"\t Просмотр информации о рабочих"<<endl<<endl;
 
cout<<"Фамилия. Заболевание. Год рождения. Длительность болезни"<<endl;
 
for(int i=0;i<5;i++)
{
cout<<x[i].fam;
var=15-(strlen(x[i].fam));
for(int j=1;j<var;j++)cout<<" ";
cout<<x[i].bol;
var=15-(strlen(x[i].bol));
for(int j=1;j<var;j++)cout<<" "; 
cout<<x[i].date<<endl;
cout<<x[i].dlit<<endl;
}
getch();
if (strlen(x[0].fam) == 0)
{
system("cls") ;
cout<<"\t База пуста \a"<<endl;
cout<<"\n\a Нажмите любую кнопку ";
getch();
}
}
 
void Find(WORKER *x)
 
{
int abc,k;
char *fami,xi;
 
system("cls") ;
 
cout<<"\t Поиск : "<<endl;
cout<<"1 – Поиск по заболеванию"<<endl;
cout<<"2 – Выход"<<endl;
cin>>abc;
if(abc<0 || abc>2)
{
cout<<"Такой категории не существует, повторите ввод.";
cin>>abc;
}
 
switch (abc)
{
case 1 :
system("cls") ;
cout<<"Введите заболевание для поиска – ";
cin>>fami;
for(int i=0;i<5;i++)
{
if (strcmp(x[i].bol,fami)==0)
{
cout<<endl<<"Это : "<<x[i].fam<<" "<<x[i].bol<<" "<<x[i].date<<x[i].dlit;
k++;
}
}
if (k==0)
{
cout<<" Такой не найден !!!";
}
getch();
 
break;
 
case 2 :
cout<<"\n\n\n\t\t Выйти?[Y/N] : ";
cin>>xi;
if (xi=='n') abc=5;
break;
default :
cout<<"\a\t Не умничай :)";
getch();
exit(1);
break;
}
}
Ещё больше почикал код.Но поиск всё равно не работает и вылетает программа при попытке поиска по болезни+к при просмотре не выводятся в нужных строках длительности болезней.
И всё-таки,видимо прийдется к этому применить List Помогииитееее!

Добавлено через 6 часов 4 минуты
Вобщем,я так понял,что нашел совсем не то,что мне нужно...
А нужно мне всё сделать через вот этот вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <class Item,class Key> class List
{
private:
// программный код,зависящий от реализации
public:
List()
~List();
void add(Item);
Item *search(Key);
Item *insert(Item,Item);
boll remove(Item);
void print();
}
;
На форуме не могу что-то найти хоть какой-то более-менее схожей реализацией вот этого вот List.Помогите кто чем может Я уже запарился с этой долбаной лабой...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru