Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2009, 23:23   #1
stellavin
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 11
По умолчанию Описать структуру NOTE

Столкнулся с такой проблемой.
Дана задачка:
Описать структуру с именем NOTE, содержащую следующие поля:
-фамилия, имя;
-номер телефона;
-дата рождения(массив из трех чисел).
Написать программу, выполняющую следующие действия:
-ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE(записи должны быть размещены по алфавиту);
-вывод на экран информации о людях, чьи дни рождения приходятся на месяяц, значение которого введено с клавиатуры(если тких нет, вывести соответствующее сообщение).
Вот пример кода(не законченный):
Код:
using System;
using System.Collections.Generic;
using System.Text;
 
namespace pr1
{
    struct NOTE
    {
        public string surname_name;
        public string phone_number;
        public int[] birthday;
    }
    class Program
    {
 
        static void Main(string[] args)
        {
            NOTE[] note = new NOTE[8];
            //ввод данных
            for (int i = 0; i <= 7; i++)
            {
                Console.Write("Введите ФАМИЛИЮ и ИМЯ: ");
                note[i].surname_name = Console.ReadLine();
                Console.Write("Введите ТЕЛЕФОН: ");
                note[i].phone_number = Console.ReadLine();
                Console.Write("Введите ДАТУ РОЖДЕНИЯ(дд.мм.гггг): ");
                string TempBirthday = Console.ReadLine();
                string[] TempMassive = TempBirthday.Split('.');
                int[] birthday = new int[] { int.Parse(TempMassive[0].ToString()), int.Parse(TempMassive[1].ToString()), int.Parse(TempMassive[2].ToString()) };
 
                //note[i].surname_name = surname_name.Trim();
                //note[i].phone_number = phone_number.Trim();
                note[i].birthday = new int[2];
                note[i].birthday = birthday;
            }
 
            //сортировка по фамилии
            string tmp;
            for (int i = 0; i < note.Length; i++)
            {
                for (int j = i + 1; j < note.Length; j++)
                {
                    if (note[i].surname_name.CompareTo(note[j].surname_name) > 0)
                    {
                        tmp = note[i].surname_name;
                        note[i].surname_name = note[j].surname_name;
                        note[j].surname_name = tmp;
 
                        tmp = note[i].phone_number;
                        note[i].phone_number = note[j].phone_number;
                        note[j].phone_number = tmp;
                    }
                }
            }
 
            //вывод введеных с клавиатуры данных
            Console.WriteLine();
            for (int j = 0; j <= 7; ++j)
            {
                Console.WriteLine("{0}\t\t{1}\t\t{2}.{3}.{4}", note[j].surname_name, note[j].phone_number, note[j].birthday[0], note[j].birthday[1], note[j].birthday[2]);
            }
 
            //вывод данных по введенному месяцу
            Console.Write("Введите МЕСЯЦ, чтобы показать людей с днем рождения приходящим на этот месяц: ");
            string input_month = Console.ReadLine();
            for (int n = 0; n <= 7; n++)
            {
                if (Convert.ToInt32(input_month) == note[n].birthday[1]) Console.WriteLine("{0}\t\t{1}\t\t{2}.{3}.{4}", note[n].surname_name, note[n].phone_number, note[n].birthday[0], note[n].birthday[1], note[n].birthday[2]);
                else Console.WriteLine("Людей, с днем рождения приходящим на введый Вами МЕСЯЦ не существует.");
            }
            //конец
            Console.ReadLine();
        }
    }
}
Вроде с сортировкой по фамилии и телефону разобрался. а как сделать так, что бы отсортированным фамилиям соответствовали дынные о днях рождения из массива?

И вывод информации при введении числа! Выводит правильно, но одно и тоже 8 раз. как это исправить?
stellavin вне форума Ответить с цитированием
Старый 13.12.2009, 21:01   #2
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

О Боже!, что это за извращение с датой? =) Ведь есть такой замечательный класс DateTime.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать структуру с именем NOTE,содержащую следующие поля Wast Общие вопросы C/C++ 1 06.05.2009 22:41
Исправить структуру на С. STS_1991 Помощь студентам 4 29.04.2009 16:39
Описать структуру содержащую поля LuenFen Общие вопросы C/C++ 1 16.04.2009 23:00