С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 30

Не учитываются данные, передаваемые конструктору

15.10.2014, 20:18. Показов 691. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем жителям этого форума.
Делаю тут одну лабораторную.И возникла проблема.
При расчете выдает не то знач ение. Я сказал бы иначе,при любых введенных значениях, выдает одно и тоже число.
У меня это организовано через новый класс и СтрингГрид. В СтрингГрид отображаются данные.
Ну так вот,например:
Название авто: камаро.
Стоимость нового авто:100
Цена нового авто:2000
Мощность старого авто:50.
А вот стоимость старого авто я рассчитываю через пропорцию:Стоимость старого авто = (мощность старого авто * стоимость нового авто )/мощность нового, и тут у меня получается одно и тоже число.
в не зависимости от введенных данных.
Выкладываю архив со всем проектом + код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
//---------------------------------------------------------------------------
 
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
#include <Dialogs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
   TStringGrid *StringGrid1;
   TButton *Button1;
   TButton *Button2;
   TButton *Button3;
   TEdit *Edit1;
   TEdit *Edit2;
   TEdit *Edit3;
   TLabel *Label1;
   TLabel *Label2;
   TLabel *Label3;
   TSaveDialog *SaveDialog1;
   TEdit *Edit4;
   TLabel *Label4;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
__fastcall TForm1(TComponent* Owner);
};
class avto  //мой класс
{
public:
avto();
avto (char,int,float,int,float);
avto (const avto&);
~avto();
char name[100];
int pn;
float prcn;
int po;
float prco;
char * GetName();
int GetPowerOld();
int GetPowerNew();
float GetPriceNew();
float GetPriceOld();
void SetName (char*);
void SetPowerOld (int);
void SetPriceNew (float);
void SetPowerNew (int);
};
//конструктор
avto::avto()
{
ShowMessage("Конструктор работает!");
};
//конструктор с параметром
avto::avto (char name,int pn,float prcn,int po,float prco)
{
prco=(po*prcn)/pn;
};
//конструктор копирования
avto::avto (const avto&)
{
ShowMessage("Скопировано!!!!");
}
//деструктор
avto::~avto()
{
ShowMessage("Деструктор отработал!");
};
//функции с именем
char* avto::GetName()
{
return name;
};
void avto::SetName(char* Name)
{
strcpy(name,Name);
};
//функции с моцностью нового авто
int avto::GetPowerNew  ()
{
return pn;
};
 
void avto::SetPowerNew(int Pn)
{
pn=Pn;
};
 
//функции с ценой нового авто
float avto::GetPriceNew()
{
return prcn;
};
void avto::SetPriceNew(float Prcn)
{
prcn=Prcn;
};
//функции с выводом цены старого авто
float avto::GetPriceOld()
{
return prco;
};
int avto::GetPowerOld()
{
return po;
};
 
void avto::SetPowerOld(int Po)
{
po=Po;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/---------------------------------------------------------------------------
 
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
char* n=new char[100];
int mn,ms;
int rc=1;
float cn,co;
FILE *labtable;
void svtf()
{
avto *av=new avto [rc];
if (Form1->SaveDialog1->Execute());
{
   labtable=fopen(Form1->SaveDialog1->FileName.c_str(),"w");
   fprintf(labtable,Form1->StringGrid1->Cells[0][0].c_str());
   fprintf(labtable,"  ");
   fprintf(labtable,Form1->StringGrid1->Cells[1][0].c_str());
   fprintf(labtable,"  ");
   fprintf(labtable,Form1->StringGrid1->Cells[2][0].c_str());
   fprintf(labtable,"  ");
   fprintf(labtable,Form1->StringGrid1->Cells[3][0].c_str());
   fprintf(labtable,"  ");
   fprintf(labtable,Form1->StringGrid1->Cells[4][0].c_str());
   fprintf(labtable,"\n");
   for (int i=1;i<rc;i++)
   {
      fprintf(labtable,IntToStr(i).c_str());
      fprintf(labtable,"           ");
      ShowMessage(av[i].GetName());
      fprintf(labtable,av[i].GetName());
      fprintf(labtable,"           ");
      fprintf(labtable,IntToStr(av[i].GetPowerNew()).c_str());
      fprintf(labtable,"           ");
      fprintf(labtable,FloatToStr(av[i].GetPriceNew()).c_str());
      fprintf(labtable,"           ");
      fprintf(labtable,IntToStr(av[i].GetPowerOld()).c_str());
      fprintf(labtable,"           ");
      fprintf(labtable,FloatToStr(av[i].GetPriceOld()).c_str());
      fprintf(labtable,"\n");
   }
}
fclose(labtable);
}
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
StringGrid1->Cells[0][0]="№";
StringGrid1->Cells[1][0]="Марка ";
StringGrid1->Cells[2][0]="Мощность нового авто";
StringGrid1->Cells[3][0]="Стоимость нового авто";
StringGrid1->Cells[4][0]="Мощность б\у авто";
StringGrid1->Cells[5][0]="Стоимость б\у авто";
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
avto msg;
strcpy(n, Edit1->Text.c_str());
mn=StrToInt(Edit2->Text);
cn=StrToFloat(Edit3->Text);
ms=StrToInt(Edit4->Text);
avto av(*n,mn,cn,ms,co);
av.SetName(n);
ShowMessage(av.GetName());
av.SetPowerNew(mn);
av.SetPowerOld(ms);
av.SetPriceNew(cn);
avto cp=av;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
strcpy(n, Edit1->Text.c_str());
mn=StrToInt(Edit2->Text);
cn=StrToFloat(Edit3->Text);
ms=StrToInt(Edit4->Text);
avto av(*n,mn,co,ms,cn);
av.SetName(n);
ShowMessage(av.GetName());
av.SetPowerOld(ms);
av.SetPowerNew(mn);
av.SetPriceNew(cn);
StringGrid1->Cells[0][rc]=FloatToStr(rc);
StringGrid1->Cells[1][rc]=av.GetName();
StringGrid1->Cells[2][rc]=av.GetPowerNew();
StringGrid1->Cells[3][rc]=av.GetPriceNew();
StringGrid1->Cells[4][rc]=av.GetPowerOld();
StringGrid1->Cells[5][rc]=av.GetPriceOld();
StringGrid1->RowCount++;
rc++;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{avto av(*n,ms,co,mn,cn);
   svtf();
};
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
Буду благодарен,если разьяснят...
Вложения
Тип файла: rar Лаба 1.rar (372.3 Кб, 2 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2014, 20:18
Ответы с готовыми решениями:

Создать объект, зная только имя класса и параметры, передаваемые конструктору
Сабж. Допустим дано String className=&quot;PC&quot;; int p1=1; int p2=2; int p3=3; Как создать объект, аналогичный данномуPC obj = new...

Как считывать данные, передаваемые по Ethernet?
Как считывать данные, передаваемые по Ethernet

Как разделить данные, передаваемые сервером клиенту?
Здравствуйте, уважаемые форумчане! Изучаю приложения &quot;клиент-сервер&quot;. И вот какой возник вопрос. Я написал код сервера, который отправляет...

1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
15.10.2014, 22:37
Одноименные параметр конструктора и член класса. В конструкторе модифицируются не данные класса, а локальная переменная prco.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2014, 22:37
Помогаю со студенческими работами здесь

При вызове метода меняются передаваемые данные
Добрый день, не могу разобраться. При вызове ArrayUtils.CopyInsert(99, 2, nums, nums2, str); мы передаем 2 целых значения, 2 массива и...

В чем отличия MySQL от MySQLi или как защитить передаваемые данные
Вообщем сделал небольшую форму аутентификации где данные записываются в БД. Все работает, но где-то я прочел, что mysqli более безопаснее...

После успешной отправки формы в строке браузера появляются все передаваемые данные. Правильно ли это?
Здравствуйте, дорогие форумчане! Волнует вопрос: после успешной отправки формы (письмо приходит) в строке браузера начали появляться все...

Как учитываются ссылки
Если я допустим на сайте социальных закладок регестрирую два аккаунта и в каждый из них ставлю ссылку на свой сайт , то учтутся обе ссылки...

Ccылки с блогов не учитываются..
То что ссылки с блогов не учитываются - давно известно, но проверить не мешает: поставил уникальный анкор &quot;кондиционер - лучший друг...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru