第一次作业
功能结构图:
流程图:
c语言代码实现:
#include <stdio.h>
#include <math.h>
double add(double a, double b) {
return a + b;
}
double subtract(double a, double b) {
if (a < 100 && b < 100) {
return a - b;
} else {
printf("输入的值不满足条件,无法进行减法操作");
return 0;
}
}
double multiply(double a, double b) {
if (a < 100 && b < 100) {
return a * b;
} else {
printf("输入的值不满足条件,无法进行乘法操作");
return 0;
}
}
double divide(double a, double b) {
if (b != 0 && a >= 100 && b >= 100) {
return a / b;
} else {
printf("输入的值不满足条件,无法进行除法操作");
return 0;
}
}
double sqrt_newton(double a) {
double x = a;
double precision = 1e-6;
while (fabs(x * x - a) > precision) {
x = (x + a / x) / 2;
}
return x;
}
int main() {
double a, b;
printf("请输入两个数(用空格隔开):");
scanf("%lf %lf", &a, &b);
printf("请选择操作:1.加法 2.减法 3.乘法 4.除法 5.开方");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
printf("结果:%.2lf", add(a, b));
break;
case 2:
printf("结果:%.2lf", subtract(a, b));
break;
case 3:
printf("结果:%.2lf", multiply(a, b));
break;
case 4:
printf("结果:%.2lf", divide(a, b));
break;
case 5:
printf("结果:%.2lf", sqrt_newton(a));
break;
default:
printf("无效的选择");
}
return 0;
}
python语言实现:
这个计算器代码的UI设计使用了Python的Tkinter库来创建一个简单的图形用户界面。以下是详细的代码
import tkinter as tk
from math import sqrt
def add():
a = float(entry_a.get())
b = float(entry_b.get())
result = a + b
entry_result.delete(0, tk.END)
entry_result.insert(0, str(result))
def subtract():
a = float(entry_a.get())
b = float(entry_b.get())
result = a - b
entry_result.delete(0, tk.END)
entry_result.insert(0, str(result))
def multiply():
a = float(entry_a.get())
b = float(entry_b.get())
result = a * b
entry_result.delete(0, tk.END)
entry_result.insert(0, str(result))
def divide():
a = float(entry_a.get())
b = float(entry_b.get())
if b != 0:
result = a / b
entry_result.delete(0, tk.END)
entry_result.insert(0, str(result))
else:
entry_result.delete(0, tk.END)
entry_result.insert(0, "除数不能为0")
def sqrt_newton():
a = float(entry_a.get())
result = sqrt(a)
entry_result.delete(0, tk.END)
entry_result.insert(0, str(result))
root = tk.Tk()
root.title("简易计算器")
label_a = tk.Label(root, text="a:")
label_a.grid(row=0, column=0)
entry_a = tk.Entry(root)
entry_a.grid(row=0, column=1)
label_b = tk.Label(root, text="b:")
label_b.grid(row=1, column=0)
entry_b = tk.Entry(root)
entry_b.grid(row=1, column=1)
button_add = tk.Button(root, text="加法", command=add)
button_add.grid(row=2, column=0)
button_subtract = tk.Button(root, text="减法", command=subtract)
button_subtract.grid(row=2, column=1)
button_multiply = tk.Button(root, text="乘法", command=multiply)
button_multiply.grid(row=3, column=0)
button_divide = tk.Button(root, text="除法", command=divide)
button_divide.grid(row=3, column=1)
button_sqrt = tk.Button(root, text="开方", command=sqrt_newton)
button_sqrt.grid(row=4, column=0)
label_result = tk.Label(root, text="结果:")
label_result.grid(row=5, column=0)
entry_result = tk.Entry(root)
entry_result.grid(row=5, column=1)
root.mainloop()