Автор: Пользователь скрыл имя, 17 Ноября 2010 в 19:32, курсовая работа
Задание к работе
Разработать программу совместной обработки файлов типа F1 и F2 для формирования выходного документа типа F3.
1. Задание к работе 3
2. Ограничения на входные и выходные данные 4
2.1 Ограничения, накладываемые на входные данные, считываемые из первого файла: 4
2.2 Ограничения, накладываемые на входные данные, считываемые из второго файла: 4
2.3 Другие ограничения: 4
3. Структура целей разрабатываемой программы 4
4. Таблицы решений 5
4.1 ТР для функции “Проверка на корректность файла F1” 5
4.2 ТР для функции “Проверка на корректность файла F2” 6
4.3 ТР для функции “Формирование выходного файла” 6
5. Схема работы системы 7
5.1 Схема основной функции 7
5.2 Схема функции “Проверка на корректность файла F1” 8
5.3 Схема функции “Проверка на корректность файла F2” 12
5.4 Схема функции “Формирование выходного файла” 15
6. Тестирование программы 17
6.1 Тестирование функции “Проверка на корректность файла F1” 17
6.2 Тестирование функции “Проверка на корректность файла F2” 19
6.3 Тестирование функции “Формирование выходного файла” 22
7. Выводы 23
8. Список используемой литературы 24
Приложение А. Текст программы 25
Приложение Б. Результаты работы программы 31
}
if(!Chislo(snumpr))
{
printf
zcor=
}
if((strchr("
{
printf
error=
}
if(zcor)
{
p1 = (st2*) malloc(sizeof(st2));
sscanf
p1->
p1->
p2=
while(
{
}
{
}
if(p2=
{
}
else
{
}
}
else
{
error=
}
}
}
p1=beg2;
while(p1!=NULL)
{
p2=p1->next;
while(p2!=NULL)
{
if((p1->numgr!=p2->numgr)&&(
{
printf
error=
}
if((p1->
{
printf
error=
}
p2=p2->next;
}
p1=p1->next;
}
if(error)
printf("\
}
void MakeFile()
{
char fname[20];
FILE *F3;
printf("\nВведите имя выходного файла: ");
scanf("%s",&fname);
F3=fopen(fname,"w");
st2 *p1=beg2;
st1 *p2;
int numgr,numpr;
while(p1!=NULL)
{
numgr=p1->numgr;
fprintf(F3,"\
while(numgr==p1->
{
numpr=p1->numpr;
p2=beg1;
while(p2!=
{
if(p1-
{
}
p2=p2-
}
if(p2==NULL)
{
printf
}
else
{
p1=p1->next;
}
if(p1==NULL)
break;
}
}
printf("\nВыходной файл создан.\nДля завершения работы нажмите любую клавишу\n");
}
int KolPol(char* str)
{
int i=0;
int kol=0;
bool slovo=false;
while(str[i]!='\0')
{
if((str[i]==' ')||(str[i]=='\t'))
slovo=false;
else
if(!slovo)
{
slovo=
kol++;
}
i++;
}
return kol;
}
bool Chislo(char snum[])
{
for(int i=0; i<strlen(snum); i++)
if(!isdigit(snum[
return false;
if(strcmp(snum,"0")==
return false;
else
return true;
}
bool Correct(char str[], char sym[])
{
for(int i=0; i<strlen(str); i++)
if(strchr(sym,str[
return false;
return true;
}
Рис 1 - Пример успешного выполнения программы.