С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Namatrasnik
2 / 2 / 2
Регистрация: 29.10.2015
Сообщений: 269

Работа со структурами

12.10.2016, 16:25. Показов 1194. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня!
имеется вопрос по работе со структурами на C#. Вот условие задания: Описать тип TDate — структура с полями целого типа Day (день), Month (месяц) и Year (год). Протестировать является ли дата правильной. Создать массив структур (не более чем для пяти дат). Вывести на экран те даты, у которых месяца являются зимними, в противном случае вывести сообщение «Нет дат, у которых месяца являются зимними».
В результате есть часть кода. Первый - это структура TDate:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
 
namespace Одномерные_массивы_и_структуры
{
    internal class TDate
    {
        public int day, month, year;
        public Byte day1, month1, year1;
        public void Show()
        {
            Console.WriteLine("Введите дату");
            day = Int32.Parse(Console.ReadLine());
            month = Int32.Parse(Console.ReadLine());
            year = Int32.Parse(Console.ReadLine());            
                if ((day > 0 && day <= 31) && (month > 0 && month <= 12) && (year > 0))
                {
                    Console.WriteLine("Вы ввели следующую дату:  " + day + ". " + month + ". " + year);
                }
{
                    Console.WriteLine("Дата введена не правильно. Повторите попытку");
                    
                }
            
        }         
 
        }
    }
Второй файл, остальной код для работы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
 
namespace Одномерные_массивы_и_структуры
{
    class odnom_massiv
    {
        static void Main(string[] args)
        {
TDate data = new TDate();
            int day, month, year;
            data.Show();
            Console.WriteLine("Введите 5 дат");
            //int n = Byte.Parse(Console.ReadLine());
            TDate[] mas = new TDate[5];         
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Введите " + i + "-ю дату");
                Console.WriteLine("День");
                mas[i].day1 = Byte.Parse(Console.ReadLine());
                Console.WriteLine("Месяц");
                mas[i].month1 = Byte.Parse(Console.ReadLine());
                Console.WriteLine("Год");
                mas[i].year1 = Byte.Parse(Console.ReadLine());
 
            }
Вопрос вот в чём. Когда запускаю на текущем этапе программу при работе с массивом в файле кода появляется ошибка, ссылающаяся на нулевой объект:
Кликните здесь для просмотра всего текста

Как правильно его объявить ? Может массив я не правильно создал ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2016, 16:25
Ответы с готовыми решениями:

Работа со структурами
1.Определить структуру, добавив дополнительно несколько (2-3) своих полей. 2.Определить в структуре несколько перегруженных...

Вывести поля структуры на экран с помощью PrintStruct
Необходимо выполнить следующие операции: 1)описать структуру (Самолёт) 2)объявить переменную структурного типа 3)описать...

Работа со структурами
Есть задание следующего типа: Описать тип TDate — структура с полями целого типа Day (день), Month (месяц) и Year (год). Протестировать...

2
139 / 139 / 53
Регистрация: 14.06.2016
Сообщений: 467
12.10.2016, 16:44
Массив то ты создал, но не инициализировал.
C#
1
2
3
for (int i = 0; i < 5; i++) {
  mas[i] = new TDate();
}
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.10.2016, 16:46
Цитата Сообщение от Namatrasnik Посмотреть сообщение
имеется вопрос по работе со структурами на C#
1. Структур у вас тут и в помине нет. По коду я вижу только класс TDate.
2. Вы объявили массив типа TDate, и у вас каждый элемент данного массива равен null. Вполне естественно, что при попытке обратиться к элементу массива, который равен null вы получаете NullReferenceException.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2016, 16:46
Помогаю со студенческими работами здесь

Работа со структурами
Добрый день дорогие форумчане! Ну, или у кого как... Передо мной встала задача один кусок кода размножить с помощью структур! Думаю,...

Работа со структурами и массивами
Здравствуйте! Возник очередной тупой вопрос, допустим, есть массив, и структура. byte arr1; public struct S1 { byte arr;...

Работа со структурами в бинарном файле
Здравствуйте, прошу мне помочь с одной проблемой. При работе над файлом, я создал структуру: struct StateHaircut { ...

Работа со структурами - не все ветви кода возвращают значение
Есть такая задача, код нужен на c# Дано type декарт = record x, y : real end; поляр = record ...

Работа со структурами
Всем здрасти, вообщем есть код на deplhi и его нужно адаптировать по с++ builder, но в связи с тем что работал мало, получается все очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru