Программирование с использованием структур и динамических массивов 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();
}
}
}
<>