Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  zxz
Language: C/C++
Code:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
using namespace std;
///////////////////////////Объявление структур////////////////////////////
struct FIO{
     char F[20] = "0";
     char I[20] = "0";
     char O[20] = "0";
};

struct DataRojdeniya{
     int Day=0;
     int Month=0;
     int Year=0;
};

struct Disciplina{
     int Disciplina=0;
     int Ocenka=0;
};

struct Sessiya{
     int NomerSessii=0;
     Disciplina d[3];
};

struct Student {
     DataRojdeniya dr;
     int GodPostupleniya=0;
     int Kurs=0;
     char Gruppa[10]="0";
     Sessiya s[2];
     FIO fio;
};

///////////////////////////Меню////////////////////////////
void Vibor(){
cout << "Выберите пункт меню" << endl;
cout << "1 - Ввод данных" << endl;
cout << "2 - Вывод данных" << endl;
cout << "3 - Задание" << endl;
cout << "4 - Выход" << endl;
}



///////////////////////////Процедура вывода////////////////////////////

void show(Student st){
     cout << "ФИО: " << st.fio.F << " " << st.fio.I << " " << st.fio.O << endl;
     cout << "Дата рождения: " << st.dr.Day << " " << st.dr.Month << " " << st.dr.Year << endl;
     cout << "Год поступления: " << st.GodPostupleniya << endl;
     cout << "Курс: " << st.Kurs << endl;
     cout << "Группа: " << st.Gruppa << endl;
     for (int i=0; i<2; i++){
     cout << "\t" <<"Номер сесии: " << st.s[i].NomerSessii << endl;
          for (int k=0; k<3; k++){
               switch (st.s[i].d[k].Disciplina){
                    case 1:
                         cout << "\t\t Математический анализ - " ;
                         break;
                    case 2:
                         cout << "\t\t Алгебра и геометрия - " ;
                         break;
                    case 3:
                         cout << "\t\t Дискретная математика - " ;
                         break;
                    case 4:
                         cout << "\t\t Физика - " ;
                         break;
                    case 5:
                         cout << "\t\t Языки программирования - " ;
                         break;
                    }
               switch (st.s[i].d[k].Ocenka){
                    case 1:
                         cout << "Неудовлетворительно" << endl;
                         break;
                    case 2:
                         cout << "Удовлетворительно" << endl;
                         break;
                    case 3:
                         cout << "Хорошо" << endl;
                         break;
                    case 4:
                         cout << "Отлично" << endl;
                         break;
               }


          cout << endl;
     }
}
}

///////////////////////////Задание////////////////////////////

void Zadanie(Student st[5], int countOcenoc){
     float count=0;

     for (int i=0; i<5; i++){
          for (int j=1; j<2; j++){
               for (int k=0; k<3; k++){
                    count = count + st[i].s[j].d[k].Ocenka;
               }
          }
          if (count == countOcenoc) {
//               show(st[i]);
            cout << "Средний балл студента" << " " << st[i].fio.F << " " << st[i].fio.I << " " << st[i].fio.O << "    " << count/3 << endl;
               count = 0;
          }
          count = 0;
     }

}


///////////////////////////Процедура ввода ФИО и группы////////////////////////////
void vvod1(Student st[5]){

     cout << "Введите ФИО пятерых студентов и названия их групп." << endl;
     for (int i=0; i<5; i++){
          cin >> st[i].fio.F;
          cin >> st[i].fio.I;
          cin >> st[i].fio.O;
          cin >> st[i].Gruppa;
     }

/*     for (int i=0; i<5; i++){
          for (int j=0; j<2; j++){
               for (int k=0; k<3; k++){
                    cin >> st[i].s[j].d[k].Ocenka;
               }
          }
     }*/

}


///////////////////////////Процедура ввода того, что рандомно////////////////////////////
void vvod2(Student st[5]){
     int c;
for (int i=0; i<5; i++){

     st[i].dr.Day = 1 + rand()%30;
     st[i].dr.Month = 1 + rand()%12;
     st[i].dr.Year = 1995 + rand()%6;
     st[i].GodPostupleniya = st[i].dr.Year + 18;
     st[i].Kurs = 2019 - st[i].GodPostupleniya;
     if (st[i].Kurs > 6) {
          st[i].Kurs=0;
     }

     for (int j=0; j<2; j++){
          st[i].s[j].NomerSessii = j+1;
          c=1+rand()%5;
               for (int k=0; k<3; k++){
                    if (c<3){
                         st[i].s[j].d[k].Disciplina = c;
                         c+=2;
                    }
                    else {
                         st[i].s[j].d[k].Disciplina = c;
                         c-=1;
                    }
                    st[i].s[j].d[k].Ocenka = 1 + rand()%4;
               }

     }

}
}


///////////////////////////Начало main()////////////////////////////
int main() {
     setlocale (LC_ALL, "rus");
     srand(time(NULL));
     Student Gruppa[5];

int menu=0;
bool flag=true;

Vibor();

while(menu!=4){
cin >> menu;

if ((flag==true) and (menu != 1)){
     cout << "Вы ничего не ввели!" << endl;
     Vibor();
}
else{
     flag=false;
     switch (menu){
          case 1:
               system("cls");
               //vvod1(Gruppa);
               //vvod2(Gruppa);
               vvod2(Gruppa);
               vvod1(Gruppa);
               cout << endl;
               Vibor();
               break;
          case 2:
               system("cls");
               for (int i=0; i<5; i++){
                    cout << "Информация о " << i+1 << "м студенте: " << endl;
                    show(Gruppa[i]);
                    cout << endl;
               }
               cout << endl;
               Vibor();
               break;
          case 3:
               system ("cls");
               for (int i = 15; i>5; i--)
               {
               Zadanie(Gruppa, i);
               }
               cout << endl;
               Vibor();
               break;
          }
     }
}




     return 0;
}
///////////////////////////Конец////////////////////////////




Comments: