Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2015, 19:21   #1
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию Информация о студентах...

После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую: 1) сколько человек нуждается в общежитии; 2) списки студентов, проработавших 2 и более лет учителем...

нужно сделать не через файл, а через тип запись...

Помогите пожалуйста вот с этим...
manchester_alan вне форума Ответить с цитированием
Старый 17.01.2015, 19:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попытками похвастаться можешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.01.2015, 20:04   #3
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Попытками похвастаться можешь?
что-то есть..

Код:
Type Anketa=Record
     Fam,Obraz,Yazik:string[20];
     Obsch,Rab:string[3];
     Staj:0..30;
     End;
Var w:array[1..n]of Anketa;
    s:Anketa;
    n,i,k:integer;
Begin
    write('Введите кол-во анкет: ');readln(n);
    k:=0;
    For i:=1 to n do
     Begin
      writeln('Введите информацию о ',i,'-ом студенте: ');
      write('Введите Фамилию: ');readln(s.Fam);
      write('Введите нуждается ли в общежитие (yes/no): ');readln(s.Obsch);
      write('Введите стаж: ');readln(s.staj);
      write('Введите что окончил: ');readln(s.obraz);
      write('Какой язык изучал: ');readln(s.yazik);
     End;
 {Сколько человек нуждается в общежитии}
      if s.Obsch='yes' then inc(k); writeln(k);
    Writeln('Список студентов работавших учителем более 2-х лет');
      if (s.staj in [2..30])and(s.rab='yes') then writeln(s.fam);
manchester_alan вне форума Ответить с цитированием
Старый 17.01.2015, 20:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

О! Красата )
Теперь рассказывай чем эта наработка не подходит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.01.2015, 20:33   #5
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
О! Красата )
Теперь рассказывай чем эта наработка не подходит.
ну нужно как-то через тип запись сделать.. там еще with w[i] do знаю надо вставить... поможете?
manchester_alan вне форума Ответить с цитированием
Старый 17.01.2015, 20:56   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нужно как-то через тип запись сделать
Внимательнее посмотри свой код. Там и так используется этот тип.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.01.2015, 21:58   #7
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Внимательнее посмотри свой код. Там и так используется этот тип.
ну это да.. но там не выводится нормально..

вот еще чуть изменил...

но как мне сделать чтобы работало как надо, пожалуйста?

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows;

Type Anketa=Record
     Fam,Obraz,Yazik:string[20];
     Obsch,Rab:string[3];
     Staj:0..30;
     End;
Var w:array[1..100]of Anketa;
    s:Anketa;
    n,i,k:integer;
Begin
    SetConsoleCP(1251); SetConsoleOutputCP(1251);
    write('Введите кол-во анкет: ');readln(n);
    k:=0;
    For i:=1 to n do
     Begin
      writeln('Введите информацию о ',i,'-ом студенте: ');
      write('Введите Фамилию: ');readln(s.Fam);
      write('Введите нуждается ли в общежитие (да/нет): ');readln(s.Obsch);
      write('Введите стаж: ');readln(s.staj);
      write('Работал ли учителем? (да/нет)'); Readln(s.rab);
      write('Введите что окончил: ');readln(s.obraz);
      write('Какой язык изучал: ');readln(s.yazik);
     End;
     Writeln('Сколько человек нуждается в общежитии: ');
      if s.Obsch='да' then inc(k); writeln(k);
    Writeln('Список студентов работавших учителем более 2-х лет');
      if (s.staj in [2..30])and(s.rab='да') then writeln(s.fam);

    Readln;
end.

Последний раз редактировалось manchester_alan; 17.01.2015 в 22:20.
manchester_alan вне форума Ответить с цитированием
Старый 18.01.2015, 11:34   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows;

Type Anketa=Record
     Fam,Obraz,Yazik:string[20];
     Obsch,Rab:string[3];
     Staj:0..30;
     End;
Var w:array[1..100]of Anketa;
    n,i,k:integer;
Begin
    SetConsoleCP(1251); SetConsoleOutputCP(1251);
    write('Введите кол-во анкет: ');readln(n);
    k:=0;
    For i:=1 to n do
     Begin
      writeln('Введите информацию о ',i,'-ом студенте: ');
      write('Введите Фамилию: ');readln(w[i].Fam);
      write('Введите нуждается ли в общежитие (да/нет): ');readln(w[i].Obsch);
      write('Введите стаж: ');readln(w[i].staj);
      write('Работал ли учителем? (да/нет)'); Readln(w[i].rab);
      write('Введите что окончил: ');readln(w[i].obraz);
      write('Какой язык изучал: ');readln(w[i].yazik);
      if w[i].Obsch='да' then inc(k); writeln(k);
     End;

    Writeln('Сколько человек нуждается в общежитии: ',k);

    For i:=1 to n do
    Writeln('Список студентов работавших учителем более 2-х лет');
      if (w[i].staj in [2..30])and(w[i].rab='да') then writeln(w[i].fam);

    Readln;
end.
P.S. Без обид, но если ты эту профессию выбрал себе на будущее, может стоит задуматься о другой? Диллер или брокер. Но диллером лучше.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.01.2015, 14:51   #9
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

да какие обиды, спасибо)) посмотрим, пока только начинаю же)
manchester_alan вне форума Ответить с цитированием
Старый 18.01.2015, 15:35   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
пока только начинаю же)
Так ведь не с того начинаешь судя по всему )
Циклы не знаешь. Теорию по записям тоже на троечку. Да и что такое массивы тоже судя по коду не знаешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
представить данные о студентах института в виде массива записей tatuana_ Паскаль, Turbo Pascal, PascalABC.NET 3 28.12.2013 22:24
Требуется иметь сведения о студентах факультета. Необходимо организоватьмассив записей паскаля,а затем из Aktor1992 Паскаль, Turbo Pascal, PascalABC.NET 1 13.04.2011 11:19
Представить данные о студентах института в виде массива записей. Паскаль. menlo Помощь студентам 3 12.12.2007 20:40
Ну вот и я в студентах )) - Подскажите по Xpath Stilet Общие вопросы по программированию, компьютерный форум 7 30.10.2007 15:42