Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 12

Ограничения на ввод-вывод данных

02.05.2012, 11:49. Показов 1654. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Мне задали решить вот такую задачку, само решение есть, проблема состоит в ограничениях на ввод и вывод данных.

5 декабря 2009 в порту P собралось N круизных лайнеров, совершающих регулярные рейсы и возвращаются к этому порту через ti дней. Какого числа они первый раз снова появятся вместе в этом порту?

Технические условия

Ввод

С клавиатуры вводится количество лайнеров N - целое число от 2 до 10. А затем N целых чисел - периоды их рейсов в днях (целые числа от 1 до 30).

Вывод

На экран или форму выводится дата их возвращения в формате DD/MM/YYYY. Гарантируется, что эта дата не превышает 31/12/2012.

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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
Var
i,i2,j,dd,year,g,n,mm :integer;
t :array [1..30] of integer;
f: textfile;
 
begin
AssignFile(f,'input.txt');
Reset(f);
Read(f,n);
 
j:=1;
 
For i:=1 To n Do
  Begin
  Read(f,t[i]);
  j:=j*t[i];
  End;
 
CloseFile(f);
 
 
year:=2009;
 
For i:=1 To j Do
Begin
g:=0;
 
For i2:=1 To n Do
If (i mod t[i2]=0) Then
g:=g+1;
 
If g=n Then
Begin
dd:=5;
mm:=12;
 
For i2:=1 To i Do
Begin
dd:=dd+1;
If (((mm=2) and (dd=29) and (year=2012)) or ((mm=2) and (dd=28) and (year<2012)))
or (((mm=4) or (mm=6) or (mm=9) or (mm=11)) and (dd=30)) or (dd=31) Then
Begin
dd:=0;
mm:=mm+1;
End
Else
 
If (mm=13) and (dd=1) Then
Begin
mm:=1;
year:=year+1;
End
Else
 
End;
 
AssignFile(f, 'output.txt');
  ReWrite(f);
  WriteLn(f, IntToStr(dd)+'/'+IntToStr(mm)+'/'+IntToStr(year));
  CloseFile(f);
 
Break;
End;
End;
 
End;
end.
Проблема состоит в добавлении ограничений на ввод и вывод...
Не должно быть:
n<2 and n>10
t[i]<1 and t[i]>30
дата на вывод не превышает 31.12.2012

В противных случаях в файл "output.txt"должно выдавать соответствующие сообщения:
"Не соответствует кол-во лайнеров"
"Не соответствует кол-во дней"
"Дата превышает допустимую"

Огромная просьба отредактировать код! Очень Нужно!

Заранее огромное спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2012, 11:49
Ответы с готовыми решениями:

Ограничения на ввод данных в DataGridView
Здравствуйте. Прошу помощи, я в программировании новичок(а с С# столкнулась впервые). Подскажите как сделать, чтобы в DataGridView в...

Как наложить ограничения на ввод данных?
как наложить ограничения на ввод данных? (чтобы не было 1 и 0)

Insert имеется ли ограничения на ввод массивов данных?
Доброе время суток! Подскажите, имеется ли какое либо ограничение в таблице базы INNODB для добавления массивов данных. Суть в том что я...

7
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.05.2012, 16:13
Вот сделал. Проект полностью в архиве.
Сделал ввод данных через Memo. Сколько строк в Memo - столько лайнеров. В программе вроде всё понятно. Будут вопросы - пишите.
Вложения
Тип файла: rar Корабли.rar (169.8 Кб, 10 просмотров)
1
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 12
02.05.2012, 16:41  [ТС]
Просто все дело в том, что тут должна быть именно работа с файлами...
Это курсовая работа и преподаватель очень придирчив к мелочам...
Ввод и вывод должны быть именно как в условии(
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.05.2012, 16:44
С клавиатуры вводится количество лайнеров N - целое число от 2 до 10. А затем N целых чисел - периоды их рейсов в днях (целые числа от 1 до 30).

Вывод

На экран или форму выводится дата их возвращения в формате DD/MM/YYYY. Гарантируется, что эта дата не превышает 31/12/2012.
Тогда очень конкретно уточняйте.
0
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 12
02.05.2012, 16:50  [ТС]
Вот полностью то, что есть у меня...

Прошу прощения... момент про работу с файлами не уточнила... Ввод и вывод осуществляется через файлы, на форме только кнопка.

Ввод данных : первая строка - кол-во лайнеров,
вторая строка - периоды лайнеров в днях через пробелы.
Вложения
Тип файла: rar Курсовая - Лайнеры.rar (188.2 Кб, 9 просмотров)
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
02.05.2012, 19:18
Тогда вот так - архив. Хотя это бред какой-то.
Вложения
Тип файла: rar Лайнеры.rar (165.5 Кб, 10 просмотров)
0
02.05.2012, 19:19

Не по теме:

Другую задачу по подсчёту слов смотрели?

0
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 12
02.05.2012, 21:38  [ТС]
Я конечно понимаю что это очень нагло с моей стороны... Но Вы не могли бы посмотреть вот эту тему...
Работа с файлами
Пожалуйста!)

Все остальное прекрасно работает - большущее СПАСИБО Вам за всё!!!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2012, 21:38
Помогаю со студенческими работами здесь

Сделать ограничения на ввод данных, одно поле значение которого вычисляется с любых строк
Сделать ограничения на ввод данных, одно поле значение которого вычисляется с любых строк. как?

Ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хранилище данных в файле)
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и вывод данных из этого файла на экран...

Реализовать ввод данных, вывод данных, поиск по номеру квартиры и возрасту
ввод данных, вывод данных, поиск по номеру квартиры и возрасту. Запись состоит из номера квартиры (тип integer), фамилии (тип string),...

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

Составьте программу, которая обеспечивает ввод данных, вывод данных, поиск по ФИО
Составьте программу, которая обеспечивает ввод данных, вывод данных, поиск по ФИО. Каждая компонента записи содержит следующую информацию...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru