Для создания графического интерфейса на форме размести пять кнопок с названиями сложение, вычитание, деление, умножение, выход; три текстовых поля (два для ввода и одно для вывода) .
Перед тем как начать основную работу можно убедиться, что калькулятор не будет складывать числа более 16 знаков. Для этого необходимо в процедуре Text1_Change и Text2_Change ввести такой код:
Private Sub Text1_Change () ‘Происходит при изменении текстового поля If Len (Text1.Text)>16 Then MsgBox “Много знаков” ‘Если Text1>16, то выводим сообщение End Sub
Private Sub Text2_Change () If Len (Text2.Text)>16 Then MsgBox “Много знаков” End Sub
Теперь напишем код для сложения, вычитания и умножения:
Private Sub Command1_Click () ‘Сложение Text3.Text=Val (Text1.Text) + Val (Text2.Text) End Sub
Private Sub Command2_Click () ‘Вычитание Text3.Text=Val (Text1.Text) – Val (Text2.Text) End Sub
Private Sub Command3_Click () ‘Умножение Text3.Text=Val (Text1.Text) * Val (Text2.Text) End Sub
С кодом для деления придётся немного пораздумать. Когда во втором текстовом поле будет ноль или там не будет текста, то будут выскакивать ошибка. Для её предотвращения придётся создать условие:
Private Sub Command4_Click () ‘Деление If Text2.Text =”” Then MsgBox “Деление на ноль” If Text2.Text = 0 Then MsgBox “Деление на ноль” If Text2.Text<>”” Then Text3.Text=Val(Text1.Text)/Val(Text2.Text) If Text2.Text<>0 Then Text3.Text=Val(Text1.Text)/Val(Text2.Text) End Sub
Осталось написать процедуру для кнопки «Выход» :
Private Sub Command5_Click () ‘Выход End End Sub
Для создания других операций с числами можно воспользоваться обозначениями функций: Sqr (число) – служит для извлечения квадратного корня Например: Sqr (16) = 4
Основание ^ степень – возведение числа в степень Например: 6 ^ 2 = 36
Sin (число) – синус числа Например: Sin (60) = -0, 304810621102217
Cos (число) – косинус числа Например: Cos (60) = -0, 952412980415156
Tan (число) –тангенс числа Например: Tan (60) = 0,320040389379563
for (int i = 0; i < 12; i++) { printf("\nY[%d]=", i); scanf("%d", &Y[i]); }
for (int i = 0; i < 12; i++) { mult *= Y[i]; }
printf("\n%f", pow(mult, 1.0/12)); return 0; }
Функция scanf() является процедурой ввода общего назначения, считывающей данные из потока stdin. Она может считывать данные всех базовых типов и автоматически конвертировать их в нужный внутренний формат. Если бы printf() выполняла ввод, а не вывод, ее можно было бы назвать аналогом scanf().
Функция printf() записывает в stdout аргументы из списка arg-list под управлением строки, на которую указывает аргумент format.
Функция pow() возвращает значение base, возведенное в степень ехр, т. е. baseexp. Переполнение вызывает ошибку области значений. Также может возникнуть ошибка области определения.
Перед тем как начать основную работу можно убедиться, что калькулятор не будет складывать числа более 16 знаков. Для этого необходимо в процедуре Text1_Change и Text2_Change ввести такой код:
Private Sub Text1_Change () ‘Происходит при изменении текстового поля
If Len (Text1.Text)>16 Then MsgBox “Много знаков” ‘Если Text1>16, то выводим сообщение
End Sub
Private Sub Text2_Change ()
If Len (Text2.Text)>16 Then MsgBox “Много знаков”
End Sub
Теперь напишем код для сложения, вычитания и умножения:
Private Sub Command1_Click () ‘Сложение
Text3.Text=Val (Text1.Text) + Val (Text2.Text)
End Sub
Private Sub Command2_Click () ‘Вычитание
Text3.Text=Val (Text1.Text) – Val (Text2.Text)
End Sub
Private Sub Command3_Click () ‘Умножение
Text3.Text=Val (Text1.Text) * Val (Text2.Text)
End Sub
С кодом для деления придётся немного пораздумать. Когда во втором текстовом поле будет ноль или там не будет текста, то будут выскакивать ошибка. Для её предотвращения придётся создать условие:
Private Sub Command4_Click () ‘Деление
If Text2.Text =”” Then MsgBox “Деление на ноль”
If Text2.Text = 0 Then MsgBox “Деление на ноль”
If Text2.Text<>”” Then Text3.Text=Val(Text1.Text)/Val(Text2.Text)
If Text2.Text<>0 Then Text3.Text=Val(Text1.Text)/Val(Text2.Text)
End Sub
Осталось написать процедуру для кнопки «Выход» :
Private Sub Command5_Click () ‘Выход
End
End Sub
Для создания других операций с числами можно воспользоваться обозначениями функций:
Sqr (число) – служит для извлечения квадратного корня
Например: Sqr (16) = 4
Основание ^ степень – возведение числа в степень
Например: 6 ^ 2 = 36
Sin (число) – синус числа
Например: Sin (60) = -0, 304810621102217
Cos (число) – косинус числа
Например: Cos (60) = -0, 952412980415156
Tan (число) –тангенс числа
Например: Tan (60) = 0,320040389379563
int main(void) {
int Y[12];
long int mult = 1;
for (int i = 0; i < 12; i++) {
printf("\nY[%d]=", i);
scanf("%d", &Y[i]);
}
for (int i = 0; i < 12; i++) {
mult *= Y[i];
}
printf("\n%f", pow(mult, 1.0/12));
return 0;
}
Функция scanf() является процедурой ввода общего назначения, считывающей данные из потока stdin. Она может считывать данные всех базовых типов и автоматически конвертировать их в нужный внутренний формат. Если бы printf() выполняла ввод, а не вывод, ее можно было бы назвать аналогом scanf().
Функция printf() записывает в stdout аргументы из списка arg-list под управлением строки, на которую указывает аргумент format.
Функция pow() возвращает значение base, возведенное в степень ехр, т. е. baseexp. Переполнение вызывает ошибку области значений. Также может возникнуть ошибка области определения.