Получение практических навыков в разработке и реализации задач на языке программирования высокого уровня С++, страница 2

// и возвращает их значения

void readArray();               // Функция, предлагающая ввести 15 //чисел в массив numbers

void readFromFile();             // Функция, считывающая массив из //файла infile.txt

void sum();                      // Функция, которая суммирует все //значения массива numbers,

                            // а также записывает результаты //суммирования в файл sumfile.txt

void changeItem();          // Функция изменяет выбранный элемент //массива

void saveArray();           // Функция, которая сохраняет массив в                         //виде матрицы в файл matrix.txt

void menu();             // Функция, которая выводит на экран меню                                

void showArray();              // Функция, которая выводит текущий //массив на экран

int main()

{

setlocale(LC_ALL, "Russian");

int choice=0;

cout << "Выберите пункт меню и нажмите Enter" << endl;

while (choice != 5)

{

menu();

showArray();

choice=checkInt(choice);

switch (choice)

{

case 1:

{

readArray();

break;

}

case 2:

{

readFromFile();

break;

}

case 3:

{

sum();

break;

}

case 4:

{

changeItem();

break;

}

case 5:

{

saveArray();

sumfile.close();

break;

}

default:

cout << "Неверный пункт";

_getch();

break;

}

system("cls");

}

return 0;

}

int checkInt(int input)     

{

while (!(cin >> input))

{

cin.clear();

while (cin.get() != '\n');

cout << "Ошибка! Введите целое число!" << endl;

}

return input;

}

void readArray()                  

{

cout << "Введите 15 чисел, разделяя их нажатием клавиши Enter" << endl;

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

{

numbers[i] = checkInt(numbers[i]);

}

}

void readFromFile()                

{

ifstream infile("C:\\Users\\Иван\\Documents\\infile.txt");

if (!infile)

{

cout << "Ошибка открытия файла!";

}

else{

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

{

infile >> numbers[i];

}

}

infile.close();

}

void sum()                           

{                                    

int sum = 0;

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

{

sum += numbers[i];

}

cout << "Сумма элементов массива: " << sum << endl;

if (!sumfile.is_open())

{

sumfile.open("C:\\Users\\Иван\\Documents\\sumfile.txt");

}

if (!sumfile)

{

cout << "Ошибка открытия файла!";

}

else{

sumfile << sum << endl;

}

_getch();

}

//

void changeItem()                          

{

int index = 0;

cout << "Введите индекс изменяемого элемента (0-14)" << endl;

index = checkInt(index);

cout << "Введите новое значение элемента" << endl;

numbers[index] = checkInt(numbers[index]);

}

void saveArray()                            

{

ofstream outfile("C:\\Users\\Иван\\Documents\\matrix.txt");

if (!outfile)

{

cout << "Ошибка открытия файла!";

}

else{

for (int j = 0; j < 5; j++)

{

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

{

outfile << numbers[j * 3 + i] << "  ";

}

outfile << endl;

}

}

outfile.close();

}

void menu()                                           

{

cout << "Меню:" << endl

<< "1) Считать массив с клавиатуры" << endl

<< "2) Считать массив из файла" << endl

<< "3) Рассчитать сумму элементов массива" << endl

<< "4) Изменить значение элемента" << endl

<< "5) Сохранить и выйти" << endl;

}

void showArray()                                      

{

cout << "Ваш массив: { ";

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

{

cout << numbers[i] << ", ";

}

cout << numbers[14];

cout << " }" << endl;

}

7. Руководство пользователя

Общие сведения:

Наименование – Курсовая.exe

Выполнена в среде разработки Microsoft Visual Studio Ultimate 2013, v 12.

Рекомендуемые системные требования:

·  Операционная система семейства Windows.

·  1 Мб свободного места на жёстком диске.

Для работы с программой пользователь должен:

1)  Запустить программу.

2)  Следовать инструкциям на экране.

8. Заключение

Данная работа показала важность умения анализировать условие задачи, сравнивать и сопоставлять различные методы, и выбирать наиболее подходящие для решения задачи.

В процессе разработки программы были получены практические навыки, что позволило закрепить знания, приобретенные по дисциплине «Алгоритмизация и программирование».

9. Список литературы

1. Павловская Т. А. C/C++. Программирование на языке высокого уровня. — СПб.: Питер, 2013. – 461 с.

2. Павловская Т. А. C/C++. Структурное и объектно-ориентированное программирование: Практикум. — СПб.: Питер, 2010. – 352 с.

3. Курс лекций по дисциплине «Алгоритмизация и программирование».