Разработка программного обеспечения для создания и обработки сведений справочника абитуриента
Учёт и обработка запросов пользователей справочника по поиску нужного вуза и конкурсу для каждого факультета. Обеспечение сортировки информации по заданному критерию. Создание и тестирование программы для абитуриента в среде разработки Visual Studio 2019.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.06.2021 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
for (int i = 0; i < k; i++) {
W[i] = new abiturient();
W[i].EnterInFile(br);
}
br.close();
}
if (v == 2)
{
for (int i = 0; i < k; i++)
{
W[i] = new abiturient();
W[i].enter();
}
}
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\Output.txt"));//открытие файла для записи
for (int i = 0; i < k; i++)
W[i].diskOut(bw);
bw.close();
System.out.println(" Создан файл с данной структурой!\nD:\\Output.txt\n");
System.out.println(" Содержимое файла: ");
BufferedReader br = new BufferedReader(new FileReader("D:\\Output.txt"));
for (int i = 0; i < k; i++)
{
W[i].diskIn(br); //печать текста из файла
}
br.close();//закрытие файла
}
catch (Exception e)
{ System.out.println("Ошибка чтения из файла " + e);
check=false;}
} while (!check);
do {
do {
try{
check = true;
System.out.print( "\n Выбирите действие\n 1. Выдать наименование ВУЗА, конкурс которого не выше заданного \n 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экранx");
System.out.print( "\n 3. Добавить вуз \n 4. Записать данные в файл \n 5. Вывести данные на экран ");
System.out.print( "\n 6. Удалить запись с указаным наименованием вуза \n 7. Изменение количества факультетов для ВУЗа \n 10. Завершить программу\n -");
v = numberFormatCheck();
if (v == 1)
{
System.out.print( "Введите балл: ");
B = numberFormatCheck();
System.out.print( "\n ВУЗы балл факультетов котороых не привышает заданный: \n");
for (int i = 0; i < k; i++)
{
W[i].ball_sort(B);
}
}
if (v == 2)
{
BufferedWriter bw1 = new BufferedWriter(new FileWriter("D:\\Output_NAME_ADRES.txt"));
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].File_Name_Adres(bw1);
System.out.print( "\n Создан файл с наименованием и адресом вузов!\n" );
bw1.close();
BufferedReader br1 = new BufferedReader(new FileReader("D:\\Output_NAME_ADRES.txt"));
for (int i = 0; i < k; i++)
{
W[i].diskIn_adres(br1); //печать текста из файла(aдрес, наименование)
}
br1.close();//закрытие файла
}
if (v == 3)
{
int i, j, q = 0;//j-кол-во добавляемых q-общее кол-во
System.out.print( "Колличество добавляемых вузов: ");
j = numberFormatCheck();
q = k + j;
abiturient[] W1 = new abiturient[q];
for (i = 0; i < k; i++)
{
W1[i] = W[i];
}
for (i = k; i < q; i++)
{
W1[i] = new abiturient();
W1[i].enter();
}
W = new abiturient[q];
System.arraycopy(W1, 0, W, 0, W.length);
k = q;
}
if (v == 4)
{
BufferedWriter bw2 = new BufferedWriter(new FileWriter("D:\\Output.txt"));
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].diskOut(bw2);
System.out.print("\n Создан файл с данной структурой!\n" );
bw2.close();
}
if (v == 5)
{
for (int i = 0; i < k; i++)
{
W[i].output();
}
}
int buff=0, buff1=0;
if (v == 6)
{Scanner cin1 = new Scanner(System.in);
String buff_name;
System.out.print( "Введите название удаляемого вуза: ");
buff_name= cin1.nextLine();
for (int i = 0; i < k; i++)
{
buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощю метода
if (buff == 1)
{
buff1 = i;
break;
}
else if (i == k - 1 & buff == 2)
{
System.out.print( "\n Вуз не найден");
}
}
if (buff == 1) {
System.out.print( "Выбраный вуз: ");
W[buff1].output();
abiturient[] W2 = new abiturient[k-1];
for (int i = 0; i < buff1; i++)
{
W2[i] = W[i];
}
for (int i = buff1; i < k - 1; i++)
{
W2[i] = W[i + 1];
}
W = new abiturient[k-1];
System.arraycopy(W2, 0, W, 0, W.length);
k = k - 1;
System.out.print( "\n Вуз удален \n");
}
}
if (v == 7)
{Scanner cin = new Scanner(System.in);
boolean check1=true;
String buff_name;
int qty_buff;
System.out.print( "Введите наименование вуза в котором нужно изменить количество во факультетов: ");
buff_name = cin.nextLine();
for (int i = 0; i < k; i++)
{
buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощю метода
if (buff == 1)
{
buff1 = i;
break;
}
else if (i == k - 1 & buff == 2)
{
System.out.print( " Вуз не найден\n");
check1 = false;
}
}
if (check1 == true) {
System.out.print( "Введите новое количество факультетов: ");
buff = numberFormatCheck();//новое кол-во факультетов
qty_buff = W[buff1].qty_in_this_moment();//старое кол-во
if (qty_buff > buff)
{
W[buff1].edit_f(buff);
}
else
{
W[buff1].add_f(buff, qty_buff);
}
BufferedWriter bw3 = new BufferedWriter(new FileWriter("D:\\Output.txt"));
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].diskOut(bw3);
System.out.print( "\n Создан файл с данной структурой!\n");
bw3.close();
}
}
else if (v > 7 & v != 10)
{
System.out.print( "Введена неверная команда");
}
}
catch (Exception e)
{ System.out.println("Ошибка чтения из файла " + e);
check=false;}
} while (!check);
} while (v!= 10);
}
}
Приложение В
Исходный код программы на C#
using System;
using System.Numerics;
using System.Collections.Generic;
using System.IO;
namespace sharp
{
class abiturient
{
static int numberFormatCheck()
{
int number = 0;
bool check;
do
{
check = true;
try
{
number = Convert.ToInt32(Console.ReadLine());
}
catch (FormatException)
{
Console.WriteLine("Нужно ввести целое число. Введите снова - ");
check = false;
}
} while (!check);
return number;
}
private String name;//название
private String adres;//адрес
private int qty;//кол-во факультетов
private List<string> f_name = new List<string>();//факультеты
private List<int> ball = new List<int>();//балл факультета
public abiturient()
{//конструктор класса
name = "-";
adres = "-";
qty = 0;
}
public abiturient(String name1, String adres1, int qty1, List<int> ball1, List<String> f_name1) // конструктор с параметром
{
name = name1;
adres = adres1;
qty = 0;
ball = ball1;
f_name = f_name1;
}
public void diskOut(StreamWriter bw) //метод вывода в файл
{
bw.WriteLine(name );
bw.WriteLine(adres );
bw.WriteLine(qty );
for (int i = 0; i < qty; i++)
{
bw.WriteLine(f_name[i] );/////////////////////////////////////////////////////
bw.WriteLine(ball[i] );//////////////////////////////////////////////////////
}
}
public void diskIn(StreamReader br)//метод печати файла
{
String buffer;//временная переменная для вывод
buffer = br.ReadLine(); //имя
Console.WriteLine("\nНаименование: " + buffer);
buffer = br.ReadLine();
Console.WriteLine(" Адрес: " + buffer);
buffer = br.ReadLine();
Console.WriteLine(" Кол-во факультетов: " + buffer);
for (int i = 0; i < qty; i++)
{
buffer = br.ReadLine();
//fin.ignore();
Console.WriteLine(" Название факультета: " + buffer);
buffer = br.ReadLine();
//fin.ignore();
Console.WriteLine(" Балл факультета: " + buffer);
}
}
public void EnterInFile(StreamReader br) //метод ввода из файла
{
int buffer1;
String buffer;
//fin.ignore();//игнорирование \n
name=br.ReadLine();
adres=br.ReadLine();
qty= int.Parse(br.ReadLine());
//fin.ignore();
for (int i = 0; i<qty; i++)
{
buffer=br.ReadLine();
f_name.Add(buffer);//добавление записи в vector
buffer1= int.Parse(br.ReadLine());
ball.Add(buffer1);
}
}
public void enter()//метод для ввода
{
int buffer1;
String buffer;
Console.WriteLine("Введите вуз: ");
name = Console.ReadLine();
Console.WriteLine("Введите адрес: ");
adres = Console.ReadLine();
Console.WriteLine("Колличество факультетов: ");
qty = numberFormatCheck();
for (int i = 0; i < qty; i++)
{
Console.WriteLine("Название факультета: ");
buffer = Console.ReadLine();
f_name.Add(buffer);
Console.WriteLine("Проходной балл: ");
buffer1 = numberFormatCheck();
ball.Add(buffer1);
}
}
public void output()//печать данных в консоль
{
Console.WriteLine("\n Наименование: " + name);
Console.WriteLine(" Адрес: " + adres);
Console.WriteLine(" Кол-во факультетов: " + qty);
for (int i = 0; i < qty; i++)
{
Console.WriteLine(" Название факультета: " + f_name[i] + " Балл факультета: " + ball[i]);
}
}
int x;
public void ball_sort(int B)//вывод только тех факультетов, которые соответствуют заданному параметру
{
int buffer;
bool c = true;
for (int i = 0; i < qty; i++)
{
if (i == 0)
{
x = 0;
}
buffer = ball[i];
if (buffer < B)
{
c = true;
}
if (buffer > B)
{
x = x + 1;
c = false;
if ((x == qty) && (c == false))
{
Console.WriteLine("Нет ВУЗов соответствующих заданому параметру");
}
return;
}
}
if (c == true)
{
Console.WriteLine(name + " ");
}
}
public void File_Name_Adres(StreamWriter bw) //метод вывода в файл
{
bw.WriteLine(name);
bw.WriteLine(adres);
}
public void diskIn_adres(StreamReader br) //метод вывода в файл
{
String buffer;//временная переменная для вывода
buffer=br.ReadLine(); //имя
Console.WriteLine(" Наименование: " + buffer);
buffer=br.ReadLine();
Console.WriteLine(" Адрес: " + buffer);
}
public int delete_v(String buff_name)//поиск по наименованию вуза в массиве объектов
{
if (String.Equals(buff_name,name))
{
return 1;
}
else return 2;
}
public void edit_f(int buff1)//изменение размера вектора(факультетов)(для значений меньше текущего)
{
for (int i = qty-1; i > buff1; i--)
{
f_name.RemoveAt(i);
ball.RemoveAt(i);
}
qty = buff1;
}
public int qty_in_this_moment()//возращает текущее кол-во факультетов вуза
{
return qty;
}
public void add_f(int NEW, int OLD)//получает новое и старое кол-во факультетов, заполняет недостающие факультеты(случай, когда кол-во факультетов больше текущего)
{
int buffer1;
String buffer;
qty = NEW;
for (int i = OLD; i < NEW; i++)
{
Console.WriteLine("Название факультета: ");
buffer = Console.ReadLine();
f_name.Add(buffer);
Console.WriteLine("Проходной балл: ");
buffer1 = numberFormatCheck();
ball.Add(buffer1);
}
}
};
class Program
{
static int numberFormatCheck()
{
int number = 0;
bool check;
do
{
check = true;
try
{
number = Convert.ToInt32(Console.ReadLine());
}
catch (FormatException)
{
Console.WriteLine("Нужно ввести целое число. Введите снова - ");
check = false;
}
} while (!check);
return number;
}
static void Main(string[] args)
{
int k, v, B = 0;
Console.WriteLine("Введите колличество вузов: ");
k = numberFormatCheck();
abiturient[] W = new abiturient[k];
bool check;
do
{
check = true;
try
{
Console.WriteLine("Выбирите действие\n 1. Ввести данные с файла \n 2. Ввести данные с клавиатуры\n -");
v = numberFormatCheck();
if (v == 1)
{
StreamReader br1 = new StreamReader("D:\\Input.txt", System.Text.Encoding.Default);//открытие файла для чтения
for (int i = 0; i < k; i++)
{
W[i] = new abiturient();
W[i].EnterInFile(br1);
}
br1.Close();
}
if (v == 2)
{
for (int i = 0; i < k; i++)
{
W[i] = new abiturient();
W[i].enter();
}
}
StreamWriter bw = new StreamWriter("D:\\Output.txt", false, System.Text.Encoding.Default);//открытие файла для записи
for (int i = 0; i < k; i++)
W[i].diskOut(bw);
bw.Close();
Console.WriteLine(" Создан файл с данной структурой!\nD:\\Output.txt\n");
Console.WriteLine(" Содержимое файла: ");
StreamReader br = new StreamReader("D:\\Output.txt", System.Text.Encoding.Default);
for (int i = 0; i < k; i++)
{
W[i].diskIn(br); //печать текста из файла
}
br.Close();//закрытие файла
}
catch (Exception e)
{ Console.WriteLine(e.Message);
check = false;
}
} while (!check);
do
{
check = true;
try
{
do
{
check = true;
Console.WriteLine("\n Выбирите действие\n 1. Выдать наименование ВУЗА, конкурс которого не выше заданного \n 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экранx");
Console.WriteLine(" 3. Добавить вуз \n 4. Записать данные в файл \n 5. Вывести данные на экран ");
Console.WriteLine(" 6. Удалить запись с указаным наименованием вуза \n 7. Изменение количества факультетов для ВУЗа \n 10. Завершить программу\n -");
v = numberFormatCheck();
if (v == 1)
{
Console.WriteLine("Введите балл: ");
B = numberFormatCheck();
Console.WriteLine(" ВУЗы балл факультетов котороых не привышает заданный: ");
for (int i = 0; i < k; i++)
{
W[i].ball_sort(B);
}
}
if (v == 2)
{
StreamWriter bw1 = new StreamWriter("D:\\Output_NAME_ADRES.txt", false, System.Text.Encoding.Default);
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].File_Name_Adres(bw1);
Console.WriteLine("\n Создан файл с наименованием и адресом вузов!\n");
bw1.Close();
StreamReader br2 = new StreamReader("D:\\Output_NAME_ADRES.txt", System.Text.Encoding.Default);
for (int i = 0; i < k; i++)
{
W[i].diskIn_adres(br2); //печать текста из файла(aдрес, наименование)
}
br2.Close();//закрытие файла
}
if (v == 3)
{
int i, j, q = 0;//j-кол-во добавляемых q-общее кол-во
Console.WriteLine("Колличество добавляемых вузов: ");
j = numberFormatCheck();
q = k + j;
abiturient[] W1 = new abiturient[q];//создание временного массива
for (i = 0; i < k; i++)
{
W1[i] = W[i];
}
for (i = k; i < q; i++)
{
W1[i] = new abiturient();
W1[i].enter();
}
System.Array.Resize(ref W, q);
for ( i = 0; i < q; i++)
{
W[i] = W1[i];
}
k = q;
}
if (v == 4)
{
StreamWriter bw2 = new StreamWriter("D:\\Output.txt", false, System.Text.Encoding.Default);
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].diskOut(bw2);
Console.WriteLine("Создан файл с данной структурой!\n");
bw2.Close();
}
if (v == 5)//вывод в консоль
{
for (int i = 0; i < k; i++)
{
W[i].output();
}
}
int buff = 0, buff1 = 0;
if (v == 6)
{
String buff_name;
Console.WriteLine("Введите название удаляемого вуза: ");
buff_name = Console.ReadLine();
for (int i = 0; i < k; i++)
{
buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощю метода
if (buff == 1)
{
buff1 = i;
break;
}
else if (i == k - 1 & buff == 2)
{
Console.WriteLine("\n Вуз не найден");
}
}
if (buff == 1)
{
Console.WriteLine("Выбраный вуз: ");
W[buff1].output();
abiturient[] W2 = new abiturient[k - 1];
for (int i = 0; i < buff1; i++)
{
W2[i] = W[i];
}
for (int i = buff1; i < k - 1; i++)
{
W2[i] = W[i + 1];
}
System.Array.Resize(ref W, k-1);
for (int i = 0; i < k-1; i++)
{
W[i] = W2[i];
}
k = k - 1;
Console.WriteLine("\n Вуз удален ");
}
}
if (v == 7)
{
bool check1 = true;
String buff_name;
int qty_buff;
Console.WriteLine("Введите наименование вуза в котором нужно изменить количество во факультетов: ");
buff_name = Console.ReadLine();
for (int i = 0; i < k; i++)
{
buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощю метода
if (buff == 1)
{
buff1 = i;
break;
}
else if (i == k - 1 & buff == 2)
{
Console.WriteLine(" Вуз не найден\n");
check1 = false;
}
}
if (check1 == true)
{
Console.WriteLine("Введите новое количество факультетов: ");
buff = numberFormatCheck();//новое кол-во факультетов
qty_buff = W[buff1].qty_in_this_moment();//старое кол-во
if (qty_buff > buff)
{
W[buff1].edit_f(buff);
}
else
{
W[buff1].add_f(buff, qty_buff);
}
StreamWriter bw3 = new StreamWriter("D:\\Output.txt", false, System.Text.Encoding.Default);
for (int i = 0; i < k; i++) //записываются данные каждого вуза
W[i].diskOut(bw3);
Console.WriteLine("\n Создан файл с данной структурой!\n");
bw3.Close();
}
}
else if (v > 7 & v != 10)
{
Console.WriteLine("Введена неверная команда");
}
} while (v != 10);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
check = false;
}
} while (!check);
}
}
}
Размещено на Allbest.ru
Подобные документы
Освоение функций работы со структурами данных и файлами. Разработка программного обеспечения для создания, обработки сведений о сотрудниках учреждения. Реализация алгоритма программы в среде Microsoft Visual Studio 2010. Изучение руководства пользователя.
курсовая работа [3,3 M], добавлен 28.08.2012История развития справочников/баз данных. Основные параметры, необходимые для создания справочника по предприятию. Разработка интерфейса программы в среде CSharp. Детальный просмотр функций программы. Системные требования к ПК и руководство пользователя.
курсовая работа [3,2 M], добавлен 11.04.2012Обзор существующего программного обеспечения. Структура и отличительные особенности формата MP3. Сокеты TCP/IP, клиент-сервер. Язык программирования Visual Basic.net в среде разработки Visual Studio 2008. Разработка приложения "MP3_Catalogizator".
дипломная работа [2,1 M], добавлен 09.02.2015Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.
курсовая работа [1,0 M], добавлен 03.07.2016Технология разработки и тестирования программного обеспечения в среде Visual Studio на примере создания программы моделирования систем массового обслуживания. Аналитические и имитационные методы моделирования с разными дисциплинами обслуживания заявок.
дипломная работа [1,1 M], добавлен 09.09.2012Характеристика работы Алтайского филиала телекоммуникаций "Сибирьтелеком". Разработка программы для автоматизации работы телефонного справочника. Основные функции программного продукта: хранение, обработка, ввод и редактирование информации об абонентах.
дипломная работа [6,0 M], добавлен 07.06.2012Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки.
курсовая работа [1,5 M], добавлен 06.02.2013Структура данных с указанием типов. Общая структурная схема программы. Алгоритмы сортировки вставками. Назначение make-файла. Функции управления программой; перемещения и корректировки введенных данных и их удаления справочника, загрузки данных из файла.
курсовая работа [1,3 M], добавлен 12.01.2016Понятие информации и роль компьютерных и Интернет-технологий в современном мире. Плюсы и минусы внедрения ERP-систем. Языки программирования для разработки Web-приложений. Методология разработки интерактивного справочника. Расчёт эксплуатационных затрат.
дипломная работа [962,7 K], добавлен 13.10.2012