Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- using namespace std;
- void AddFilm(struct MusicShop* q);
- void GanreFilm(int tmp, struct MusicShop* q);
- void OutputStruct(struct MusicShop* q);
- struct MusicShop
- {
- int number;
- union
- {
- struct {
- int number;
- }Strun;
- struct {
- char *kind;
- }Udar;
- struct {
- char *kind;
- }Klavishi;
- struct {
- char *kind;
- }Duhovie;
- };
- char* view;
- char *name;
- int cost;
- bool ok;
- MusicShop* next;
- };
- int main()
- {
- // MAIN
- setlocale(0, "");
- MusicShop* q = new MusicShop;
- MusicShop* top = q;
- AddFilm(q);
- OutputStruct(top);
- cin.ignore();
- cin.ignore();
- return 0;
- // MAIN
- }
- void AddFilm(MusicShop* q)
- {
- int ok = 1;
- do
- {
- cout << "Введите название" << endl;
- q->name = new char[20];
- cin >> q->name;
- cout << "Выбирете вид. Доступные варианты:" << endl << "1. Струнные , 2. Ударные, 3.Клавиши , 4.Духовые" << endl;
- cin >> ok;
- GanreFilm(ok, q);
- cout << "Стоимость товара" << endl;
- cin >> q->cost;
- cout << "Наличиие на складе. 1 - да, другие цифры нет" << endl;
- int k;
- cin>>k;
- if (k==1) q->ok = true;
- else q->ok = false;
- cout << "Добавить еще? 1 - да, закончить ввод - любой символ отличный от 1" << endl;
- cin >> ok;
- if (ok != 1) q->next = NULL;
- else
- {
- q = new MusicShop;
- q = q->next;
- }
- } while (ok == 1);
- }
- void GanreFilm(int tmp, MusicShop* q)//Выбор особенности
- {
- int key;
- q->number = tmp;
- switch (tmp)
- {
- case 1:
- cout << "Введите кол-во струн" << endl;
- cin >> q->Strun.number;
- break;
- case 2:
- cout << "Введите вид Ударных. Доступные варианты:" << endl << "1.Мистика, 2.Жестокость/насилие, 3.Вампиры/оборотни, 4.Зомби " << endl;
- q->Udar.kind = new char[20];
- cin >> key;
- switch (key)
- {
- case 1:
- strcpy(q->Udar.kind, "Мистика");
- break;
- case 2:
- strcpy(q->Udar.kind, "Жестокость/насилие");
- break;
- case 3:
- strcpy(q->Udar.kind, "Вампиры/оборотни");
- break;
- case 4:
- strcpy(q->Udar.kind, "Зомби");
- break;
- }
- break;
- case 3:
- cout << "Введите вид клавишных. Доступные варианты:" << endl << "1.Трагедия, 2.Мелодрама, 3.Криминальная драма, 4. Военная драма" << endl;
- q->Klavishi.kind = new char[20];
- cin >> key;
- switch (key)
- {
- case 1:
- strcpy(q->Klavishi.kind,"Трагедия");
- break;
- case 2:
- strcpy(q->Klavishi.kind, "Мелодрама");
- break;
- case 3:
- strcpy(q->Klavishi.kind, "Криминальная драма");
- break;
- case 4:
- strcpy(q->Klavishi.kind, "Военная драма");
- break;
- }
- break;
- case 4:
- cout << "Введите вид духовых. Доступные варианты:" << endl << "1.Научная фантастика 2.Социальная фантастика, 3.Фэнтези, 4.Киберпанк" << endl;
- q->Duhovie.kind = new char[20];
- cin >> key;
- switch (key)
- {
- case 1:
- strcpy(q->Duhovie.kind, "Научная фантастика");
- break;
- case 2:
- strcpy(q->Duhovie.kind, "Социальная фантастика");
- break;
- case 3:
- strcpy(q->Duhovie.kind, "Фэнтези");
- break;
- case 4:
- strcpy(q->Duhovie.kind, "Киберпанк");
- break;
- }
- break;
- }
- }
- void OutputStruct(MusicShop* q)
- {
- while(q!=NULL)
- {
- cout<<"-------------------------------------------------------------------------------"<<endl;
- cout<<"Название: ";
- int i = 0;
- while (q->name[i])
- cout<<q->name[i++];
- cout<<endl;
- cout<<"Жанр: ";
- i = 0;
- while (q->view[i])
- cout<<q->view[i++];
- cout<<endl;
- cout<<endl<<"Особенность: ";
- i = 0;
- switch (q->number)
- {
- case 1:
- cout<<q->Strun.number;
- break;
- case 2:
- while (q->Udar.kind[i])
- cout<<q->Udar.kind[i++];
- break;
- case 3:
- while (q->Klavishi.kind[i])
- cout<<q->Klavishi.kind[i++];
- break;
- case 4:
- while (q->Duhovie.kind[i])
- cout<<q->Duhovie.kind[i++];
- break;
- }
- cout<<endl;
- cout<<"Стоимость товара: ";
- cout<<q->cost<<endl;
- cout<<"Наличие на складе: ";
- if (q->ok) cout<<"Есть";
- else cout<<"Нет";
- q = q->next;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement