Новичок
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.5.2015
Репутация: нет Всего: нет
|
Всем привет!Помогите построить блок-схему Код | #include "ReportArchiv.h"
// Обработка архива изделий и формирование отчетов //-----------------------------------------WorkUpArchive()
void WorkUpArchive() { char Sr[80]; unsigned char Cond=0; int i,j,k=-1,m,np,kmin,kmax,mmax,kr; char Kod[6]; char Rodina[6]; char Sname[80]; char St[100],Sw[80],s[80]; DynSport *Lp,*Rp; // указатель DynSport *Run,*run1 ,*run2 ; // текущий указатель
SportType Sport; if ( ! SignArchive ) // архив не создан { printf("Архивный файл не создан. Режим отменяется"); return; } ReadFileOut(&np,&Lp,&Rp); //Формирование архивa // //ПЕЧАТЬ СВЕДЕНИй О ВЫПОЛНЕНИИ ПЛАНА k=0; Run=Lp;
// //печать заголовка таблицы WritelnString( "\n АРХИВ СВЕДЕНИЙ О СОРТСМЕНАХ С ВОЗРАСТОМ > 21" ); WritelnString( "| ----------------------------------------------------------------------------| "); WritelnString( "| N|Код |Фамилия имя |Стра-|Дата |Возраст |Рейтинг |Количество |" ); WritelnString( "| | | | на | рождения | | |выступлений|"); WritelnString( "|-----------------------------------------------------------------------------|"); mmax=0; m=0; // //Печать строк таблицы while (Run!=NULL) { //поиск сведений по заданному цеху if (Run->Inf.Vozr>21 && Run->Inf.Kol>=4 ) {
m++; //для колонки номер по порядку sprintf(St,"|"); sprintf(Sw,"%2d",m); strcat(St,Sw); strcat(St,"|"); strncpy(Kod,Run->Inf.Kod,5); Kod[5]='\0'; strcat(St,Kod); strcat(St," |"); k=SearchKodif(Kod,nk);//поиск кода изделия в кодификаторе if (k>-1) //код найден, печатается наименование { sprintf(Sw,"%s",Kodifs[k].Name); Sw[18]='\0';} else //код не найден, печатается строка пробелов sprintf(Sw," | "); strcat(St,Sw); strcat(St,"|"); strncpy(Rodina,Run->Inf.Rodina,4); Rodina[4]='\0'; strcat(St,Rodina); strcat(St," |"); sprintf(Sw,"%d",Run->Inf.God); strcat(St,Sw); strcat(St,"."); sprintf(Sw,"%0.2d",Run->Inf.Data); strcat(St,Sw); strcat(St,"."); sprintf(Sw,"%0.2d",Run->Inf.Mesac); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Vozr); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Reyting); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Kol); strcat(St,Sw); strcat(St," |"); WritelnString(St); } Run=Run->Next; } WritelnString("|-----------------------------------------------------------------------------| ");
wait_press_key("\nДля продолжения нажмите любую клавишу\n");
{ ReadFileOut(&np,&Lp,&Rp); //Формирование архивa // //ПЕЧАТЬ СВЕДЕНИй О ВЫПОЛНЕНИИ k=0; Run=Lp;
// //печать заголовка таблицы WritelnString( "\n АРХИВ СВЕДЕНИЙ О СОРТСМЕНАХ " ); WritelnString( "|-----------------------------------------------------------------------------| "); WritelnString( "| N|Код |Фамилия имя |Стра-|Дата |Возраст |Рейтинг |Количество |" ); WritelnString( "| | | | на | рождения | | |выступлений|"); WritelnString( "|-----------------------------------------------------------------------------|"); mmax=0; m=0; // //Печать строк таблицы Run=Lp; for ( run1=Lp; run1->Next!=NULL; run1=run1->Next ) { for ( run2=run1->Next; run2!=NULL; run2=run2->Next ) if (run2->Inf.Reyting> run1->Inf.Reyting ) // Идет сравнение строк { Sport=run1->Inf; run1->Inf=run2->Inf; run2->Inf= Sport; } } while (Run!=NULL) { // if (Run->Inf.Reyting>499 ) { //Подсчет плановых и фактических показателей // if (Run->Inf.Reyting>499 ) m++; //для колонки номер по порядку sprintf(St,"|"); sprintf(Sw,"%2d",m);if(m>5){break;} strcat(St,Sw); strcat(St,"|"); strncpy(Kod,Run->Inf.Kod,5); Kod[5]='\0'; strcat(St,Kod); strcat(St," |"); k=SearchKodif(Kod,nk);//поиск кода изделия в кодификаторе if (k>-1) //код найден, печатается наименование { sprintf(Sw,"%s",Kodifs[k].Name); Sw[18]='\0';} else //код не найден, печатается строка пробелов sprintf(Sw," | "); strcat(St,Sw); strcat(St,"|"); strncpy(Rodina,Run->Inf.Rodina,4); Rodina[4]='\0'; strcat(St,Rodina); strcat(St," |"); sprintf(Sw,"%d",Run->Inf.God); strcat(St,Sw); strcat(St,"."); sprintf(Sw,"%0.2d",Run->Inf.Data); strcat(St,Sw); strcat(St,"."); sprintf(Sw,"%0.2d",Run->Inf.Mesac); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Vozr); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Reyting); strcat(St,Sw); strcat(St," | "); sprintf(Sw,"%2.2lf",Run->Inf.Kol); strcat(St,Sw); strcat(St," |"); WritelnString(St); }
Run=Run->Next; } WritelnString("|-----------------------------------------------------------------------------| ");
DisposeSport(Lp, Rp); printf("Обработка архива закончена");
} wait_press_key("\nДля продолжения нажмите любую клавишу\n"); }//-----------WorkUpArchive()
|
|