Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <cstdlib>
- #include <windows.h>
- using namespace std;
- struct Data
- {
- string Surname ;
- string Name;
- string Patr;
- int years;
- int mark;
- };
- struct List
- {
- Data inf;
- List *next;
- };
- /*void Sort(student* List){
- student* p = new student;
- if (List != NULL) {
- while (List->next != NULL) {
- p = List->next;
- do {
- if (p->surname < List->surname) {
- string tmp = p->surname;
- p->surname = List->surname;
- List->surname = tmp;
- }
- p = p->next;
- } while (p != NULL);
- List = List->next;
- }
- }
- }*/
- void Print(List *b){
- List *print=b;
- while(print){
- cout << "Прізвище\tІм'я\tПо-батькові\tPоків\tСередній бал\n";
- cout<<print->inf.Surname<<"\t"<<
- print->inf.Name<<"\t"<<
- print->inf.Patr<<"\t"<<
- print->inf.years<<"\t"<<
- print->inf.mark<<"\n";
- print=print->next;
- }
- }
- void addbeg(List **beg){
- string Surname ;
- string Name;
- string Patr;
- int years;
- int mark;
- List *t=new List;
- cout << "Введіть данні нового студента:\nПрізвище: ";
- cin >>Surname;
- t->inf.Surname=Surname;
- cout << "Ім'я: ";
- cin >>Name;
- t->inf.Name=Name;
- cout << "По-батькові: ";
- cin >>Patr;
- t->inf.Patr=Patr;
- cout << "Кількісто років: ";
- cin >>years;
- t->inf.years=years;
- cout << "Середній бал(от 0 до 100 балів): ";
- cin>>mark;
- t->inf.mark=mark;
- t->next = *beg;
- *beg = t;
- // Sort();
- }
- void addend(List**beg){ //функция добавления элемента в начало
- string Surname ;
- string Name;
- string Patr;
- int years;
- int mark;
- List* nw=new List;
- x -> next = nw;
- x = nw;
- cout << "Введіть данні нового студента:\nПрізвище: ";
- cin >>Surname;
- x->inf.Surname=Surname;
- cout << "Ім'я: ";
- cin >>Name;
- x->inf.Name=Name;
- cout << "По-батькові: ";
- cin >>Patr;
- x->inf.Patr=Patr;
- cout << "Кількісто років: ";
- cin >>years;
- x->inf.years=years;
- cout << "Середній бал(от 0 до 100 балів): ";
- cin>>mark;
- x->inf.mark=mark;
- x -> next = NULL;
- }
- void Delete(List **beg){
- cout<<"Прізвище: ";
- string x;
- cin>>x;
- List *t = *beg;
- if(t->inf.Surname == x) // исходный список не пуст -
- // удаляется начало
- {
- *beg = t->next;
- delete t;
- return;
- }
- List *t1 = t->next;
- while(t1)
- {
- if(t1->inf.Surname == x)
- // исходный список не пуст -
- //удаляется не первый элемент
- {
- t->next = t1->next;
- delete t1;
- return;
- }
- t = t1;
- t1 = t1->next;
- }
- }
- /*void Insert(List **beg){
- List *ins=new List;
- string Surname ;
- string Name;
- string Patr;
- int years;
- int mark;
- cout<<"Прізвище: ";
- string x;
- cin>>x;
- if(*beg==0){
- ins->next==0;
- *beg=ins;
- return;
- }
- List *t= *beg->next;
- if(beg->inf.Surname==x){
- beg->next = ins;
- ins->next = t;
- return;
- }
- }
- */
- int main()
- {
- system("chcp 1251");
- List* beg = 0;
- beg=new List;
- beg=new List;
- beg->inf.Surname="Високий";
- beg->inf.Name="Панас";
- beg->inf.Patr="Сливович";
- beg->inf.years=23;
- beg->inf.mark=73;
- beg->next=0;
- List *x;
- x=beg;
- x->next = new List;
- x = x->next;
- x->inf.Surname="Карпов";
- x->inf.Name="Леонид";
- x->inf.Patr="Ігоревич";
- x->inf.years=32;
- x->inf.mark=44;
- x->next=0;
- cout<<endl;
- int var;
- for(;;){
- cout<<endl;
- cout << "Меню: " << endl;
- cout << "1.Перегляд усієї групи" << endl;
- cout << "2.У початок" << endl;
- cout << "3.У кінець" << endl;
- cout << "4.Після учня з прізвищем" << endl;
- cout << "5.Пошук за прізвищем" << endl;
- cout << "6.Друк за балами" << endl;
- cout << "7.Видалення за прізвищем" << endl;
- cout << endl;
- cin >> var;
- cout << endl;
- switch(var){
- case 1: {
- Print(beg);
- break;
- }
- case 2:{
- addbeg(&beg);
- break;
- }
- case 3:{
- addend(&beg)
- break;
- }
- case 4:{
- Insert(&beg);
- break;
- }
- case 5:{
- break;
- }
- case 6:{
- break;
- }
- case 7:{
- Delete(&beg);
- break;
- }
- case 8: return 0;
- default:{
- cout << "Введено невірне значення. Спробуйте ще раз\n" << endl;
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement