Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2017, 18:00   #1
Victoria123
 
Регистрация: 15.06.2014
Сообщений: 5
По умолчанию Как Допилить задачу, небольшие наработки есть. По результатам обследования предприятий выяснить процентное выполне

По результатам обследования предприятий выяснить процентное выполнение плана по персоналу. Для каждого предприятия известно: наименование предприятия, фактическая численность персонала (промышленного и непромышленного) и плановая численность всего персонала. Число предприятий не более 30. Результаты распечатать в виде таблицы:

Указания: Заполнить исходную таблицу и сортировать ее по уменьшению значений второго столбца. После этого в цикле, пока не откажется поль-зователь
• запрашивать нижнюю границу процента выполнения плана по персона-лу,
• копировать из исходной в рабочую таблицу строки с процентом выпол-нения плана по персоналу, большим заданного,
• выявлять предприятие с наименьшей долей непромышленного персо-нала и запоминать его наименование,
• выдавать сведения о предприятиях.

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "stdio.h"
#include "string.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------



void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->Cells[0][0]="В№";
StringGrid1->Cells[0][1]="ГЇ/ГЇ";
StringGrid1->Cells[1][0]="ГЌГ*èìåГ*îâГ*Г*ГЁГҐ";
StringGrid1->Cells[1][1]="Ïðåäïðèÿòèÿ";
StringGrid1->Cells[2][0]="Âñåãî";
StringGrid1->Cells[2][1]="ïåðñîГ*Г*Г«Г* ГЇГ® ГЇГ«Г*Г*Гі";
StringGrid1->Cells[3][0]="Г”Г*ГЄГІГЁГ·ГҐГ±ГЄГЁ ÏåðñîГ*Г*Г«Г*";
StringGrid1->Cells[3][1]="ÏðîìûøëåГ*Г*ûé ";

StringGrid1->Cells[4][1]="ÍåïðîìûøëåГ*ûé ïåðñîГ*Г*Г«Г*";
StringGrid1->Cells[5][0]="Äîëÿ";
StringGrid1->Cells[5][1]="ÍåïðîìûøëåГ*îãî ïåðñîГ*Г*Г«Г*";
StringGrid1->Cells[6][0]="ÂûïîëГ*ГҐГ*ГЁГҐ";
StringGrid1->Cells[6][1]="ГЇГ«Г*Г*Г* ГЇГ® ïåðñîГ*Г*ëó";


StringGrid1->ColCount=7;
StringGrid1->RowCount=3;
}
struct TAB
{
char name[20];
int vsego;
int prom;
int nprom;
};
//---------------------------------------------------------------------------

void __fastcall TForm1::N3Click(TObject *Sender)
{
FILE*f; int i,n; TAB x;
if (SaveDialog1->Execute())
{
f=fopen (SaveDialog1->FileName.c_str(),"wb");
if(f==NULL)
{
ShowMessage("Error open file");
exit(0);
}
n=StringGrid1->RowCount;
for(i=2; i<n; i++)
{
strcpy(x.name, StringGrid1->Cells[1][i].c_str());
x.vsego=StrToInt(StringGrid1->Cells[2][i]);
x.prom=StrToInt(StringGrid1->Cells[3][i]);
x.nprom=StrToInt(StringGrid1->Cells[4][i]);
fwrite(&x,sizeof(x),1,f);
}
fclose(f);
}
}




//---------------------------------------------------------------------------

void __fastcall TForm1::N4Click(TObject *Sender)
{
FILE*f; int i,n; TAB x;
if(OpenDialog1->Execute())
{
f=fopen(OpenDialog1->FileName.c_str(),"rb");
if (f==NULL)
{
ShowMessage("Error to file");
exit(0);
}
i=2;
while(fread(&x,sizeof(x),1,f))
{
StringGrid1->Cells[0][i]=i-1;
StringGrid1->Cells[1][i]=x.name;
StringGrid1->Cells[2][i]=x.vsego;
StringGrid1->Cells[3][i]=x.prom;
StringGrid1->Cells[4][i]=x.nprom;
i++;
}
fclose(f); }
}

//---------------------------------------------------------------------------




void __fastcall TForm1::N5Click(TObject *Sender)
{
float vsego,nprom,prom,dolya,plan;
int n,i;
n=StringGrid1->RowCount;
for(i=2;i<n;i++)
{
nprom=StrToFloat(StringGrid1->Cells[4][i]);
//plan=StrToFloat(StringGrid1->Cells[5][i]);
vsego=StrToFloat(StringGrid1->Cells[2][i]);
prom=StrToFloat(StringGrid1->Cells[3][i]);
dolya=nprom/vsego*100;
StringGrid1->Cells[5][i]=FloatToStrF(dolya,ffFixed,5,2);
plan=(nprom+prom)/vsego*100;
StringGrid1->Cells[6][i]=FloatToStrF(plan,ffFixed,5,2);


}
Изображения
Тип файла: png кк.png (11.1 Кб, 28 просмотров)
Victoria123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив размера N. Определить количество его промежутков монотонности (понять задачу, есть мои наработки язык си) ЕленаPRO Помощь студентам 1 12.11.2014 08:43
Решением задачи на С. Есть наработки! adamans Помощь студентам 3 03.01.2013 06:41
Часы(есть наработки) sllh_111 Помощь студентам 2 19.04.2010 17:04
Pascal, наработки есть. Otre4eHHbIu Помощь студентам 1 24.12.2009 08:43