// и возвращает их значения
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. Курс лекций по дисциплине «Алгоритмизация и программирование».
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.