Advertisement
lashrone1

sp

Apr 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <cstdlib>
  4. #include <windows.h>
  5. using namespace std;
  6.  
  7.  
  8. struct Data
  9. {
  10. string Surname ;
  11. string Name;
  12. string Patr;
  13. int years;
  14. int mark;
  15.  
  16. };
  17. struct List
  18. {
  19. Data inf;
  20. List *next;
  21. };
  22.  
  23.  
  24. /*void Sort(student* List){
  25. student* p = new student;
  26. if (List != NULL) {
  27. while (List->next != NULL) {
  28. p = List->next;
  29.  
  30. do {
  31. if (p->surname < List->surname) {
  32. string tmp = p->surname;
  33. p->surname = List->surname;
  34. List->surname = tmp;
  35. }
  36.  
  37. p = p->next;
  38. } while (p != NULL);
  39.  
  40. List = List->next;
  41. }
  42. }
  43. }*/
  44.  
  45. void Print(List *b){
  46.  
  47. List *print=b;
  48.  
  49. while(print){
  50. cout << "Прізвище\tІм'я\tПо-батькові\tPоків\tСередній бал\n";
  51. cout<<print->inf.Surname<<"\t"<<
  52. print->inf.Name<<"\t"<<
  53. print->inf.Patr<<"\t"<<
  54. print->inf.years<<"\t"<<
  55. print->inf.mark<<"\n";
  56. print=print->next;
  57. }
  58.  
  59. }
  60.  
  61. void addbeg(List **beg){
  62. string Surname ;
  63. string Name;
  64. string Patr;
  65. int years;
  66. int mark;
  67. List *t=new List;
  68.  
  69. cout << "Введіть данні нового студента:\nПрізвище: ";
  70. cin >>Surname;
  71. t->inf.Surname=Surname;
  72. cout << "Ім'я: ";
  73. cin >>Name;
  74. t->inf.Name=Name;
  75. cout << "По-батькові: ";
  76. cin >>Patr;
  77. t->inf.Patr=Patr;
  78. cout << "Кількісто років: ";
  79. cin >>years;
  80. t->inf.years=years;
  81. cout << "Середній бал(от 0 до 100 балів): ";
  82. cin>>mark;
  83. t->inf.mark=mark;
  84.  
  85. t->next = *beg;
  86. *beg = t;
  87. // Sort();
  88. }
  89.  
  90. void addend(List**beg){ //функция добавления элемента в начало
  91. string Surname ;
  92. string Name;
  93. string Patr;
  94. int years;
  95. int mark;
  96. List* nw=new List;
  97. x -> next = nw;
  98. x = nw;
  99. cout << "Введіть данні нового студента:\nПрізвище: ";
  100. cin >>Surname;
  101. x->inf.Surname=Surname;
  102. cout << "Ім'я: ";
  103. cin >>Name;
  104. x->inf.Name=Name;
  105. cout << "По-батькові: ";
  106. cin >>Patr;
  107. x->inf.Patr=Patr;
  108. cout << "Кількісто років: ";
  109. cin >>years;
  110. x->inf.years=years;
  111. cout << "Середній бал(от 0 до 100 балів): ";
  112. cin>>mark;
  113. x->inf.mark=mark;
  114.  
  115. x -> next = NULL;
  116. }
  117.  
  118. void Delete(List **beg){
  119. cout<<"Прізвище: ";
  120. string x;
  121. cin>>x;
  122. List *t = *beg;
  123. if(t->inf.Surname == x) // исходный список не пуст -
  124. // удаляется начало
  125. {
  126. *beg = t->next;
  127. delete t;
  128. return;
  129. }
  130. List *t1 = t->next;
  131. while(t1)
  132. {
  133. if(t1->inf.Surname == x)
  134. // исходный список не пуст -
  135. //удаляется не первый элемент
  136. {
  137. t->next = t1->next;
  138. delete t1;
  139. return;
  140. }
  141. t = t1;
  142. t1 = t1->next;
  143. }
  144. }
  145.  
  146. /*void Insert(List **beg){
  147. List *ins=new List;
  148. string Surname ;
  149. string Name;
  150. string Patr;
  151. int years;
  152. int mark;
  153. cout<<"Прізвище: ";
  154. string x;
  155. cin>>x;
  156.  
  157. if(*beg==0){
  158. ins->next==0;
  159. *beg=ins;
  160. return;
  161. }
  162. List *t= *beg->next;
  163. if(beg->inf.Surname==x){
  164. beg->next = ins;
  165. ins->next = t;
  166. return;
  167. }
  168. }
  169. */
  170.  
  171. int main()
  172. {
  173. system("chcp 1251");
  174. List* beg = 0;
  175. beg=new List;
  176.  
  177. beg=new List;
  178. beg->inf.Surname="Високий";
  179. beg->inf.Name="Панас";
  180. beg->inf.Patr="Сливович";
  181. beg->inf.years=23;
  182. beg->inf.mark=73;
  183. beg->next=0;
  184.  
  185. List *x;
  186. x=beg;
  187. x->next = new List;
  188. x = x->next;
  189.  
  190. x->inf.Surname="Карпов";
  191. x->inf.Name="Леонид";
  192. x->inf.Patr="Ігоревич";
  193. x->inf.years=32;
  194. x->inf.mark=44;
  195. x->next=0;
  196. cout<<endl;
  197.  
  198. int var;
  199. for(;;){
  200. cout<<endl;
  201. cout << "Меню: " << endl;
  202. cout << "1.Перегляд усієї групи" << endl;
  203. cout << "2.У початок" << endl;
  204. cout << "3.У кінець" << endl;
  205. cout << "4.Після учня з прізвищем" << endl;
  206. cout << "5.Пошук за прізвищем" << endl;
  207. cout << "6.Друк за балами" << endl;
  208. cout << "7.Видалення за прізвищем" << endl;
  209. cout << endl;
  210. cin >> var;
  211. cout << endl;
  212.  
  213. switch(var){
  214. case 1: {
  215. Print(beg);
  216. break;
  217. }
  218. case 2:{
  219. addbeg(&beg);
  220. break;
  221. }
  222. case 3:{
  223. addend(&beg)
  224. break;
  225. }
  226. case 4:{
  227. Insert(&beg);
  228. break;
  229. }
  230. case 5:{
  231.  
  232. break;
  233. }
  234. case 6:{
  235.  
  236. break;
  237. }
  238. case 7:{
  239. Delete(&beg);
  240. break;
  241. }
  242. case 8: return 0;
  243. default:{
  244. cout << "Введено невірне значення. Спробуйте ще раз\n" << endl;
  245. break;
  246. }
  247. }
  248.  
  249. }
  250.  
  251. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement