Revert "lab 2 done"

This reverts commit 1fc7f8355133a2d60aca6d68ca45110c020828ef.
This commit is contained in:
elena 2024-12-18 15:37:12 +04:00
parent 1fc7f83551
commit 78dcd22d5b
7 changed files with 0 additions and 146 deletions

3
.idea/.gitignore generated vendored
View File

@ -1,3 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -1,30 +0,0 @@
<component name="libraryTable">
<library name="Dart SDK">
<CLASSES>
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/async" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/cli" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/collection" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/concurrent" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/convert" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/core" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/developer" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/ffi" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/html" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/indexed_db" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/io" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/isolate" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/js" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/js_interop" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/js_interop_unsafe" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/js_util" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/math" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/mirrors" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/svg" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/typed_data" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/web_audio" />
<root url="file://$PROJECT_DIR$/../../../../dart-sdk/lib/web_gl" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

6
.idea/misc.xml generated
View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated
View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/Lab2_PMU.iml" filepath="$PROJECT_DIR$/Lab2_PMU.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated
View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart SDK" level="project" />
</component>
</module>

View File

@ -1,84 +0,0 @@
enum BirthdayStatus {
THISYEAR,
NEAR,
NOWADAY,
NEXTYEAR;
String get translate {
switch (this) {
case BirthdayStatus.THISYEAR:
return 'Будет в этом году';
case BirthdayStatus.NEAR:
return 'Скоро день рождение ';
case BirthdayStatus.NOWADAY:
return 'Сегодня день рождение!';
case BirthdayStatus.NEXTYEAR:
return 'Будет в следующем году';
}
}
}
extension DateTimeX on DateTime {
String getDate() {
return '${this.day}-${this.month}-${this.year}';
}
}
class Birthday {
final DateTime time;
final String message;
BirthdayStatus status = BirthdayStatus.NOWADAY;
Birthday(this.time, this.message);
@override
String toString() {
return 'статус: ${status.translate}\t\tдата: ${time.getDate()}\t\tсообщение: $message ';
}
}
class Scheduler {
List<Birthday> birthdays;
Scheduler(this.birthdays);
void sort() {
birthdays.sort((a, b) => (-1) * (a.time.compareTo(b.time)));
}
void printSchedule(DateTime today) {
sort();
print('Дедлайны:');
Future.delayed(new Duration(milliseconds: 1), () {
print('Сегодня ${today.getDate()}');
});
for (Birthday deadline in birthdays) {
Duration diff = deadline.time.difference(today);
int days = diff.inDays;
if (days <= 0) {
deadline.status = BirthdayStatus.NOWADAY;
print('Сегодня день рождение \t\t$deadline');
} else if (days <= 31) {
deadline.status = BirthdayStatus.NEAR;
print('Осталось $days суток \t\t$deadline');
} else if (days <= 365) {
deadline.status = BirthdayStatus.THISYEAR;
print('Будет в этом году! \t\t$deadline');
} else {
deadline.status = BirthdayStatus.NEXTYEAR;
print('До следующего года! \t\t$deadline');
}
}
}
}
void main() {
DateTime today = DateTime(2024, 9, 23);
var father = new Birthday(new DateTime(2025, 9, 24), "Иванов И.И.");
var brother = new Birthday(new DateTime(2024, 9, 26), "Васечкин В.В.");
var cousin = new Birthday(new DateTime(2024, 9, 23), "Тарасов Т.Т.");
var friend = new Birthday(new DateTime(2025, 10, 3), "Игнатова И.И.");
List<Birthday> birthdays = [father, brother, cousin, friend];
var scheduler = new Scheduler(birthdays);
scheduler.printSchedule(today);
}