IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Записи, Задача описывающяя количество студентов с данными о них
Student91
сообщение 21.02.2011 11:35
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Задача:
Составить структуру, содержащую информацию о студентах факультета: указав фамилию и год рождения, а также, если это мужчина, то сообщить, военнообязанный ли он, а если это женщина, то указать, замужем ли она, городские, иногородние, имеющие жилплощадь, нуждающиеся в общежитии. Определить количество студентов нуждающихся в общежитии.Я запутался как описать "да, нет" , "город , село" и как правельно вводить . Но все остальное вроде написал вот :

program laba ;
Type pol=(m,w);
people=record
fam:string[20];
imya:string[20];
godro:1900..2011;
mesto:gorod,selo; (вот тут как правельно описать "gorod,selo" и ниже тот же вопрос про да \нет)
obwejitie: da,net;
grupp: 101..103
case mw:pol of
m: ( voen: boolean);
w: ( merry: boolean);
end;

end;
var student: array [1..100] of people;
i,m,n: integer;
begin
writeln ('vvedite kol-vo studentov');
readln (n);
for i:=1 to n do
with people[i];
begin
writeln ('vvedite svediniya o', I , '-m studente');
writeln ('vvedite familiy');
readln тут незнаю как ввести правельно.
...

end;
writeln ('vvod zakonchen');
writeln ;
Выбираем тех кому нужна общага
for i:=1 to n do
if student[i].obwejitie=da then
m:=m+1;
writeln(' obwejitie nyshno: ',m);
end.

Зарание спасибо за помощь , реально не понимаю sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 21.02.2011 11:51
Сообщение #2


Гость






Смотри:
program laba ;
type
// Сначала описываешь все типы, которые будешь использовать
// Можно и без этого обойтись, но нежелательно, потом будут проблемы
// с приведением типов.
pol = (m, f);
place = (gorod, selo);
yes_no = (da, net);

// Теперь твоя запись
people =
record
fam: string[20];
imya: string[20];
godro: 1900..2011;
mesto: place;
obwejitie: yes_no;
grupp: 101..103;
case mw:pol of
m: (voen: boolean);
f: (merry: boolean);
end; // Здесь достаточно только одного End, он закроет и Case и Record

var
student: array [1..100] of people;
i, n, count: integer; // Счетчик нельзя называть M, такое имя уже есть в описании pol
ans : integer;

begin
writeln ('vvedite kol-vo studentov');
readln (n);
for i:=1 to n do
with student[i] do // Идем по массиву student
begin
writeln ('vvedite svediniya o', I , '-m studente');
writeln ('vvedite familiy'); readln(fam);

// Место рождения: просим ввести число, обозначающее нужное место
// Потом это число преобразуем к типу Place
writeln ('mesto : (0 = gorod; 1 = selo)');
readln(ans); mesto := place(ans);

// Таким же образом вводим и информацию, нужно ли общежитие
// ... попробуй сделать это сам ...

// Все остальные поля
end;
writeln ('vvod zakonchen');
writeln ;

count := 0;
for i:=1 to n do
if student[i].obwejitie = da then count := count + 1;

writeln(' obwejitie nyshno: ', count);
end.
Форматируй код сразу, это поможет в дальнейшем не ошибаться кое-где, где без форматирования "лесенкой" ошибки будут наверняка...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:23
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"