Консольный телефонный справочник на основе массивов - C#
Формулировка задачи:
Здравствуйте! Я совсем начинающий, только пару месяцев изучаю С#, преподавание шотландцем только усложняет понимание. Прежде чем создать тему почти 2 недели пытался справиться с проблемой самостоятельно, но безрезультатно. Программу нужно сдать в пятницу 16.11.2012. Прошу Вашей помощи!
Задача:
- Программа должна сохранять Имя и номер в двухмерном массиве
- Может быть сохранено максимум 20 записей типа "Александр 4951234567"
- Меню программы предлагает:
1 Создать запись
2 Удалить запись
3 Вывести на экран все записи телефонной книги
4 Продолжить? ДА или НЕТ
Мы ещё многого не проходили, так что программа должна быть желательно без функций List, всё в одном Классе, но обязательно с использованием массивов (arrays). Те примеры и информация, что я находил, гораздо выше уровнем и многое я просто не понимаю. Заранее благодарю за любую помощь!
Решение задачи: «Консольный телефонный справочник на основе массивов»
textual
Листинг программы
using System;
namespace PhoneList
{
class Program
{
private static int n = 4;
private static int m = 5;
private static string[,] phoneList = new string[n, m];
static void Main()
{
while (true)
{
Console.WriteLine("1.Создать запись\n2.Удалить запись\n3.Вывести на экран все записи телефонной книги\n4.Выход");
Console.Write("Ведите команду: ");
string com = Console.ReadLine();
switch (com)
{
case "1":
phoneNew();
break;
case "2":
phoneDelete();
break;
case "3":
phoneView();
break;
case "4":
return;
default:
Console.WriteLine("Не верная команда. Попробуйте еще раз.\n");
break;
}
}
}
static void phoneNew()
{
Console.Clear();
Console.Write("Ведите имя: ");
string name = Console.ReadLine();
Console.Write("Ведите номер телефона: ");
string number = Console.ReadLine();
try
{
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (phoneList[i, j] == null)
{
phoneList[i, j] = string.Format("{0} {1}", name, number);
Console.WriteLine("Записанно!");
Console.WriteLine();
return;
}
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
}
static void phoneDelete()
{
Console.Clear();
Console.WriteLine("Список");
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (phoneList[i, j] != null)
{
int a = 1;
switch (i)
{
case 0:
a = j + a;
break;
case 1:
a = a + m + j;
break;
case 2:
a = a + (m * 2) + j;
break;
case 3:
a = a + (m * 3) + j;
break;
}
Console.WriteLine("{0}. {1}", a, phoneList[i, j]);
}
try
{
Console.Write("Ведите номер удаляемого контакта: ");
int index = Convert.ToInt32(Console.ReadLine()) - 1;
int index1 = index / 4;
switch (index)
{
case 4:
case 8:
case 9:
case 12:
case 13:
case 14:
case 16:
case 17:
case 18:
case 19:
index1 = index1 - 1;
break;
}
int index2 = index;
while (index2 > 4)
{
index2 = index2 - 5;
}
phoneList[index1, index2] = null;
Console.WriteLine("Удалено!");
Console.WriteLine();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
}
static void phoneView()
{
Console.Clear();
int a = 1;
Console.WriteLine("Список");
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (phoneList[i, j] != null)
Console.WriteLine("{0}. {1}", a++, phoneList[i, j]);
Console.WriteLine();
}
}
}