Классы. C#. Вывод результатов

340
10 января 2018, 15:38

Доброго вечера всем обитателем портала (форума). К экзамену были даны практические задания (краткие) по классам. Разбираясь с ними, столкнулся с проблемой в последнем пункте заданий, - нужно представить окончательный вывод для класса.

Надеюсь на вашу помощь. Задание и код, который удалось написать, оставляю ниже:

Описать класс с именем AER0FL0T, содержащий следующие поля: пункт назначения рейса; номер рейса; тип самолета. Разработать приложение для реализации следующих действий: создать объекты класса AER0FL0T с помощью перегруженных конструкторов класса; используя соответствующие методы класса получить информацию о пункте назначения, типе самолета или сообщение об отсутствии таких рейсов для введенного пользователем номер рейса. (именно в этой части задания возникла проблема с написанием кода. Без кода вроде понимаю, что нужно)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Экзамен2017_2018
{
class Aeroflot
{
    public string Type;
    public string Purpose;
    public int Number;
    public Aeroflot() { }
    public Aeroflot(string Name, string Place, int Numb)
    {
        Type = Name;
        Purpose = Place;
        Number = Numb;
    }
    Aeroflot A1 = new Aeroflot();
    Aeroflot A2 = new Aeroflot("Boeing-737-800", "London", 8991);
    string Name = "Boeing-737-800";
    string Place = "London";
    int Numb = 8991;
    Console.Write(string Name; string Place; int Numb;);       
}
}

Ошибки при компиляции:

1>c:\my documents\visual studio 2012\Projects\Экзамен2017_2018\Экзамен2017_2018\Program.cs(26,22,26,23): error CS1519: Недопустимый токен "(" в объявлении класса, структуры или интерфейса
1>c:\my documents\visual studio 2012\Projects\Экзамен2017_2018\Экзамен2017_2018\Program.cs(26,59,26,60): error CS1519: Недопустимый токен ")" в объявлении класса, структуры или интерфейса
Answer 1

Сделал, как понял. Возможно есть ошибки, сам ещё учусь

class Aeroflot
{
    private string point;
    private int number;
    private string type;
    public int getNumber
    {
        get
        {
            return number;
        }
    }
    public Aeroflot(string point, int number, string type)
    {
        this.point = point;
        this.number = number;
        this.type = type;
    }
    public string GetInfo()
    {
        return ("Type: " + type + ", path: " + point);
    }
}
class Program
{        
    static void Main(string[] args)
    {
        List<Aeroflot> planes = new List<Aeroflot>();
        planes.Add(new Aeroflot("London", 8991, "Boening-1"));
        planes.Add(new Aeroflot("Moscow", 3771, "Boening-2"));            
        int request = Int32.Parse(Console.ReadLine());
        string response = "";
        foreach(Aeroflot plane in planes)
        {
            if (plane.getNumber == request)
            {
                 response=plane.GetInfo();
                break;
            }                    
        }
        if(response!="")
            Console.WriteLine(response);
        else Console.WriteLine("Рейс по данному номеру отсутствует");
        Console.ReadKey();
    }
}   
Answer 2

Ваша ошибка в строке вывода.

Console.Write(string Name; string Place; int Numb;);

Вы пишите переменные с их типом и через ; и компилятор думает, что Вы инициализируете новый класс и т.д . Правильный вывод выглядит в Вашем варианте вот так:

  Console.Write(Name, Place, Numb);

Еще лучше сделать вот так:

string outputText = String.Format("Flight:{0}. Place:{1}. Numb:{2}"
            , Name
            , Place
            , Numb
            );
        Console.WriteLine(outputText);

или в последних версиях .Net Framework

    string outputText = $"Flight:{Name}. Place:{Place}. Numb:{Numb}";
    Console.WriteLine(outputText);
READ ALSO
Сервис по реверсу MD5

Сервис по реверсу MD5

Передо мной встала задача - реверс md5 хеша 4 произвольных байтТо есть, другими словами, мне надо написать сервис из 1 метода - метод получает...

259
Вернуть исходную позицию анимации

Вернуть исходную позицию анимации

Есть объект, который меняет свой scale в анимации, после animationStop(); анимация останавливается с тем размером, с которым в этот момент проигрывалась,...

240
Домены приложений, время жизни

Домены приложений, время жизни

Рихтер пишет, что так как у типов в другом домене нету корней, то в CLR пошли на хитрость: прокси объекты живут ~5 минут с момента последнего обращения,...

229