Контрольная работа по КПиЯП ч1
.docБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ЗВиДО
Специальность ПОИТ
Контрольная работа № 2
по дисциплине «Конструирование программ и языки программирования»
часть 1
Вариант № 27
Выполнил студент: Голубев А.В.
группа 801021
Зачетная книжка № 801021с-03
Минск 2009
Условие:
Дан текстовый файл А. Исключить пробелы, стоящие в концах его строк. Результат поместить в файл А1.
Программа на С
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#include <fstream.h>
#include <fcntl.h>
#include <io.h>
#include <conio.h>
int main (int argc, char **argv)
{
long i,j,k;
int count,A,A1;
char ch,str[1000];
clrscr();//Очистка экрана
printf("Программа открывает текстовый файл А, удаляет пробелы\n");
printf("в конце строк и записывает результат в текстовый файл А1 \n\n");
if ((A=open("A",O_RDONLY|O_TEXT))==-1)//открытие файла для чтения в текстовом режиме
{
cerr<< " Файл A не может быть открыт \n";//вывод сообщения в случае ошибки
exit(1);
};
printf("Файл А открыт \n");
if ((A1=open("A1",O_WRONLY|O_CREAT|O_TEXT))==-1)//открытие файла для записи
{
cerr<< " Файл A1 не может быть открыт \n";//вывод сообщения в случае ошибки
close(A); //закрытие файла А
printf("Файл А закрыт \n");
exit(1);
};
printf("Файл А1 открыт \n");
printf("Содержание информации исходного файл A \n");
count=filelength(A);//определение длины файла для чтения
j=0;//счетчик прочитанных байтов
for(i=0;i<count;i++)
{
read(A,&ch,1);//чтение байта
if (ch=='\n') //проверка на достижение конца строки
{
str[j]='\0';//занесение в строку нуль-терминатора
cout<<str<<"\n";//вывод прочитанной строки на экран
while ((str[j-1]==' ') && (j>0)) j--; //определение длины строки без последних пробелов
str[j]='\0';//изменение длины строки
write(A1,str,j);//вывод строки без пробелов в файл А1
write(A1,"\n",1); //вывод в файл А1 конца строки
j=0; //сброс счетчика длины строки
i++; //увеличение счетчика прочитанных байтов
}
else str[j++]=ch;//занесение очередного прочитанного символа в сроку
};
close(A); //закрытие файла А
printf("Файл А закрыт \n");
close(A1); //закрытие файла А1
printf("Файл А1 закрыт \n");
printf("Результат работы смотрите в файле А1 \n");
return 0;
}
Исходные данные файл А в текстовом и шестнадцатеричном представлениях
Копия экрана
Результирующий файл А1 в шестнадцатеричном представлении