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

Ввод-вывод данных. Пересчёт концентраций

23.03.2013, 01:07. Показов 1207. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер в хату.
Подскажите правильную стратегию:
Работаю с керамикой. Имеется анализ материала в массовых количествах элемента (скажем: Al, Zr, Y) - так выдаёт один прибор, который для нас новый. Люди привыкли, однако, считать состав в оксидах этих элементов. Т.е. надо пересчитать элементный состав на состав их оксидов. Как легче организовать ввод и вывод данных?
Задумка: окно с кучей кнопок, на которых написаны элементы. Кнопка вызывает диалоговое окно с приглашением ввода массовой доли элемента и кнопкой "Ввести". Число элементов каждый раз - разное, но не очень большое. По окончании должен выводиться состав вещества в пересчёте на оксиды. Вопрос: куда их лучше вывести - в файл экселя? Какие есть наглядные средства?
ПС. Давно, очень давно не писал программы и не умею особо, просто стало очень надо. Имеется С++Builder6. Принимаются даже советы по командам вывода результатов в файл.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.03.2013, 01:07
Ответы с готовыми решениями:

Пересчет из массовых концентраций в атомные
Здравствуйте! Необходим пересчет из массовых концентраций в атомные. Помогите разобраться. Он не правильно считает. Я задумывала,...

Ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хранилище данных в файле)
Здравствуйте) помогите написать программу, осуществляющую ввод структурированных данных в файл и вывод данных из этого файла на экран...

Реализовать ввод данных, вывод данных, поиск по номеру квартиры и возрасту
ввод данных, вывод данных, поиск по номеру квартиры и возрасту. Запись состоит из номера квартиры (тип integer), фамилии (тип string),...

5
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 4
24.03.2013, 23:22  [ТС]
Во, накропал, вроде пашет. Чо тут можно ещё наоптимизировать?
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float sum=0, Al=0, Ag=0, C=0, Ca=0, Co=0, Cr=0, Cu=0, Fe=0,
Mg=0, Mn=0, N=0, Ni=0, Si=0, Sr=0, T=0, V=0, Y=0, Zn=0, Zr=0;
 
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Visible=true;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button21Click(TObject *Sender)
{
sum=0; Al=0; Ag=0; C=0; Ca=0; Co=0; Cr=0; Cu=0; Fe=0;
Mg=0; Mn=0; N=0; Ni=0; Si=0; Sr=0; T=0; V=0; Y=0; Zn=0; Zr=0;
Edit1->Visible=false; Edit1->Text=""; Label1->Visible=false; Button1->Visible=true;
Edit2->Visible=false; Edit2->Text=""; Label2->Visible=false; Button2->Visible=true;
Edit3->Visible=false; Edit3->Text=""; Label3->Visible=false; Button3->Visible=true;
Edit4->Visible=false; Edit4->Text=""; Label4->Visible=false; Button4->Visible=true;
Edit5->Visible=false; Edit5->Text=""; Label5->Visible=false; Button5->Visible=true;
Edit6->Visible=false; Edit6->Text=""; Label6->Visible=false; Button6->Visible=true;
Edit7->Visible=false; Edit7->Text=""; Label7->Visible=false; Button7->Visible=true;
Edit8->Visible=false; Edit8->Text=""; Label8->Visible=false; Button8->Visible=true;
Edit9->Visible=false; Edit9->Text="";  Label9->Visible=false; Button9->Visible=true;
Edit10->Visible=false; Edit10->Text=""; Label10->Visible=false; Button10->Visible=true;
Edit11->Visible=false; Edit11->Text=""; //Label11->Visible=false; Button11->Visible=true;
Edit12->Visible=false; Edit12->Text=""; Label12->Visible=false; Button12->Visible=true;
Edit13->Visible=false; Edit13->Text=""; Label13->Visible=false; Button13->Visible=true;
Edit14->Visible=false; Edit14->Text=""; Label14->Visible=false; Button14->Visible=true;
Edit15->Visible=false; Edit15->Text=""; Label15->Visible=false; Button15->Visible=true;
Edit16->Visible=false; Edit16->Text="";  Label16->Visible=false; Button16->Visible=true;
Edit17->Visible=false; Edit17->Text=""; Label17->Visible=false; Button17->Visible=true;
Edit18->Visible=false; Edit18->Text=""; Label18->Visible=false; Button18->Visible=true;
Edit19->Visible=false; Edit19->Text=""; Label19->Visible=false; Button19->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit2->Visible=true;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit3->Visible=true;
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit4->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit5->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Edit6->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button8Click(TObject *Sender)
{
Edit8->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button9Click(TObject *Sender)
{
Edit9->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button10Click(TObject *Sender)
{
Edit10->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button11Click(TObject *Sender)
{
Edit11->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button12Click(TObject *Sender)
{
Edit12->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button13Click(TObject *Sender)
{
Edit13->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender)
{
Edit14->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button15Click(TObject *Sender)
{
Edit15->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button16Click(TObject *Sender)
{
Edit16->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button17Click(TObject *Sender)
{
Edit17->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button18Click(TObject *Sender)
{
Edit18->Visible=true;        
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button19Click(TObject *Sender)
{
Edit19->Visible=true;
}
 
void __fastcall TForm1::Button7Click(TObject *Sender)
{
Edit7->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button20Click(TObject *Sender)
{
if (Edit1->Text!=""){Al=StrToFloat(Edit1->Text); sum=sum+Al/27*102/2;}
if (Edit2->Text!=""){Ag=StrToFloat(Edit2->Text); sum=sum+Ag/107.8*231.6/2;}
if (Edit3->Text!=""){C=StrToFloat(Edit3->Text); sum=sum+C/12*44;}
if (Edit4->Text!=""){Ca=StrToFloat(Edit4->Text); sum=sum+Ca/40*16;}
if (Edit5->Text!=""){Co=StrToFloat(Edit5->Text); sum=sum+Co/58.9*74.9;}
if (Edit6->Text!=""){Cr=StrToFloat(Edit6->Text); sum=sum+Cr/52*197.9/2;}
if (Edit7->Text!=""){Cu=StrToFloat(Edit7->Text); sum=sum+Cu/63.5*79.5;}
if (Edit8->Text!=""){Fe=StrToFloat(Edit8->Text); sum=sum+Fe/55.8*158.6/2;}
if (Edit9->Text!=""){Mg=StrToFloat(Edit9->Text); sum=sum+Mg/24.3*40.3;}
if (Edit10->Text!=""){Mn=StrToFloat(Edit10->Text); sum=sum+Mn/54.9*157.8/2;}
if (Edit11->Text!=""){N=StrToFloat(Edit11->Text); sum=sum+N;}
if (Edit12->Text!=""){Ni=StrToFloat(Edit12->Text); sum=sum+Ni/58.7*74.7;}
if (Edit13->Text!=""){Si=StrToFloat(Edit13->Text); sum=sum+Si/28.1*60.1;}
if (Edit14->Text!=""){Sr=StrToFloat(Edit14->Text); sum=sum+Sr/87.6*103.6;}
if (Edit15->Text!=""){T=StrToFloat(Edit15->Text); sum=sum+T/47.9*79.9;}
if (Edit16->Text!=""){V=StrToFloat(Edit16->Text); sum=sum+V/50.9*261.8/2;}
if (Edit17->Text!=""){Y=StrToFloat(Edit17->Text); sum=sum+Y/88.9*225.8/2;}
if (Edit18->Text!=""){Zn=StrToFloat(Edit18->Text); sum=sum+Zn/65.4*81.4;}
if (Edit19->Text!=""){Zr=StrToFloat(Edit19->Text); sum=sum+Zr/91.2*123.2;}
 
if (Edit1->Text!=""){Edit1->Text=(Al/27*102/2)*100/sum;
Button1->Visible=false; Label1->Visible=true;}
if (Edit2->Text!=""){Edit2->Text=(Ag/107.8*231.6/2)*100/sum;
Button2->Visible=false;Label2->Visible=true;}
if (Edit3->Text!=""){Edit3->Text=(C/12*44)*100/sum;
Button3->Visible=false;Label3->Visible=true;}
if (Edit4->Text!=""){Edit4->Text=(Ca/40*16)*100/sum;
Button4->Visible=false;Label4->Visible=true;}
if (Edit5->Text!=""){Edit5->Text=(Co/58.9*74.9)*100/sum;
Button5->Visible=false;Label5->Visible=true;}
if (Edit6->Text!=""){Edit6->Text=(Cr/52*197.9/2)*100/sum;
Button6->Visible=false;Label6->Visible=true;}
if (Edit7->Text!=""){Edit7->Text=(Cu/63.5*79.5)*100/sum;
Button7->Visible=false;Label7->Visible=true;}
if (Edit8->Text!=""){Edit8->Text=(Fe/55.8*158.6/2)*100/sum;
Button8->Visible=false;Label8->Visible=true;}
if (Edit9->Text!=""){Edit9->Text=(Mg/24.3*40.3)*100/sum;
Button9->Visible=false;Label9->Visible=true;}
if (Edit10->Text!=""){Edit10->Text=(Mn/54.9*102/2)*100/sum;
Button10->Visible=false;Label10->Visible=true;}
if (Edit11->Text!=""){Edit11->Text=N*100/sum;}
if (Edit12->Text!=""){Edit12->Text=(Ni/58.7*74.7)*100/sum;
Button12->Visible=false;Label12->Visible=true;}
if (Edit13->Text!=""){Edit13->Text=(Si/28.1*60.1)*100/sum;
Button13->Visible=false;Label13->Visible=true;}
if (Edit14->Text!=""){Edit14->Text=(Sr/87.6*103.6)*100/sum;
Button14->Visible=false;Label14->Visible=true;}
if (Edit15->Text!=""){Edit15->Text=(T/47.9*79.9)*100/sum;
Button15->Visible=false;Label15->Visible=true;}
if (Edit16->Text!=""){Edit16->Text=(V/50.9*149.8/2)*100/sum;
Button16->Visible=false;Label16->Visible=true;}
if (Edit17->Text!=""){Edit17->Text=(Y/88.9*225.8/2)*100/sum;
Button17->Visible=false;Label17->Visible=true;}
if (Edit18->Text!=""){Edit18->Text=(Zn/65.4*81.4)*100/sum;
Button18->Visible=false;Label18->Visible=true;}
if (Edit19->Text!=""){Edit19->Text=(Zr/91.2*123.2)*100/sum;
Button19->Visible=false;Label19->Visible=true;}
}
//---------------------------------------------------------------------------
Добавлено через 14 минут
А, совсем забыл, вот ещё:
C++
1
2
3
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{}
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
25.03.2013, 00:03
Например так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button21Click(TObject *Sender)
{
 sum=0; Al=0; Ag=0; C=0; Ca=0; Co=0; Cr=0; Cu=0; Fe=0;
 Mg=0; Mn=0; N=0; Ni=0; Si=0; Sr=0; T=0; V=0; Y=0; Zn=0; Zr=0;
 
 for (int i=1; i<= 19; i++)
  {
   static_cast<TEdit*>(FindComponent("Edit"+IntToStr(i)))->Visible=false;
   static_cast<TEdit*>(FindComponent("Edit"+IntToStr(i)))->Text="";
   static_cast<TLabel*>(FindComponent("Label"+IntToStr(i)))->Visible=false;
   static_cast<TButton*>(FindComponent("Button"+IntToStr(i)))->Visible=true;
  }
}
0
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 4
26.03.2013, 00:01  [ТС]
Ок, _Dimon_, я понял, спасибо. Сам не смог организовать цикл "for"
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
26.03.2013, 11:49
Еще можно поставить одно событие на кнопки с 1 по 19
Сначала каждой кнопке свойство Tag выставить в соответствии с номером кнопки,
например, для Button13 - Tag = 13
Тогда
C++
1
2
3
4
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
 static_cast<TEdit*>(FindComponent("Edit"+IntToStr(static_cast<TButton*>(Sender)->Tag)))->Visible=true;
}
1
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 4
27.03.2013, 11:12  [ТС]
Ога, так ещё убористей получается. Перепишу обязательно.

У меня, однако, вот какая проблема:
писал я этот код дома, но для рабочих компов. И вот на работе прога не выполняется, возвращая такую ошибку: http://support.microsoft.com/kb/245184/ru
Дома и на работе стоят ХР32-Pro, компилил я без подключения динамических библиотек, так как на работе Builder'a нет. Может, знаете, как по-шустрому обойти проблему? Права доступа на работе, естесственно, порезаны, админы обещали посмотреть, но они - не писаки на Ci.

Добавлено через 1 час 16 минут
PS. А, да: runtime packages тоже отрубил.

Добавлено через 21 час 55 минут
Всё, проблема решена. Не знаю, почему, но повторная компиляция с теми-же параметрами выдала работающую прогу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2013, 11:12
Помогаю со студенческими работами здесь

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

Составьте программу, которая обеспечивает ввод данных, вывод данных, поиск по ФИО
Составьте программу, которая обеспечивает ввод данных, вывод данных, поиск по ФИО. Каждая компонента записи содержит следующую информацию...

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru