Главная » 2020 » Апрель » 24 » Структура. Добавление студентов. Удаление студентов (с конца и по id)
10:52
Структура. Добавление студентов. Удаление студентов (с конца и по id)

#include <iostream>
using namespace std;
struct student
{
    int id;
    char surname[20];
    char name[10];
    int age;
};
void vvod_student(student *x);
void vivod_student(student *x);
void vvod_mas(student *mas);
void vivod_mas(student *mas);
void delete_end(student *mas);
void delete_k(student *mas, int k);
int N=0;
int main()
{
    student mas[1000];
    int menu;
    do
    {
        cout<<"0-quit; 1-vvod; 2-vivod; 3-delete_end; 4-delete_k "; cin>>menu;
        switch (menu)
        {
            case 0: break;
            case 1: { cout<<"Vvedite Students: "<<endl; vvod_mas(mas); break;}
            case 2: { cout<<"Students: "<<endl; vivod_mas(mas); break;}
            case 3: { cout<<"Students: "<<endl; delete_end(mas); vivod_mas(mas); break;}
            case 4: { cout<<"Vvedite K: "; int k; cin>>k; 
                      delete_k(mas,k); delete_end(mas);
                      vivod_mas(mas); break;}
        }
    } while (menu);
    system("pause");
}
void delete_k(student *mas, int k)
{
    int n=N, i;
    for (i=0;i<n;i++)
        if (mas[i].id==k) break;
    student temp;
    temp=mas[i];
    mas[i]=mas[n-1];
    mas[n-1]=temp;
}
void delete_end(student *mas)
{
    N--; 
}
void vvod_mas(student *mas)
{
    vvod_student(&mas[N]);
    N++; 
}
void vivod_mas(student *mas)
{
    int n=N;
    for (int i=0;i<n;i++)
        vivod_student(&mas[i]);
}
void vvod_student(student *x)
{
    cout<<"Vvedite New Student (id, surname, name, age) "<<endl;
    cin>>x->id>>x->surname>>x->name>>x->age;
}
void vivod_student(student *x)
{
    cout<<x->id<<" "<<x->surname<<" "<<x->name<<" "<<x->age<<endl;
}

Просмотров: 274 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar