Санкт-Петербургский Государственный Политехнический Университет
Факультет переподготовки специалистов
Дисциплина: Современные технологии разработки
программного обеспечения
(MSVisual С++ .NET), (часть I)
Тема: Отчет по программному проекту № 2
Выполнил студент гр. 1\1 _______________ Тереханов В.В.
Руководитель, к. т. н., доц. ________________ Давыдов В.Г.
"____" ______________ 2005 г.
Санкт-Петербург
2005
1.Техническое задание:
Формулировка решаемой задачи:
n
Вычислить сумму ряда: y = Сумма { ((-1)^(a+1)/a }
a=1
Требования к программам:
Программа должна использовать структурированные операторы while, do-while, for и командную строку, проверять ОДЗ и правильность завершения стандартных функций.
Язык программирования:
С++
2.Текст программы
Исходный текст программного проекта приведен на листинге 2.1
Листинг 2.1
/*
Файл Project2.CPP
Проект : однофайловый с единственной функцией (главной)
Назначение : вычислить значения суммы ряда,
n
y := Сумма { ((-1)^(a+1)) /a };
a=1
Состав проекта : файл проекта Project2.VCPROJ;
файл Project2.CPP (главная функция);
файл argv [ 1 ] (файл данных) задается командной строкой;
файл argv [ 2 ] (файл результатов) задается командной
строкой
ЭВМ : Celeron 1000
Среда программирования : Microsoft Visual Studio C++ 7.0
Операционная система : Windows 2000
Дата создания : 01.12.2004
Дата корректировки : 09.01.2005
Тереханов В. В., каф. ФПС, гр. 1/1
Санкт-Петербургский государственный политехнический университет
*/
// Универсальный включаемый файл для "руссификации" консольного приложения
#include "rus7.h"
#include <cmath> // Для математических функций
int main( // Возвращает 0 при успехе
int argc, // ARGument Counter: число слов в командной строке
char *argv[ ] ) // ARGument Value: массив указателей на аргументы
// командной строки
{
// Обрабатываем ошибки в формате командной строки
if (argc!=3)
{
printf( "\n Ошибка 05. Непредусмотренный формат командной строки."
"\n Для запуска программы используйте командную строку вида:"
"\n Исполняемый_файл Файл_ввода Файл_вывода \n");
return 05;
}
unsigned int a , // Индекс слагаемых
n; // Увеличенное на 1 количество слагаемых
double y; // Сумма ряда
int retcode; // Возвращаемое значение для fscanf( )
FILE *f_in, // Указатель на структуру со сведениями о файле для
// чтения
*f_out; // Указатель на структуру со сведениями о файле для
// записи
Листинг 2.1. Продолжение.
// Открываем файл для чтения
if( ( f_in = fopen( argv [ 1 ], "r" ) ) == NULL )
{
printf( "\n Ошибка 10. Файл %s для чтения не открыт \n", argv [ 1 ] );
return 10;
}
// Читаем значения аргументов функции
retcode = fscanf( f_in, " %u", &n );
if( retcode != 1 )
{
printf( "\n Ошибка 20. Произошла ошибка чтения из файла %s \n", argv [ 1 ] );
return 20;
}
// Закрываем файл для чтения
if( fclose( f_in ) == EOF )
{
printf( "\n Ошибка 30. Файл %s не закрыт \n", argv [ 1 ] );
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.