Программирование с использованием структур и динамических массивов C++

Untitled

УЗБЕКСКОЕ АГЕНТСТВО СВЯЗИ И ИНФОРМАТИЗАЦИИ

ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

<

По предмету: Объектно-ориентированные языки программирования

На теме: «Программирование с использованием структур и динамических массивов»

Выполнил: студент гр. 226-08 ИТрКурганов Б. Б.

Принял: Кабулов Р. В.

Ташкент 2010

Цель:

Получить навыки программирования с использованием структур и динамических массивов.

Постановка задачи:

1. Создать структуру, указанную в варианте, создать функцию ввода и вывода и протестировать.

2. Создать динамический массив структурного типа и реализовать ввод и вывод массива.

3. Создать несколько функций для вывода на основе заданных критериев и реализовать в программе.

2

АБИТУРИЕНТ (имя, дата, балл, средний балл)

ИНСТИТУТ

Функции:

public void Input()

public void Output()

static void filterCal(bludo[] arr, int size, double ccal)

Ввод данных

Вывод данных

Вывод товаров, с ценой выше указанной.

Листинг программы:

using System;

using System.Collections.Generic;

using System.Text;

namespace labka3

{

class Program

{

//Функция ввода данных

public struct player

{

public string Name;

public double date;

public double ball;

public double avarage;

public void Input()

{

Console.Write("Имя - "); Name = Console.ReadLine();

Console.Write("Дата - "); date = Convert.ToDouble(Console.ReadLine());

Console.Write("Балл - "); ball = Convert.ToDouble(Console.ReadLine());

Console.Write("Ср. балл - "); avarage = Convert.ToDouble(Console.ReadLine());

Console.WriteLine();

}

//Функция вывода данных

public void Output()

{

Console.WriteLine("\nИмя: {0}", Name);

Console.WriteLine("Дата: {0}", date);

Console.WriteLine("Балл: {0}", ball);

Console.WriteLine("Ср. балл: {0}", avarage);

}

}

//Запрос

static void filterAge(player[] arr, int size, double cavarage)

{

for (int i = 0; i < size; i++)

{

if (arr[i].avarage == cavarage)

arr[i].Output();

}

}

//Главная функция

static void Main(string[] args)

{

Console.WriteLine("\t\t\t Студент");

int n;

Console.Write("Введите количество студентов - "); n = Convert.ToInt32(Console.ReadLine());

player[] player_arr;

player_arr = new player[n];

for (int i = 0; i < n; i++)

player_arr[i].Input();

for (int i = 0; i < n; i++)

player_arr[i].Output();

Console.WriteLine("Нажмите любую клавишу, чтобы перейти дальше");

Console.ReadKey();

Console.Clear();

Console.WriteLine("\t\t\t Запросы");

double Ccal;

Console.Write("Найти студентов со средней оценкой = ");

Ccal = Convert.ToDouble(Console.ReadLine());

filterAge(player_arr, n, Ccal);

Console.ReadKey();

}

}

}

Результаты:

<>

2. Создать структуру из четырех полей, создать функцию ввода и вывода. Создать функции для реализации запроса с использованием функций и группировки. Создать динамический массив структурного типа и реализовать ввод массива и выполнение запросов на основе заданных критериев.

using System;

using System.Collections.Generic;

using System.Text;

namespace labka3

{

class Program

{

//Функция ввода данных

public struct player

{

public string Name;

public string vid;

public string vid2;

public double age;

public void Input()

{

Console.Write("Название - "); Name = Console.ReadLine();

Console.Write("Адрес - "); vid = Console.ReadLine();

Console.Write("Ректор - "); vid2 = Console.ReadLine();

Console.Write("Тел - "); age = Convert.ToDouble(Console.ReadLine());

Console.WriteLine();

}

//Функция вывода данных

public void Output()

{

Console.WriteLine("\nНазвание: {0}", Name);

Console.WriteLine("Адрес: {0}", vid);

Console.WriteLine("Ректор: {0}", vid2);

Console.WriteLine("Тел: {0}", age);

}

}

//Запрос

static void filterAge(player[] arr, int size, double cage, string cage2)

{

for (int i = 0; i < size; i++)

{

if (arr[i].age == cage || arr[i].Name == cage2)

arr[i].Output();

}

}

//Главная функция

static void Main(string[] args)

{

Console.WriteLine("\t\t\t Структура с заданным количеством элементов");

int n;

Console.Write("Введите институтов - "); n = Convert.ToInt32(Console.ReadLine());

player[] player_arr;

player_arr = new player[n];

for (int i = 0; i < n; i++)

player_arr[i].Input();

for (int i = 0; i < n; i++)

player_arr[i].Output();

Console.WriteLine("Нажмите любую клавишу, чтобы перейти дальше");

Console.ReadKey();

Console.Clear();

Console.WriteLine("\t\t\t Запросы");

double Ccal;

string Ccal2;

Console.WriteLine("Введите тел а затем название института.");

Ccal = Convert.ToDouble(Console.ReadLine());

Ccal2 = Console.ReadLine();

filterAge(player_arr, n, Ccal, Ccal2);

Console.ReadKey();

}

}

}

<>