-
Notifications
You must be signed in to change notification settings - Fork 0
/
Assignment_6.dart
172 lines (159 loc) · 4.29 KB
/
Assignment_6.dart
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
import 'dart:io';
//Assignment 6 In Dart
//contact book
List<Contact> Contacts = [];
void main() {
while (true) {
Menu();
}
}
void Menu() {
print("======== Main Menu ========");
print("Enter 1 to add Contact");
print("Enter 2 to Update Contact");
print("Enter 3 to List All Contacts");
print("Enter 4 to Delete a contact");
print("Please enter your choice:");
String choice = stdin.readLineSync()!.trim();
switch (choice) {
case "1":
AddContacts();
break;
case "2":
UpdateContact();
break;
case "3":
ListOfContacts();
break;
case "4":
DeleteContact();
break;
default:
print("Exiting Program....");
exit(0);
}
}
AddContacts() {
print("\nYou Choose To Add Contact.\n");
String name, email, dob;
int phone;
print("Enter Contact Name:");
name = stdin.readLineSync()!.trim();
print("Enter Contact Email:");
email = stdin.readLineSync()!.trim();
print("Enter Contact Date Of Birth:");
dob = stdin.readLineSync()!.trim();
print("Enter Contact Phone Number:");
phone = int.parse(stdin.readLineSync()!.trim());
if (name.isNotEmpty &&
email.isNotEmpty &&
dob.isNotEmpty &&
phone != null &&
email.contains("@")) {
Contacts.add(Contact(name, email, phone, dob));
print("Your Contact is Saved");
backtomenu("AddContacts");
} else {
print("Failed to Save Contact! Invalid Entry");
backtomenu("AddContacts");
}
}
UpdateContact() {
print("\nYou Choose To Update Contact.\n");
print("Enter Index Number To Update Contact:");
String name, email, dob;
int phone;
int index = int.parse(stdin.readLineSync()!.trim());
print("Update Contact on $index :");
print("Name ${Contacts[index].Name}");
print("Enter New Name:");
name = stdin.readLineSync()!.trim();
if (name.isNotEmpty) {
Contacts[index].Name = name;
}
print("Email ${Contacts[index].Email}");
print("Enter New Email:");
email = stdin.readLineSync()!.trim();
if (email.isNotEmpty) {
Contacts[index].Email = email;
}
print("Phone Number: ${Contacts[index].Phone}");
print("Enter New Phone Number:");
phone = int.parse(stdin.readLineSync()!.trim());
if (phone != null) {
Contacts[index].Phone = phone;
}
print("Date Of Birth: ${Contacts[index].Dob}");
print("Enter New Date Of Birth:");
dob = stdin.readLineSync()!.trim();
if (dob.isNotEmpty) {
Contacts[index].Dob = dob;
}
print("Your Contact at $index Is Updated...");
backtomenu("UpdateContact");
}
DeleteContact() {
print("\nYou Choose To Delete Contact.\n");
print("Enter Index Number To Delete Contact:");
int index = int.parse(stdin.readLineSync()!.trim());
print("Detail of contact at $index :");
print("\nName:${Contacts[index].Name}");
print("Phone:${Contacts[index].Phone}");
print("Email:${Contacts[index].Email}");
print("Date Of Birth:${Contacts[index].Dob}\n");
print("Do you want delete this contact(Y/N)....");
String choice = stdin.readLineSync()!.trim();
if (choice == "Y") {
Contacts.removeAt(index);
print("Contact Deleted!");
}
backtomenu("DeleteContact");
}
ListOfContacts() {
print("\nYou Choose List Of Contacts.\n");
int index = 0;
Contacts.forEach((element) {
print("Index:${index++}");
print("Name:${element.Name}");
print("Phone:${element.Phone}");
print("Email:${element.Email}");
print("Date Of Birth:${element.Dob}");
print("\n");
});
backtomenu("ListOfContacts");
}
backtomenu(String Currentchoice) {
print("If You Want To $Currentchoice Enter 1");
print("If You Want To Go Back to Menu Enter 0");
String choice = stdin.readLineSync()!.trim();
switch (choice) {
case "1":
if (Currentchoice == "AddContacts") {
AddContacts();
} else if (Currentchoice == "UpdateContact") {
UpdateContact();
} else if (Currentchoice == "DeleteContact") {
UpdateContact();
} else if (Currentchoice == "ListOfContacts") {
ListOfContacts();
}
break;
case "0":
Menu();
break;
default:
print("adssssd");
}
}
class Contact {
String Name = "";
String Email = "";
String Dob = "";
int Phone = 0;
Contact(String name, String email, int phone, String dob) {
this.Dob = dob;
this.Email = email;
this.Phone = phone;
this.Name = name;
}
}