|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.02.2010, 17:45 | #1 |
Пользователь
Регистрация: 26.05.2009
Сообщений: 39
|
Pascal (тип record)
Помогите пож-та исправить.
Вот код программы: program laba3; uses Crt; const MaxQuantity = 10; type Person = record Surname, Name: String; Date: Integer; Mark: Array[1..3] of Byte; ModeOfStudy: String; end; Students = Array[1..MaxQuantity] of Person; procedure DataInput(var X: Students; var N: Integer); var S: String; I, J: Integer; begin WriteLn('Vvedite kolichestvo studentov'); ReadLn(N); WriteLn; for I := 1 to N do begin WriteLn(I, '-j student'); WriteLn; Write('Familija: '); ReadLn(X[I].Surname); Write('Imja: '); ReadLn(X[I].Name); Write('Data rozhdenija: '); ReadLn(X[I].Date); for J := 1 to 3 do begin Write(J, '-ja ocenka: '); ReadLn(X[I].Mark[J]); end; Write('Forma obuchenija: '); ReadLn(X[I].ModeOfStudy); WriteLn; end; end; procedure Sorting(var X: Students; const N: Integer); var I, J: Integer; tmp: Person; begin for I := 1 to N - 1 do for J := I + 1 to N do if (X[I].Mark[1] + X[I].Mark[2] + X[I].Mark[3]) / 3 > (X[J].Mark[1] + X[J].Mark[2] + X[J].Mark[3]) / 3 then begin tmp := X[I]; X[I] := X[J]; X[J] := tmp; end; end; var X: Students; N, I, J: Integer; M: Real; begin ClrScr; DataInput(X, N); Sorting(X, N); WriteLn; WriteLn; M := 0; for I := 1 to N do for J := 1 to 3 do M := M + X[I].Mark[J]; M := M / (N * 3); WriteLn('Srednij ball = ', M:2:2); WriteLn; WriteLn('Spisok studentov: '); for I := 1 to N do WriteLn(X[I].Surname, ' ', X[I].Name, ';'); ReadKey; end. =============================== Write('Familija: '); ReadLn(X[I].Surname); Write('Imja: '); ReadLn(X[I].Name); Write('Data rozhdenija: '); ReadLn(X[I].Date); for J := 1 to 3 do begin Write(J, '-ja ocenka: '); ReadLn(X[I].Mark[J]); end; Write('Forma obuchenija: '); ReadLn(X[I].ModeOfStudy); WriteLn; end; вот это нужно исправить так, чтобы это выводило в строку, а сейчас выводит в столбик. заранее спасибо. |
17.02.2010, 20:06 | #2 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
если ты это писал, то вопросов не должно возникнуть
и комменты не забываем не забываем Кому охота разбираться в чужих ошибках, помогай нам тебе помочь помогай, описывай что делает программа, функция глядишь и помощи будет больше да и качественней
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] Последний раз редактировалось RUSt88; 17.02.2010 в 20:11. |
17.02.2010, 20:07 | #3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Меняйте
Код:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ Последний раз редактировалось Alex Cones; 17.02.2010 в 20:10. |
21.02.2010, 13:52 | #4 | |
Пользователь
Регистрация: 26.05.2009
Сообщений: 39
|
Цитата:
фамилия имя год рождения оц.1 оц.2 оц.3 форма обучения Иванов Петр 1990 4 4 3 б Петров Иван 1989 3 5 3 д и т.д., а сейчас это все вводится в столбик, т.е. вот так: фамилия: Иванов имя: Петр год рождения: 1990 оц.1: 4 оц.2: 4 оц.3: 3 форма обучения: б фамилия: Петров имя: Иван год рождения: 1989 оц.1: 3 оц.2: 5 оц.3: 3 форма обучения: д и т.д. Последний раз редактировалось 4otenado; 21.02.2010 в 13:55. |
|
24.02.2010, 00:16 | #5 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
да поможет тебе команда gotoXY (команда для позиционирования курсора в нужном месте)
так а в чем проблема так выводить? сначала вводишь данные с клавиатуры, запоминаешь куда надо, очищаешь экран если нужно и выводишь первую строчку, вторую и тд Writeln('фамилия имя год рождения оц.1 оц.2 оц.3 форма обучения'); writeln(X[i].Surname, ' ', X[i].Name, и т.д.)
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] Последний раз редактировалось RUSt88; 24.02.2010 в 00:21. |
25.02.2010, 21:31 | #6 |
Пользователь
Регистрация: 26.05.2009
Сообщений: 39
|
да, я так вводил:
Writeln('фамилия имя год рождения оц.1 оц.2 оц.3 форма обучения'); writeln(X[i].Surname, ' ', X[i].Name, и т.д.) и что у меня получилось... ровным счетом ничего, т.к не выводило сам результат. Но я нашёл выход увидев пример с командой gotoXY, так и сделал. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal (тип String и массивы). | 4otenado | Помощь студентам | 8 | 25.12.2009 18:11 |
Pascal (тип record, процедуры и функции) | 4otenado | Помощь студентам | 3 | 23.12.2009 01:00 |
Pascal. Тип запись | d_b | Помощь студентам | 9 | 02.03.2009 08:46 |
Внести в задачу пару условий,пожалуйста помогите(Pascal-record)тип записи... | Andrux | Помощь студентам | 2 | 15.02.2009 17:51 |
Pascal. Тип record | deu4er | Помощь студентам | 10 | 11.02.2009 04:19 |