лабы по плюсам, Павловская, Вариант 4. Задания Задание 1
Скачать 0.67 Mb.
|
1 2 9.3 Тестирование программы Результат работы программы приведен на рисунке 9.1. Рисунок 9.1 – Результат работы программы 10 Структуры Структура – тип данных, аналогичный классу, но имеющий ряд важных отличий от него: стркутура являеться значимым, а не ссылочным типом данных, то есть экземпляр структуры хранит значения своих элементов, а не ссылки на них, и распологается в стеке, а не в хипе; структура не может учавствовать в иерархиях наследования, она может толкьо реализовывать интерфейсы; в структуре запрещено определять конструктор по умолчанию, поскольку он определен неявно и присваивает всем её элементам значения по умолчанию (нули соотвествующего типа); в структуре запрещено определять деструкторы, поскольку это бессысленно. 10.1 Описание программы Описать структуру с именем AEROFLOT, содержащую следующие поля: название рейса; номер рейса; тип самолета. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в масив, состоящий из семи элементов типа AEROFLOT (записи должны быть упорядочены по возрастанию номера рейса); вывод на экран номеров рейсов и типо самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры (если таких рейсов не, вывести соотвествующее сообщение). 10.2 Текст программы Проект состоит из одного файла, предоставленного в листинге 10.1: Листинг 10.1 – Текст файла Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Laba10 { class Program { static void Main(string[] args) { //тестовые примеры AEROFLOT[] a = new AEROFLOT[7]; a[0] = new AEROFLOT("Moscow", 132, "Boing-712"); a[1] = new AEROFLOT("Berlin", 256, "Boing-334"); a[2] = new AEROFLOT("Paris", 029, "SuperJet-1F"); a[3] = new AEROFLOT("London", 221, "HardFlight"); a[4] = new AEROFLOT("New-York", 568, "SuperJet-3S"); a[5] = new AEROFLOT("Tokyo", 700, "OneAir"); //пример ввода с клавиатуры Console.WriteLine("Введите пункт назначения, номер рейса, и тип самолета через пробел:"); string input = Console.ReadLine(); input.Trim(); string[] words = input.Split(' '); a[6] = new AEROFLOT(words[0], int.Parse(words[1]), words[2]); //сортировка по возрастанию номера рейса int i = 0; while(i < 6) { if (a[i].number > a[i + 1].number) { AEROFLOT tmp = a[i]; a[i] = a[i + 1]; a[i + 1] = tmp; i = 0; } else { i++; } } //вывод на экран всех рейсов (отсортированно) Console.WriteLine("| Пункт назначения | Номер рейса | Тип самолета |"); foreach(AEROFLOT elem in a) { Console.WriteLine("|{0,18}|{1,13}|{2,14}|", elem.destination, elem.number, elem.type); } //поиск по пункту назначения Console.WriteLine("Введите название пункта назначения:"); input = Console.ReadLine(); int k = 0; foreach (AEROFLOT elem in a) { if (elem.destination == input) { Console.WriteLine("|{0,18}|{1,13}|{2,14}|", elem.destination, elem.number, elem.type); k++; } } if (k > 0) { Console.WriteLine("Было найдено {0} совпадений", k); } else { Console.WriteLine("Совпадений не найдено"); } } } struct AEROFLOT { public string destination; public int number; public string type; public AEROFLOT(string dest, int num, string tp) { destination = dest; number = num; type = tp; } } } 10.3 Тестирование программы Результат работы программы приведен на рисунке 10.1. Рисунок 10.1 – Результат работы программы Заключение Имеется много различных языков программирования. Вообще-то для решения большинства задач можно использовать любой из них. Опытные программисты знают, какой язык лучше использовать для решения каждой конкретной задачи, так как каждый из языков имеет свои возможности, ориентацию на определённые типы задач, свой способ описания понятий и объектов, используемых при решении задач. Подводя итоги, можно сказать, что были получены знания об основных языках программирования и работах с базами данных, операционных системах и оболочках, современных программных средах разработки информационных систем и технологий; сформированы навыки применения языков программирования и работы с базами данных, современных программных сред разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ, а также освоено владение навыками программирования, отладки и тестирования прототипов программнотехнических комплексов задач. Список использованных источников Павловская Т. А., C/C++. Структурное и объектно-ориентированное программирование: Практикум. — СПб.: Питер, 2011. — 352 с.: ил. — (Серия «Учебное пособие»). Павловская Т. А., C/C++. Процедурное и объектно-ориентированное программирование: Учебник для вузов. Стандарт 3-го поколения. — СПб.: Питер, 2015. — 496 с.: ил. — (Серия «Учебник для вузов»). Павловская Т. А., C#. Программирование на языке высокого уровня : Учебник для вузов. Стандарт 3-го поколения. — СПб.: Питер, 2009. — 432 с.: ил. — (Серия «Учебник для вузов»). 1 2 |