Answer on Question #45170, Programming, C#
Problem.
A complete console based application of "PERSONAL ASSISTENT" without database connectivity with the feature of
1. add contact
2. edit contact
3. delete contact
4. search contact
Solution.
Code
using System;
// Contact class
public class Contact
{
public static int lastId = 0; // last id
private int id; // id
private string name; // name
private bool deleted; // deleted
public Contact(string name)
{
lastId++;
id = lastId;
this.name = name;
deleted = false;
}
// Returns name
public string GetName()
{
return name;
}
// Sets name
public void SetName(string name)
{
this.name = name;
}
// Sets true if contact is deleted, clears name
public void Delete()
{
name = null;
deleted = true;
}
// Returns true if contact is deleted
public bool IsDeleted()
{
return deleted;
}
}
class Program
{
private static Contact[] contArray = new Contact[10];
// Adds contact
private static void AddContact()
{
Console.Write("Enter name: ");
string name = Console.ReadLine();
contArray[Contact.lastId + 1] = new Contact(name);
}
// Edits contact
private static void EditContact()
{
Console.Write("Enter id: ");
int id = int.Parse(Console.ReadLine());
Console.Write("Enter new name: ");
string name = Console.ReadLine();
contArray[id].SetName(name);
}
// Deletes contact
private static void DeleteContact()
{
Console.Write("Enter id: ");
int id = int.Parse(Console.ReadLine());
contArray[id].Delete();
}
// Searches by keyword
private static void Search()
{
Console.Write("Enter keyword: ");
string keyword = Console.ReadLine();
for (int i = 1; i <= Contact.lastId; i++)
{
if (!contArray[i].IsDeleted())
{
if (contArray[i].GetName().Contains(keyword))
{
Console.WriteLine("0,-3{1,-10}", i,
contArray[i].GetName());
}
}
}
}
static void Main(string[] args)
{
int choice = 0;
// Menu
while (choice != 5)
{
Console.Write("(1) Add contact\n");
Console.Write("(2) Edit contact\n");
Console.Write("(3) Delete contact\n");
Console.Write("(4) Search contact\n");
Console.Write("(5) Exit\n");
choice = int.Parse(Console.ReadLine());
if (choice == 1)
{
AddContact();
}
if (choice == 2)
{
EditContact();
}
if (choice == 3)
{
DeleteContact();
}
if (choice == 4)
{
Search();
}
}
}Result
01> Add contact
02> Edit contact
03> Delete contact
04> Search contact
05> Exit
1
Enter name: Andrew
01> Add contact
02> Edit contact
03> Delete contact
04> Search contact
05> Exit
1
Enter name: Alex
01> Add contact
02> Edit contact
03> Delete contact
04> Search contact
05> Exit
1
Enter keyword: A
1 Andrew
2 Alex
01> Add contact
02> Edit contacthttp://www.AssignmentExpert.com/