1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
1

Сведения про студента и десять предметов,а так же вывести тех, у кого определенные оценки

12.09.2014, 15:37. Показов 2557. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите пожалуйста с программой
В общем создать программу, в которой заносятся сведения про студента: Имя, Фамилия, номер группы и семестровые оценки по десяти предметам( название предмета, оценка).
Для указанной пользователем группы вывести:
1. Список студентов, которые учатся только на 3
2. Список студентов, которые учатся только на 3 и 4
3. Список студентов, которые учатся только на 4 и 5
4. Список студентов, которые учатся только на 5
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2014, 15:37
Ответы с готовыми решениями:

Табель успеваемости группы студентов содержит следующие сведения: номер по порядку, фамилию, имя, отчество студента, оценки по каждому экзамену
Табель успеваемости группы студентов содержит следующие сведения: номер по порядку, фамилию, имя,...

В массиве хранятся сведения о стоимости 12 различных предметов. Определить общую стоимость всех предметов
В массиве хранятся сведения о стоимости 12 различных предметов. Определить общую стоимость всех...

В массиве хранятся сведения о стоимости 12 различных предметов. Определить общую стоимость всех предметов
Помогите написать в Builder C++ Добавлено через 14 секунд В массиве хранятся сведения о...

В массиве хранится сведения о стоимости 12 различных предметов. определить общую стоимость всех предметов?
В массиве хранится сведения о стоимости 12 различных предметов. определить общую стоимость всех...

45
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 15:55 2
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Помогите пожалуйста с программой
Так и скажи - "напишите программу за меня".
Зачем врать про помощь, если ты ничего не делал ?)
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 16:04  [ТС] 3
Пошлют же меня во фриланс..
Я бы не против человека, который смог бы объяснить как сделать эту задачу, и не только.
Но увы, количество людей которые могут это сделать - крайне мало..
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 16:13 4
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Пошлют же меня во фриланс..
Так и поделом , коль пошлют)

Цитата Сообщение от bod_Julfy Посмотреть сообщение
который смог бы объяснить как сделать эту задачу, и не только
Вот начнешь тебе объяснять, и тут выяснится что ты дуб дубом в предмете вообще, а не конкретно в данной задаче - ты же никак не проанонсировал свой скилл, не удосужился, считая что отсюда он виднее)

Ну и какой смысл при таком раскладе сотрясать клавиатуру ?)
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 16:18  [ТС] 5
Ну вот как-то так и выживаю..Точнее пытаюсь..
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 16:26 6
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Ну вот как-то так и выживаю..Точнее пытаюсь..
В смысле надеешься на авось кто подаст ?)
Ну сегодня пятница, многие по пятницам подают, так что жди-надейся)
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 16:33  [ТС] 7
Так оно чаще всего и есть.
не думайте что я совсем лентяй.. Сам я пытаюсь что-то сделать..
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 16:39 8
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Сам я пытаюсь что-то сделать
Не верю.
Пытался бы - продемонстрировал бы хоть какие-то результаты своих попыток.
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 16:56  [ТС] 9
ааа.. ясненько..
Я сейчас всё перебираю и подставляю в текст программы.. Сейчас пробую вот это вот

Кликните здесь для просмотра всего текста

Delphi
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
81
82
83
84
85
86
87
88
89
90
91
92
93
const n=15;//количество студентов 
      m=8; //количество оценок
type stud=record //тип запись с полями по условию
          fam:string;//фамилия
          ocn:array[1..m] of byte;//оценки
          end;
var
  Form1: TForm1;
  k:integer;
  a:array[1..n] of stud;//массив записей
implementation
 
{$R *.dfm}
//зададим некоторые параметры программы
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear;//очистим поля ввода и вывода
Memo1.Clear;
Memo2.Clear;
Memo3.Clear;
Button2.Enabled:=false;//пока отключим вторую кнопку
end;
//ввод данных
procedure TForm1.Button1Click(Sender: TObject);
var i,j,c:integer;
    s:string;
begin
//разрешим ввод оценок
stringgrid1.Options:=stringgrid1.Options+[goediting,gotabs];
inc(k); //считаем
j:=0;
i:=1;
while (i<=8)and(j=0) do//ввели оценки
 begin
  val(StringGrid1.Cells[i-1,0],a[k].ocn[i],c);
  if(c<>0)or not(a[k].ocn[i] in [2..5]) then j:=1
  else inc(i);
 end;
if (j=1)or(edit1.Text='') then
 begin
  showmessage('Не все данные введены верно, поправьте');
  dec(k); //если неверно, то уменьшаем счетчик
  exit
 end;
a[k].fam:=edit1.Text;//пишем в массив фамилию
s:=a[k].fam;
edit1.Clear;
edit1.SetFocus;
for j:=1 to m do
 begin
  s:=s+' '+inttostr(a[k].ocn[j]);//и оценки
  stringgrid1.Cells[j-1,0]:='';//очищаем таблицу
 end;
Memo1.Lines.Add(s);//выводим в Мемо1
if k=n then //если ввели все
 begin
  showmessage('Все данные введены');
  edit1.Enabled:=false; //отключаем ввод
  button1.Enabled:=false;
  stringgrid1.Options:=stringgrid1.Options-[goediting,gotabs];
  button2.Enabled:=true;//включим кнопку 2
 end; 
end;
//поиск данных по условию
procedure TForm1.Button2Click(Sender: TObject);
var i,j,p,q:integer;
    s:string;
begin
for i:=1 to n do
 begin
  p:=0;//количество пятерок
  q:=0; //количество двоек
  for j:=1 to m do
  if a[i].ocn[j]=5 then inc(p)
  else if a[i].ocn[j]=2 then inc(q);
  if p=m then
   begin
    s:=a[i].fam;
    for j:=1 to m do
    s:=s+' '+inttostr(a[i].ocn[j]);
    Memo2.Lines.Add(s);//выводим в Мемо2
   end;
  if q>0 then
   begin
    s:=a[i].fam;
    for j:=1 to m do
    s:=s+' '+inttostr(a[i].ocn[j]);
    Memo3.Lines.Add(s);//выводим в Мемо3
   end;
 end;
if Memo2.Lines.Count=0 then showmessage('Нет круглых отличников');
if Memo3.Lines.Count=0 then showmessage('Ни у кого нет двоек');
end;


И пытаюсь добавить еще одно - предметы, потом натворить как-то что бы выводило тех, у которых оценки какие надо.. Так шо до ночи время есть перепробовать
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 17:54 10
Чудесно.
Код просто кошмарен, но все лучше чем если его совсем не было бы)

И в чем возникла проблема ?

Добавлено через 3 минуты
Цитата Сообщение от bod_Julfy Посмотреть сообщение
m=8; //количество оценок
А что это за самодеятельность ?)

В задании ведь черным по-русски сказано:
Цитата Сообщение от bod_Julfy Посмотреть сообщение
оценки по десяти предметам
Добавлено через 2 минуты
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Имя, Фамилия, номер группы и семестровые оценки
А у тебя не предусмотрен ни ввод имени , ни ввод номера группы..

И почему студентов всего 15 ?
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 18:01  [ТС] 11
Нашел на просторах интернетов этот код.. Сам вот пытаюсь разобраться в нем, уже изменил количество оценок и количество предметов.
Я просто попытался запустить её и уже столько ошибок
Кликните здесь для просмотра всего текста

[Error] Unit1.pas(35): Statement expected but 'CONST' found
В этом месте "const n=1;"
[Error] Unit1.pas(42): Identifier redeclared: 'Form1'
И в этом месте "Form1: TForm1;"
[Error] Unit1.pas(45): '.' expected but 'IMPLEMENTATION' found
"implementation"
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Unit1 in 'Unit1.pas' {Form1};



пытаюсь пытаюсь..
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 18:15  [ТС] 12
В общем я никак не продвинулся..
Если что вот проект, Делфи 7
Вложения
Тип файла: zip l1.zip (4.5 Кб, 9 просмотров)
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 20:57 13
Цитата Сообщение от bod_Julfy Посмотреть сообщение
[Error] Unit1.pas(35): Statement expected but 'CONST' found
В этом месте "const n=1;"
Ну и где в твоем проекте это место ?
В упор не вижу там никакого "const")
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 21:06  [ТС] 14
Оно было.. Теперь нету..я незнаю куда оно делось.
Но ошибки остались. Я пытался заново что-то создать.. Но даже обыкновенное считывание с EDITов, КомбоБоксов, Листбоксов незнаю.. видимо ничерта я не знаю.. пойду повешусь.
Простите, просто мозги уже взорвались при попытке что-то сделать за всё это время....
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 21:22 15
Повеситься еще успеешь - Фриланс же есть.. для особо одаренных)

Добавлено через 3 минуты
Видишь ли, без элементарных знаний основ Паскаля бессмысленно пыжиться рожать на свет божий даже самую захудалую Паскаль-программу - все равно не родишь.
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 21:32  [ТС] 16
Фриланс - за деньги.. а я - студент без денег...
Если даже сделают за деньги - то мне нужно понимать механику, как работает и тд..
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 21:49 17
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Фриланс - за деньги.. а я - студент без денег
Если нет денег, значит нужно иметь знания.
А у тебя ни того ни другого.
Как же так получилось ?)

Цитата Сообщение от bod_Julfy Посмотреть сообщение
мне нужно понимать механику
Как же ты собрался понимать чужую механику, если даже в собственноручно написанном, пусть даже и не работающем проекте, ты не понимаешь элементарных вещей ?

Ну вот пример из твоего проекта:

ocn:array[1..m] of byte;//оценки

идентификатор m нигде не объявлен, хотя он по правилам Паскаля обязан был быть объявлен до первого обращения к нему.
Но это тебя почему-то нисколь не смущает )
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 22:01  [ТС] 18
Он был с самого начала -_-
Я уже совсем сдох.. Голова не соображает.. Ибо пытался найти и разобраться в том, что надо..
Нам сказали сделать за неделю эту программу в Делфи, хотя раньше я её не видел в глаза ниразу.. Лишь Борланд С++, Турбо Паскаль, немного визуала..
В течении недели были запары с другими предметами. И сейчас всё в голове превратилось в кашу, паника и нервы -_-
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.09.2014, 22:22 19
Цитата Сообщение от bod_Julfy Посмотреть сообщение
Он был с самого начала
Да по барабану что там у тебя было с самого начала или с самого конца !)
Ты в помощи нуждаешься ? Так и соизволь представить актуальные материалы)

Цитата Сообщение от bod_Julfy Посмотреть сообщение
Я уже совсем сдох
Долго еще ныть будешь ?
Начни с малого - разберись с m.

Добавлено через 4 минуты
Цитата Сообщение от bod_Julfy Посмотреть сообщение
раньше я её не видел в глаза ниразу.. Лишь ..Турбо Паскаль
И Турбо Паскаль и Делфи базируется на классическом Паскале.
Если ты хорошо знаком с ТурбоПаскалем, то подобных глупейших ошибок попросту не можешь допускать - ТурбоПаскаль тоже отматерит тебя за отсутствие определения m.

Добавлено через 7 минут
И, кстати, в задании, если ему верить, нет ни слова про именно GUI-приложение.

Так что ты вправе сляпать-отладить программу в знакомом и привычном тебе ТрубоПаскале с использованием текстового интерфейса пользователя и потом просто скомпилять ее в Делфи.

Переделки программы в этом случае будут пустяковые - буквально 3-4 строчки в заголовке, т.е. вообще не касающиеся основного алгоритма.
0
1 / 1 / 0
Регистрация: 21.03.2013
Сообщений: 148
12.09.2014, 22:37  [ТС] 20
Ну как-то сделал, но видимо не там объявляю, или библиотеку какую-то не подключил
Сам текст проги
Кликните здесь для просмотра всего текста
Delphi
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
  const n=5;
  m=10;
type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    ComboBox1: TComboBox;
    Button1: TButton;
    Memo1: TMemo;
   stud=record 
  fam:string;
     ocn:array[1..m] of byte;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 
 
          end;
var
  Form1: TForm1;
  k:integer;
  a:array[1..n] of stud;
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Memo1.Clear;
Memo2.Clear;
Memo3.Clear;
Button2.Enabled:=false;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var i,j,c:integer;
    s:string;
begin
 
stringgrid1.Options:=stringgrid1.Options+[goediting,gotabs];
inc(k); 
j:=0;
i:=1;
while (i<=10)and(j=0) do
 begin
  val(StringGrid1.Cells[i-1,0],a[k].ocn[i],c);
  if(c<>0)or not(a[k].ocn[i] in [2..5]) then j:=1
  else inc(i);
 end;
if (j=1)or(edit1.Text='') then
 begin
  showmessage('Íå âñå äàííûå ââåäåíû âåðíî, ïîïðàâüòå');
  dec(k); 
  exit
 end;
a[k].fam:=edit1.Text;
s:=a[k].fam;
edit1.Clear;
edit1.SetFocus;
for j:=1 to m do
 begin
  s:=s+' '+inttostr(a[k].ocn[j]);
  stringgrid1.Cells[j-1,0]:='';
 end;
Memo1.Lines.Add(s);
if k=n then 
 begin
  showmessage('Âñå äàííûå ââåäåíû');
  edit1.Enabled:=false; 
  button1.Enabled:=false;
  stringgrid1.Options:=stringgrid1.Options-[goediting,gotabs];
  button2.Enabled:=true;
 end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,j,p,q:integer;
    s:string;
begin
for i:=1 to n do
 begin
  p:=0;
  q:=0; 
  for j:=1 to m do
  if a[i].ocn[j]=5 then inc(p)
  else if a[i].ocn[j]=2 then inc(q);
  if p=m then
   begin
    s:=a[i].fam;
    for j:=1 to m do
    s:=s+' '+inttostr(a[i].ocn[j]);
    Memo2.Lines.Add(s);
   end;
  if q>0 then
   begin
    s:=a[i].fam;
    for j:=1 to m do
    s:=s+' '+inttostr(a[i].ocn[j]);
    Memo3.Lines.Add(s);
   end;
 end;
if Memo2.Lines.Count=0 then showmessage('Íåò êðóãëûõ îòëè÷íèêîâ');
if Memo3.Lines.Count=0 then showmessage('Íè ó êîãî íåò äâîåê');
end;
end;
 
end.


При компиляции ругается на
" stud=record (менял : вместо =)
fam:string;
ocn:array[1..m] of byte;"
И получал следующую ошибку..
expected an indented but RECORD found

Добавлено через 2 минуты
В турбо паскале мы творили менее сложные программы..Год назад.
Но нам задали именно с графикой в Делфи..
0
12.09.2014, 22:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2014, 22:37
Помогаю со студенческими работами здесь

Вывести оценки студента за семестр в виде таблицы
Тематика: &quot;Оценки определенного студента из 15 предметов за семестр (целые положительные числа от...

Вывести среднее значение оценок студента, у кого есть двойки
ребят помогите не могу понять в чем проблема у меня. программа должна высчитывать среднее значение...

Поля данных: фамилия студента и оценки по физике, математике и информатике. Вывести количество двоек
Поля данных: фамилия студента и оценки по физике, математике и информатике. Вывести количество...

Сделать так, что бы в общем балле отображался сумма, складываемых 4 предметов и деленный на тот же количество предметов
Здравствуйте программисты! Как можно сделать так, что бы в общем балле отображался сумма,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru