Здравствуйте, задача у меня странная. Необходимо сделать форму регистрации пассажиров, без использования баз данных, чисто C#. Как сделать так, чтобы можно было вставить переменную в имя объекта класса Passenger.
P.s. мне надо сделать так, чтобы можно было создавать неограниченное количествово объектов Passenger, и о каждом из них хранить информацию. Прошу помощи.
using System;
namespace Avia_registration
{
class Passenger
{
public string name;
public string surname;
public string country;
public int age;
public Passenger()
{
Console.WriteLine("Give a name to your passenger");
name = Console.ReadLine();
Console.WriteLine("Give a surname to your passenger");
surname = Console.ReadLine();
Console.WriteLine("Where is " + name + " from?");
country = Console.ReadLine();
Console.WriteLine("How old is " + name + " ?");
age = Convert.ToInt32(Console.ReadLine());
}
public static void Print()
{
Console.WriteLine("Here is information.");
Console.WriteLine(name);
Console.WriteLine(surname);
Console.WriteLine(country);
Console.WriteLine(age);
}
}
class Plane
{
//future programme(Seats count)
}
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("You have got a plane with five seats, choose who will fly away");
string[] Namelist = new string[5]; //тут будут хранится имена всех пассажиров, чтобы потом вывести на экран
//список перед "отправкой"
Passenger one = new Passenger();
Console.ReadKey();
}
}
}
P.s. Я только начинаю...
Вы сейчас создаёте массив определённой размерности для имён. Я предлагаю вам создавать массив определённой размерности для всех данных на пассажиров (это называется коллекция). Попробуйте для этого следующий код (обратите внимание на метод Main()
и подключённые библиотеки):
using System;
using System.Collections.Generic;
namespace Avia_registration
{
class Passenger
{
public string name;
public string surname;
public string country;
public int age;
public Passenger()
{
Console.WriteLine("Give a name to your passenger");
name = Console.ReadLine();
Console.WriteLine("Give a surname to your passenger");
surname = Console.ReadLine();
Console.WriteLine("Where is " + name + " from?");
country = Console.ReadLine();
Console.WriteLine("How old is " + name + " ?");
age = Convert.ToInt32(Console.ReadLine());
}
public static void Print()
{
Console.WriteLine("Here is information.");
Console.WriteLine(name);
Console.WriteLine(surname);
Console.WriteLine(country);
Console.WriteLine(age);
}
}
class Plane
{
//future programme(Seats count)
}
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("You have got a plane with five seats, choose who will fly away");
List<Passenger>() passengersList = new List<Passenger>(5); // тут будут хранится уже не только имена
// а все данные на пассажиров
// если в скобках указать число, то
// коллекция будет создана числом этой размерности
for (i = 0; i < passengersList.Length - 1; i++)
{
Passenger passenger = new Passenger();
passengersList[i] = passenger; // так как коллекция расширяема (то есть это динамический массив),
// мы можем добавить пассажира таким образом: passengersList.Add(passenger);
}
Console.ReadKey();
}
}
}
Документация по List
Если же вы хотите сохранить только имена, то это можно сделать таким образом:
public static void Main(string[] args)
{
Console.WriteLine("You have got a plane with five seats, choose who will fly away");
string[] Namelist = new string[5]; //тут будут хранится имена всех пассажиров, чтобы потом вывести на экран
//список перед "отправкой"
for(i=0; i < Namelist.Length - 1; i++)
{
Passenger one = new Passenger();
Namelist[i] = one.name
}
Console.ReadKey();
}
В обращении к атрибуту и в грамотности написания точно не уверен, потому что давно с C# не работаю, но по идее всё верно
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как передать буфер для заполнения в функцию (функция в DLL-ке напна Си , исходника нету) я делаю так
Я использую ClosedXMLExcel для создания файла Excel из DataTable