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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 12:58   #11
bee_uk
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 18
По умолчанию

Код:
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include "proba.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//îáúÿâëåíèå âñåõ ïåðåìåííûõ
float a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3,e1,e2,e3,sr1,sr2,sr3,sr4,sr5;
float nov1,nov2,nov3,itog,m,n,p,y1,y2,y3,y4,y5,w1,w2,w3;
bool flag=false;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{Button3->Enabled=false;
Button1->Enabled=true;
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button3Click(TObject *Sender)
{DecimalSeparator = '.';
//çàïîëíåíèå ÿ÷ååê çíà÷åíèÿìè
a1 = StrToFloat(Edit1->Text);
a2 = StrToFloat(Edit12->Text);
a3 = StrToFloat(Edit17->Text);
b1 = StrToFloat(Edit4->Text);
b2 = StrToFloat(Edit11->Text);
b3 = StrToFloat(Edit16->Text);
c1 = StrToFloat(Edit5->Text);
c2 = StrToFloat(Edit10->Text);
c3 = StrToFloat(Edit15->Text);
d1 = StrToFloat(Edit6->Text);
d2 = StrToFloat(Edit9->Text);
d3 = StrToFloat(Edit14->Text);
e1 = StrToFloat(Edit7->Text);
e2 = StrToFloat(Edit8->Text);
e3 = StrToFloat(Edit13->Text);
//ïðîâåðêà íà ïðàâèëüíîñòü çàïîëíåíèÿ ÿ÷ååê
w1=a1+b1+c1+d1+e1;
w2=a2+b2+c2+d2+e2;
w3=a3+b3+c3+d3+e3;
//âûâîä îêîøêà ñ ñîîáùåíèåì î íåïðàâèëüíîì çàïîëíåíèè
if (w1==1)
   Label22->Caption = FloatToStr(w1);
else
   ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w2==1)
    Label21->Caption = FloatToStr(w2);
else
    ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w3==1)
   Label23->Caption = FloatToStr(w3);
else
   ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w1==1&&w2==1&&w3==1) Button3->Enabled=true;

//âû÷èñëåíèå òåêóùèõ îöåíîê îáúåêòîâ êàê ñðåäíåãî àðèôìåòè÷åñêîãî îöåíîê ýêñïåðòîâ
sr1 =(a1+a2+a3)/3;
sr2 =(b1+b2+b3)/3;
sr3 =(c1+c2+c3)/3;
sr4 =(d1+d2+d3)/3;
sr5 =(e1+e2+e3)/3;
//íàõîäèì íîâûå íåíîðìèðîâàííûå çíà÷åíèÿ êîýôôèöèåíòîâ êîìïåòåíòíîñòè
nov1=(a1*sr1+b1*sr2+c1*sr3+d1*sr4+e1*sr5);
nov2=(a2*sr1+b2*sr2+c2*sr3+d2*sr4+e2*sr5);
nov3=(a3*sr1+b3*sr2+c3*sr3+d3*sr4+e3*sr5);
itog=nov1+nov2+nov3;
//íàõîäèì íîâûå íîðìèðîâàííûå çíà÷åíèÿ êîýôôèöèåíòîâ
m=nov1/itog;
n=nov2/itog;
p=nov3/itog;
//íàõîäèì îöåíêè êàæäîãî ïðîåêòà
y1=(m*a1+n*a2+p*a3);
y2=(m*b1+n*b2+p*b3);
y3=(m*c1+n*c2+p*c3);
y4=(m*d1+n*d2+p*d3);
y5=(m*e1+n*e2+p*e3);

//âûâîä îöåíîê êàæäîãî ïðîåêòà
Label7->Caption = FloatToStr(y1)+"  ->  ïðîåêò ¹1";
Label1->Caption = FloatToStr(y2)+"  ->  ïðîåêò ¹2";
Label8->Caption = FloatToStr(y3)+"  ->  ïðîåêò ¹3";
Label9->Caption = FloatToStr(y4)+"  ->  ïðîåêò ¹4";
Label10->Caption = FloatToStr(y5)+"  ->  ïðîåêò ¹5";
//âûáîð ìàêñèìàëüíîé îöåíêè, à çíà÷èò, è íàèëó÷øåãî ïðîåêòà ðàçâèòèÿ ïðåäïðèÿòèÿ
if ((y1>y2)&&(y1>y3)&&(y1>y4)&&(y1>y5))
Label24->Caption = FloatToStr(y1)+"  -Ëó÷øèé ïðîåêò ¹1";
else if ((y2>y1)&&(y2>y3)&&(y2>y4)&&(y2>y5))
      Label24->Caption = FloatToStr(y2)+"  -Ëó÷øèé ïðîåêò ¹2";
      else if((y3>y2)&&(y3>y1)&&(y3>y4)&&(y3>y5))
              Label24->Caption = FloatToStr(y3)+"  -Ëó÷øèé ïðîåêò ¹3";
              else if ((y4>y2)&&(y4>y3)&&(y4>y1)&&(y4>y5))
                       Label24->Caption = FloatToStr(y4)+"  -Ëó÷øèé ïðîåêò ¹4";
                       else Label24->Caption = FloatToStr(y5)+"  -Ëó÷øèé ïðîåêò ¹5";

}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{//ùåë÷îê íà êíîïêå Çàâåðøèòü
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ //ùåë÷îê íà êíîïêå ïðîâåðêà
   DecimalSeparator = '.';
a1 = StrToFloat(Edit1->Text);
a2 = StrToFloat(Edit12->Text);
a3 = StrToFloat(Edit17->Text);
b1 = StrToFloat(Edit4->Text);
b2 = StrToFloat(Edit11->Text);
b3 = StrToFloat(Edit16->Text);
c1 = StrToFloat(Edit5->Text);
c2 = StrToFloat(Edit10->Text);
c3 = StrToFloat(Edit15->Text);
d1 = StrToFloat(Edit6->Text);
d2 = StrToFloat(Edit9->Text);
d3 = StrToFloat(Edit14->Text);
e1 = StrToFloat(Edit7->Text);
e2 = StrToFloat(Edit8->Text);
e3 = StrToFloat(Edit13->Text);
//ïðîâåðêà íà ïðàâèëüíîñòü çàïîëíåíèÿ ÿ÷ååê
w1=a1+b1+c1+d1+e1;
w2=a2+b2+c2+d2+e2;
w3=a3+b3+c3+d3+e3;
//âûâîä îêîøêà ñ ñîîáùåíèåì î íåïðàâèëüíîì çàïîëíåíèè
if (w1==1)
   Label22->Caption = FloatToStr(w1);
else
   ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w2==1)
    Label21->Caption = FloatToStr(w2);
else
    ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w3==1)
   Label23->Caption = FloatToStr(w3);
else
   ShowMessage ("Ââåäåíî íåâåðíî - ââåäèòå çàíîâî");
if (w1==1&&w2==1&&w3==1) Button3->Enabled=true;
}
Модератор: тег CODE!

Последний раз редактировалось Sazary; 05.06.2009 в 13:05.
bee_uk вне форума Ответить с цитированием
Старый 05.06.2009, 12:59   #12
bee_uk
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 18
По умолчанию

эт прога)работает)чтобы не делала далее(формулы, и тд) - появляется ошибка конвертации...как мне быть??проверьте ,плиз. Как мне вставить и куда, чтоб нельзя было ввести отрицательное число или оставить ячейку пустой??помогите,плиз)завтра сдавать(((
bee_uk вне форума Ответить с цитированием
Старый 05.06.2009, 13:33   #13
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Делайте лучше, как сказал pu4koff.
Как-нибудь так:
Код:
void __fastcall TForm1::Button5Click(TObject *Sender)
{
const int N = 20; // количетсво эдитов
TEdit *T;
int i;
double d;

for(i=1; i<=N; i++)
 {
  T = dynamic_cast<TEdit*>(FindChildControl("Edit"+IntToStr(i)));
  if(T)
   {
    if(TryStrToFloat(T->Text,d))
     {
      if(d<0)
       {
        ShowMessage("число < 0");
        T->SetFocus();
        return;
       }
     }
     else
    {
     ShowMessage("Введено некорректное число");
     T->SetFocus();
     return;
    }
   }
 }

}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.06.2009, 19:01   #14
bee_uk
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 18
По умолчанию

спасибо большое!!!!!!!!!!!!!!!!!!!!!!!!)))) )))))))))))))))))))))))))
bee_uk вне форума Ответить с цитированием
Старый 05.06.2009, 21:40   #15
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Можно еще заюзать MaskEdit, задаете маску допустим, число с точкой. И ничего другого вы просто ввести не сможете.
MaTBeu вне форума Ответить с цитированием
Старый 06.06.2009, 14:11   #16
bee_uk
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 18
По умолчанию

Код:
const int N = 15;
TEdit *T;
int i;
double d;
//öèêë äëÿ ïðîâåðêè íà íàëè÷èå îòðèöàòåëüíîãî ÷èñëî ëèáî èíîãî ñèìâîëà
for(i=1; i<=N; i++)
 {
  T = dynamic_cast<TEdit*>(FindChildControl("Edit"+IntToStr(i)));
  if(T)
   {
    if(TryStrToFloat(T->Text,d))
     {
      if(d<0)
       {
        ShowMessage("Ââåäåíî ÷èñëî < 0");
        T->SetFocus();
        return;
       }
     }
     else
    {
     ShowMessage("Ââåäåíî íåêîððåêòíîå ÷èñëî");
     T->SetFocus();
     return;
    }
      }
      else {ShowMessage ("Всё верно"); Button3->Enabled=true;}
       }
вот этот кодик у меня работает...
но мне вот ещё надо, чтоб появлялась , (если нет отрицательных чисел и др знаках в ячейках,)сообщение, что введено верно, а потом кнопка 3 активизировалась????я вставила вроде данную часть....а у меня стало всё как-то странно работать((((подскажите, что я неправильно сделала??куда надо вставить последнюю строку в данном коде, ???

Модератор: тег CODE

Последний раз редактировалось Sazary; 06.06.2009 в 14:29.
bee_uk вне форума Ответить с цитированием
Старый 06.06.2009, 14:33   #17
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Никаких else не нужно. Вы бы хоть разобрались в коде, что там происходит.
Допишите вывод сообщения в самый конец обработчика.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как сделать! Sanek777 Общие вопросы Delphi 5 08.08.2008 19:12
Подскажите пожалуйсто как сделать xGroupers Общие вопросы Delphi 26 25.04.2008 00:16
Подскажите как сделать аналог Felix Zeraim Свободное общение 2 07.03.2008 17:55
Подскажите как сделать цикл... Apollo_13 Общие вопросы Delphi 4 26.06.2007 22:01
Подскажите как лучше сделать Gendolff БД в Delphi 1 10.02.2007 08:47