Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
1

Определить структуру student

15.05.2017, 06:53. Просмотров 3900. Ответов 14
Метки нет (Все метки)


Помогите пожалуйста с задачей.
Определить структуру student со следующими компонентами: фамилия, имя, факультет, курс, группа, оценки за последнюю сессию (3 экзамена).
Составить список группы из 10 человек с заданным структурным типом. Вывести список в виде таблицы. Вывести экзаменационные оценки студента по запрошенной фамилии. Распечатать список студентов 1-го курса экономического факультета. Выявить в списке студента, сдавшего экзамены лучше всех.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2017, 06:53
Ответы с готовыми решениями:

Определить структуру Student; определить средний балл группы по заданой дисциплине
Определить структуру «студент», поля структуры: ФИО, массив элементов структуры «дисциплина» (не...

Создать структуру Student
Не могу никак понять тему структуры, а тут сразу ещё и список, помогите написать код ка С++ : ...

Описать структуру Student
1.Описать структуру с именем STUDENT, содержащую следующие поля: Name - фамилия и имя. Number –...

Создать структуру Student
программа с использованием структуры полей структур. Успеваемость студентов. Фамилия студента,...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
14
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 07:35 2
Лучший ответ Сообщение было отмечено Milaya2015 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include<iostream>
#include <string>
using namespace std;
 
struct STUDENT
{
string fam;
string name;
string facul;
int kurs;
int grup; 
int ochen[3];
};
 
int main()
{
    setlocale(LC_ALL,"");
    STUDENT student[10];
 
for(int i = 0; i < 10; i++)
{
  cout<<"Введите "<<i+1<<" студента"<<endl;
  cout<<"Введите фамилия: "<<endl;
         cin>>student[i].fam;
         cin.clear();
  cout<<"Введите имя: "<<endl;
        cin>>student[i].name;
        cin.clear();
  cout<<"Введите факультет: "<<endl;
        cin>>student[i].facul;
        cin.clear();
  cout<<"Введите курс: "<<endl;
        cin>>student[i].kurs;
  cout<<"Введите группа: "<<endl;
        cin>>student[i].grup;
for(int j = 0; j < 3; j++){
  cout<<"Введите оценку: "<<j+1<<" "<<endl;
        cin>>student[i].ochen[j];
}
}
 
for(int i = 0; i < 10; i++)
{
  cout<<"Студент "<<i+1<<endl;
  cout<<"Фамилия: "<<student[i].fam<<endl;
  cout<<"Имя: "<<student[i].name<<endl;
  cout<<"Факультет: "<<student[i].facul<<endl;
  cout<<"Курс: "<<student[i].kurs<<endl;
  cout<<"Группа: "<<student[i].grup<<endl;
  cout<<"Оценка: "<<student[i].ochen[i]<<endl;
  cout<<endl;
}
 
cout<<"Введите фамилию: "<<endl;
string a;
cin>>a;
for(int i = 0; i < 10; i++)
{
if(a==student[i].fam)
{
  cout<<"Оценка: "<<student[i].ochen[i]<<endl;
}
}
 
for(int i = 0; i < 10; i++)
{
if(student[i].kurs == 1)
{
 cout<<"Студент "<<i+1<<endl;
  cout<<"Фамилия: "<<student[i].fam<<endl;
  cout<<"Имя: "<<student[i].name<<endl;
  cout<<"Факультет: "<<student[i].facul<<endl;
  cout<<"Курс: "<<student[i].kurs<<endl;
  cout<<"Группа: "<<student[i].grup<<endl;
  cout<<"Оценка: "<<student[i].ochen[i]<<endl;
  cout<<endl;
}
}
return 0;
}
1
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
15.05.2017, 08:12  [ТС] 3
Помогите исправить.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<iomanip.h>
main ()
{
  struct data { int  day;
        int month;
        int year;
           };
  struct person { char fam[20];
          char number[15];
          int marks[3];
          struct data day_close;
         }  list []={"Novikova","Anastasiya" ,"Ekonom" ,"3","14ec"4,5,4,
                     "Muhin","Egor" ,"Ekonom" ,"1","16ec"4,3,4,
                     "Yakub","Mark" ,"Ekonom" ,"2","15ec"4,5,4,
                     "Korol","Yuriy" ,"Ekonom" ,"1","16ec"5,5,5,
                     "Syslov","Egor" ,"Ekonom" ,"1","16ec"4,5,3,
                     "Boldinova","Natal'ya" ,"Ekonom" ,"3","14ec"5,5,5,
                     "Mikhaylov","Dmitriy" ,"Ekonom" ,"1","16ec"5,5,5,
                     "Ygarov","Aleksandr" ,"Ekonom" ,"1","16ec"3,4,3,
                     "Gimgina","Anastasiya" ,"Ekonom" ,"1","14ec"3,3,3,
                     "Danilova","Anastasiya" ,"Ekonom" ,"1","14ec"4,5,5,
 
 int i,j;
 struct person str;
 for(i=0;i<4;i++)
   for (j=i+1;j<5;j++)
     if (list[i].fam[0]>list[j].fam[0]) { str=list[i]; list[i]=list[j]; list[j]=str; }
  clrscr(); cout<<"\n\t\t Ñïèñîê ñòóäåíòîâ ñ óêàçàíèåì ðàçìåðà ñòèïåíäèè \n";  cout.setf(ios::left);
  int stipendia=800,real_stip;
  for (i=0;i<5;i++)
  {
   if(list[i].marks[0]==5 && list[i].marks[1]==5 && list[i].marks[2]==5)  real_stip=2*stipendia;
   else if(list[i].marks[0]==5 || list[i].marks[0]==4 && list[i].marks[1]==5 || list[i].marks[1]==4 
       && list[i].marks[2]==5 || list[i].marks[2]==5) real_stip=stipendia;  else real_stip=0;
   cout<<setw(20)<<list[i].fam<<setw(15)<<list[i].number<<setw(3)
   <<list[i].marks[0]<<setw(3)<<list[i].marks[1]<<setw(8)<<list[i].marks[2]
   <<setw(5)<<list[i].day_close.day<<setw(5)<<list[i].day_close.month
   <<setw(6)<<list[i].day_close.year<<setw(10)<<real_stip<<endl;
  }
  cin.get();
  int max_day=0,nom;
  for (i=0;i<5;i++)
    if (list[i].day_close.month*30+list[i].day_close.day>max_day)
        {max_day=list[i].day_close.month*30+list[i].day_close.day; nom=i;}
   cout<<"\n\n\t\t Ñâåäåíèÿ î ñòóäåíòå, ñäàâøåãî ñåññèþ ïîçæå âñåõ \n";
   cout<<setw(20)<<list[nom].fam<<setw(5)<<list[nom].day_close.day<<
   setw(5)<<list[nom].day_close.month<<setw(6)<<list[nom].day_close.year<<endl;
 cin.get();
 char familia[20];
 int kol=0;
 cout<<"\n\n Vvedite familiu dla poiska: ";cin.getline(familia,20);
 for (i=0;i<5;i++)   if (strcmp(list[i].fam,familia)==0)
   { cout<<setw(20)<<list[i].fam<<setw(15)<<list[i].number<<setw(3)
     <<list[i].marks[0]<<setw(3)<<list[i].marks[1]<<setw(8)<<list[i].marks[2]
     <<setw(5)<<list[i].day_close.day<<setw(5)<<list[i].day_close.month
     <<setw(6)<<list[i].day_close.year<<endl;kol++;}
   if(kol==0) cout<<"\n Dannih net!";   cin.get();}
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 08:19 4
Цитата Сообщение от Milaya2015 Посмотреть сообщение
Помогите исправить.
так в чем помочь?
0
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
15.05.2017, 08:20  [ТС] 5
Вывести экзаменационные оценки студента по запрошенной фамилии. Распечатать список студентов 1-го курса экономического факультета. Выявить в списке студента, сдавшего экзамены лучше всех.
0
Модератор
Эксперт С++
10460 / 8712 / 5263
Регистрация: 18.12.2011
Сообщений: 23,269
15.05.2017, 08:24 6
Milaya2015, а чем Вас не устроил вариант Antikl ?
0
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
15.05.2017, 08:28  [ТС] 7
Преподаватель сказал делать в таком формате. И в программе ругаеться {"Novikova","Anastasiya" ,"Ekonom" ,"3","14ec"4,5,4,
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 08:33 8
Лучший ответ Сообщение было отмечено Milaya2015 как решение

Решение

Цитата Сообщение от Milaya2015 Посмотреть сообщение
Преподаватель сказал делать в таком формате. И в программе ругаеться {"Novikova","Anastasiya" ,"Ekonom" ,"3","14ec"4,5,4,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include<string>
#include<iomanip>
 
using namespace std;
 
struct data { int  day;
        int month;
        int year;
           };
struct person { char fam[20];
          char number[15];
          char marks[20];
          struct data day_close;
         };
 
int main ()
{
    person list []={
    {"Novikova","Anastasiya" ,"Ekonom" ,3,14,4},
    {"Muhin","Egor" ,"Ekonom" ,1,16,4},
    { "Yakub","Mark" ,"Ekonom" ,2,15,4},
    {"Korol","Yuriy" ,"Ekonom" ,1,16,5},
    {"Syslov","Egor" ,"Ekonom" ,1,16,4},
    {"Boldinova","Natal'ya" ,"Ekonom" ,3,14,5},
    {"Mikhaylov","Dmitriy" ,"Ekonom" ,1,16,5},
    {"Ygarov","Aleksandr" ,"Ekonom" ,1,16,3},
    {"Gimgina","Anastasiya" ,"Ekonom" ,1,14,3},
    {"Danilova","Anastasiya" ,"Ekonom" ,1,14,4}
    };
   return 0;
 }

у вашем примере много не соответствий с типа данных
1
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
15.05.2017, 13:41  [ТС] 9
Исправляла немного. но не могу сделать чтоб все выводилось . И как сделать последнее: Выявить в списке студента, сдавшего экзамены лучше всех.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
using namespace std;
int main ()
  {
  struct person { char fam[20];
                  char name[20];
                  char faculty[20];
                   int kyrs;
                   char  gruppa[10];
                   int marks[3];
         }  list []=
                    { "Novikova","Anastasiya" ,"Ekonom" ,3,"14ec",4,5,4,
                     "Muhin","Egor" ,"Ekonom" ,1,"16ec",4,3,4,
                     "Yakub","Mark" ,"Ekonom" ,2,"15ec",4,5,4,
                     "Korol","Yuriy" ,"Ekonom" ,1,"16ec",5,5,5,
                     "Syslov","Egor" ,"Ekonom" ,1,"16ec",4,5,3,
                     "Boldinova","Natal'ya" ,"Ekonom" ,3,"14ec",5,5,5,
                     "Mikhaylov","Dmitriy" ,"Ekonom" ,1,"16ec",5,5,5,
                     "Ygarov","Aleksandr" ,"Ekonom" ,1,"16ec",3,4,3,
                     "Gimgina","Anastasiya" ,"Ekonom" ,1,"14ec",3,3,3,
                     "Danilova","Anastasiya" ,"Ekonom" ,1,"14ec",4,5,5,
                    } ;
                     
int i,j;
 struct person str;
 for(i=0;i<10;i++)
{
   cout.setf(ios::left);
   cout<<setw(20)<<list[i].fam<<setw(20)<<list[i].name<<setw(20)
   <<list[i].faculty<<setw(10)<<list[i].kyrs<<setw(10)<<list[i].gruppa
   <<setw(3)<<list[i].marks[0]<<setw(3)<<list[i].marks[1]
   <<setw(3)<<list[i].marks[2]<<endl;
  }
 cout<<"Vvedite familiu dlya poiska: ";
  for(i=0;i<10;i++) 
   { cout<<setw(20)<<list[i].fam<<setw(3)
     <<list[i].marks[0]<<setw(3)<<list[i].marks[1]<<setw(8)<<list[i].marks[2]
     <<endl;}
//
cout<<"vivod 1 kyrsa econom: ";
 for(i=0;i<10;i++)
  cout<<setw(20)<<list[i].fam<<setw(20)<<list[i].name<<setw(20)
   <<list[i].faculty<<setw(10)<<list[i].kyrs<<setw(10)<<list[i].gruppa
   <<setw(3)<<list[i].marks[0]<<setw(3)<<list[i].marks[1]
   <<setw(3)<<list[i].marks[2]<<endl;
}
 cout<<"Sdavshiye na luchsheye vseh: ";
 for(i=0;i<10;i++)
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
15.05.2017, 16:18 10
Лучший ответ Сообщение было отмечено Milaya2015 как решение

Решение

Цитата Сообщение от Milaya2015 Посмотреть сообщение
И как сделать последнее: Выявить в списке студента, сдавшего экзамены лучше всех.
C++
1
2
3
4
5
6
7
for(int i = 0; i < 10; i++)
{
if(a==student[i].fam)
{
  cout<<"Оценка: "<<student[i].ochen[i]<<endl;
}
}
я вам нормальный пример скинул, покажите и его преподу может заценит
1
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
16.05.2017, 13:35  [ТС] 11
А не могли бы вы мне помочь с cout<<"Vvedite familiu dlya poiska: ";
cout<<"vivod 1 kyrsa econom: ";
Я вижу что вы сделали хороший пример, но сказали делать так.

Добавлено через 16 часов 2 минуты
может мне кто нибудь помочь
0
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
17.05.2017, 15:09  [ТС] 12
Структуры в С++. Определить структуру student .
Помогите пожалуйста мне с программой.
1. Вывести список в виде таблицы - работает.
2.Вывести экзаменационные оценки студента по запрошенной фамилии.
3.Распечатать список студентов 1-го курса экономического факультета.
4.Выявить в списке студента, сдавшего экзамены лучше всех- не выводит .

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
using namespace std;
int main ()
  {
  struct person { char fam[20];
                  char name[20];
                  char faculty[20];
                   int kyrs;
                   char  gruppa[10];
                   int marks[3];
         }  list []=
                    { "Novikova","Anastasiya" ,"Ekonom" ,3,"14ec",4,5,4,
                     "Muhin","Egor" ,"Ekonom" ,1,"16ec",4,3,4,
                     "Yakub","Mark" ,"Ekonom" ,2,"15ec",4,5,4,
                     "Korol","Yuriy" ,"Ekonom" ,1,"16ec",5,5,5,
                     "Syslov","Egor" ,"Ekonom" ,1,"16ec",4,5,3,
                     "Boldinova","Natal'ya" ,"Ekonom" ,3,"14ec",5,5,5,
                     "Mikhaylov","Dmitriy" ,"Ekonom" ,1,"16ec",5,5,5,
                     "Ygarov","Aleksandr" ,"Ekonom" ,1,"16ec",3,4,3,
                     "Gimgina","Anastasiya" ,"Ekonom" ,1,"14ec",3,3,3,
                     "Danilova","Anastasiya" ,"Ekonom" ,1,"14ec",4,5,5,
                    } ;
                     
int i,j;
 struct person str;
 for(i=0;i<10;i++)
{
   cout.setf(ios::left);
   cout<<setw(20)<<list[i].fam<<setw(20)<<list[i].name<<setw(20)
   <<list[i].faculty<<setw(10)<<list[i].kyrs<<setw(10)<<list[i].gruppa
   <<setw(3)<<list[i].marks[0]<<setw(3)<<list[i].marks[1]
   <<setw(3)<<list[i].marks[2]<<endl;
  }
 cout<<"Vvedite familiu dlya poiska: ";
  for(i=0;i<10;i++) 
   { cout<<setw(20)<<list[i].fam<<setw(3)
     <<list[i].marks[0]<<setw(3)<<list[i].marks[1]<<setw(8)<<list[i].marks[2]
     <<endl;
     }
cout<<"vivod 1 kyrsa econom: ";
 for(i=0;i<10;i++)
 {
   cout<<setw(20)<<list[i].fam<<setw(20)<<list[i].name<<setw(20)
   <<list[i].faculty<<setw(10)<<list[i].kyrs<<setw(10)<<list[i].gruppa
   <<setw(3)<<list[i].marks[0]<<setw(3)<<list[i].marks[1]
   <<setw(3)<<list[i].marks[2]<<endl;
   }
 cout<<"Sdavshiye na luchsheye vseh: ";
 for(i=0;i<10;i++)
{
if(a==student[i].fam)
{
  cout<<"Оценка: "<<student[i].ochen[i]<<endl;
}
}}
0
с++
1253 / 498 / 220
Регистрация: 15.07.2015
Сообщений: 2,509
17.05.2017, 15:10 13
Цитата Сообщение от Milaya2015 Посмотреть сообщение
может мне кто нибудь помочь
как?
0
MrGluck
17.05.2017, 15:15
  #14
 Комментарий модератора 
Milaya2015,
Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
1 / 1 / 3
Регистрация: 30.09.2015
Сообщений: 221
17.05.2017, 20:01  [ТС] 15
Помочь с кодом чтобы программа работала

Добавлено через 1 час 0 минут
очень нужна ваша помощь.

Добавлено через 2 часа 56 минут
Помогите пожалуйста
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2017, 20:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Описать структуру STUDENT
Помогите с программой плз Не работает почему-то //Описать структуру с именем SUDENT,...

Описать структуру Student
Описать структуру Student, которая имеет следующие поля: фамилия,группа,средний бал...

Cоздать структуру STUDENT
Описать структуру с именем STUDENT, содержащую следующие поля: ■ фамилия и инициалы;...

Описать структуру STUDENT
Прошу помощи, уважаемые программисты! Я гуманитарий, задание для меня, конечно, очень интересное,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.