안녕하세요 저는 목록을 사용하여 데이터를 저장하고 표시하는 연락처 관리자 프로그램을 구축하려고합니다. 사용 가능한 연락처 요약을 표시하는 보고서를보고 사용자가 프로그램과 상호 작용할 수있는 메뉴가 있어야합니다. 데이터로 목록을 만드는 방법이 있지만 사용자가 이름과 성, 전화 번호, 이메일 주소 및 유형을 포함 할 새 연락처를 만들 수 있도록 방법을 변경해야합니다. 하지만 어떻게해야하는지 잘 모르겠습니다.
모든 지침을 주시면 감사하겠습니다.
static void Main(string[] args)
{
//Declare the list
ArrayList list = new ArrayList();
Console.WriteLine("Contact List");
// display the menu to the user
Console.WriteLine("Enter option or M for menu:");
//Main Driver
char menuItem;
menuItem = GetMenuItem();
while (menuItem != 'X')
{
ProcessMenuItem(menuItem);
menuItem = GetMenuItem();
}
Console.WriteLine("\nThank you, goodbye");
Console.ReadLine();
}
static char GetMenuItem()
{
char menuItem;
DisplayMenu();
menuItem = IOConsole.GetChar((Console.ReadLine()));
while (menuItem != 'C'
&& menuItem != 'L' && menuItem != 'X' && menuItem != 'R' && menuItem != 'U' && menuItem != 'D')
{
Console.WriteLine("\nError - Invalid menu item");
DisplayMenu();
//menuItem = IOConsole.GetChar((Console.ReadLine()));
}
return menuItem;
}
static void DisplayMenu()
{
Console.WriteLine("C-> Create Contacts");
Console.WriteLine("R-> Remove Contacts");
Console.WriteLine("U-> Update Contacts");
Console.WriteLine("D -> Load data from file");
Console.WriteLine("S-> Save data to file");
Console.WriteLine("L-> View sorted by last name");
Console.WriteLine("F-> View sorted by first name");
Console.WriteLine("P-> View by partial name search");
Console.WriteLine("T-> View by contact type");
Console.WriteLine("Q-> Quit");
}
//Routes to the appropriate process routine based on the user menu choice
static void ProcessMenuItem(Char menuItem)
{
switch (menuItem)
{
case 'C':
createContact();
break;
case 'R':
removeContact();
break;
case 'U':
updateContact();
break;
case 'D':
LoadToFile();
break;
case 'S':
saveToFile();
break;
case 'L':
sortByLastName();
break;
case 'F':
sortByFirstName();
break;
case 'P':
break;
case 'T':
break;
case 'Q':
break;
}
}
public static void createContact()
{
Contact c1 = new Contact();
//c1.Number = 1; //Id?
c1.GetLastName = "Doe";
c1.GetFirstName = "John";
c1.GetEmailAddress = "[email protected]";
c1.GetPhoneNumber = "12345678";
c1.ContactTypes = ContactTypesEnum.Friend;
//Create more contacts...
//Add all contacts here
ContactCollection contactList = new ContactCollection();
contactList.Add(c1);
//Loop through list
foreach( Contact c in contactList)
{
Console.WriteLine(c.GetFirstName); //Do something with fields
}
Console.ReadLine();
}
각 필드에 대해 사용자에게 요청
public static void createContact()
{
Contact c1 = new Contact();
Console.WriteLine("GetFirstName");
c1.GetFirstName = Console.ReadLine();
Console.WriteLine("GetLastName");
c1.GetLastName = Console.ReadLine();
Console.WriteLine("GetEmailAddress");
c1.GetEmailAddress = Console.ReadLine();
Console.WriteLine("GetPhoneNumber");
c1.GetPhoneNumber = Console.ReadLine();
Console.WriteLine("ContactTypes");
c1.ContactTypes = Console.ReadLine();
//Create more contacts...
//Add all contacts here
ContactCollection contactList = new ContactCollection();
contactList.Add(c1);
//Loop through list
foreach (Contact c in contactList)
{
Console.WriteLine(c.GetFirstName); //Do something with fields
// Save using this foreach loop to some collection where you are storing contacts or may be directly save the list.
}
Console.ReadLine();
}
그러나 나는이 방법에 올 때마다 감정 목록을 만들 것이기 때문에 어떻게 그 목록에 모든 연락처를 가질 수 있는지 의심합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다