Консольный телефонный справочник на основе массивов - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы