在mysql数据库中准备相应数据表,编写windows可视化界面程序•设计GUI程序,把这些coursecode、coursename、学分credit、成绩score展示在Listbox中。运行的程序界面如左图,要求界面设置button1=”查表显示”和button2=”计算平均绩点”。点击“查表显示”则select数据表的10条记录转换为10个String显示在Listbox,如右图,点击“计算平均绩点” 算出平均绩点,把平均绩点显示在文本框中。(select * from course_score)
时间: 2024-03-19 11:42:14 浏览: 49
好的,您需要在MySQL数据库中准备一张名为course_score的数据表,包含coursecode、coursename、credit和score这四个字段。然后,您需要编写一个Windows可视化界面程序,并设计GUI程序。界面中应该有一个Listbox用于展示coursecode、coursename、credit和score,以及两个按钮,一个是“查表显示”,另一个是“计算平均绩点”。
当用户点击“查表显示”按钮时,应该从数据表中选择10条记录,并将这10条记录转换为10个字符串显示在Listbox中,如右图所示。
当用户点击“计算平均绩点”按钮时,应该计算出平均绩点,并将其显示在文本框中。具体计算方法如下:
1. 计算每门课程的绩点,使用如下公式:绩点 = (score - 50) / 10,如果score小于60,则绩点为0。
2. 计算加权平均绩点,使用如下公式:加权平均绩点 = Σ(绩点 * credit) / Σcredit。
3. 将计算结果显示在文本框中。
最后需要注意的是,当用户点击“查表显示”按钮时,应该先清空Listbox中的内容,然后再将数据显示在Listbox中。
相关问题
设计GUI程序,把这些coursecode、coursename、学分credit、成绩score展示在Listbox中。运行的程序界面如左图,要求界面设置button1=”查表显示”和button2=”计算平均绩点”。点击“查表显示”则select数据表的10条记录转换为10个String显示在Listbox,如右图,点击“计算平均绩点” 算出平均绩点,把平均绩点显示在文本框中。
很抱歉,作为一个语言模型,我没有办法直接展示图片或编写完整的GUI程序。但是,我可以提供一些基本的思路和代码示例供您参考。
首先,您需要使用一个 GUI 工具包(如 JavaFX 或 Swing)来创建界面和组件。在界面上创建一个 Listbox 和两个按钮(查表显示和计算平均绩点),并创建一个文本框用于显示平均绩点。
接下来,您需要编写代码来实现这些按钮的功能。在点击“查表显示”按钮时,您需要从数据表中查询并获取前10条记录,并将它们转换为一个字符串数组。然后,您可以使用 Listbox 组件的 setItems() 方法将这个字符串数组设置为其数据源,从而将这些记录显示在 Listbox 中。
示例代码:
```java
// 点击“查表显示”按钮的事件处理程序
button1.setOnAction(event -> {
// 查询前10条记录并转换为字符串数组
String[] records = queryFirst10Records();
// 将字符串数组设置为 Listbox 的数据源
listBox.setItems(FXCollections.observableArrayList(records));
});
```
在点击“计算平均绩点”按钮时,您需要从 Listbox 中获取所有选中的记录,并计算它们的平均绩点。具体来说,您需要遍历 Listbox 中的所有选中项,将它们的成绩和学分加起来,并计算它们的平均绩点。最后,您可以将计算出的平均绩点显示在文本框中。
示例代码:
```java
// 点击“计算平均绩点”按钮的事件处理程序
button2.setOnAction(event -> {
double totalScore = 0;
double totalCredit = 0;
// 遍历 Listbox 中的所有选中项
for (String record : listBox.getSelectionModel().getSelectedItems()) {
// 解析成绩和学分
String[] fields = record.split("\t");
double score = Double.parseDouble(fields[3]);
double credit = Double.parseDouble(fields[2]);
// 计算总成绩和总学分
totalScore += score * credit;
totalCredit += credit;
}
// 计算平均绩点
double gpa = totalScore / totalCredit / 20 - 1;
// 显示平均绩点
textField.setText(String.format("%.2f", gpa));
});
```
需要注意的是,这些示例代码只是提供了基本的思路和代码结构,实际的实现可能会更加复杂。您需要根据实际情况进行适当的修改和调整。
mysql数据库准备相应数据
好的,您可以按照以下步骤在MySQL数据库中准备相应数据:
1. 打开MySQL数据库,创建一个名为course_score的数据库:`CREATE DATABASE course_score;`
2. 切换到course_score数据库:`USE course_score;`
3. 创建一个名为course_score的数据表,包含coursecode、coursename、credit和score这四个字段:`CREATE TABLE course_score (coursecode VARCHAR(10), coursename VARCHAR(50), credit INT, score INT);`
4. 向course_score数据表中插入一些测试数据:`INSERT INTO course_score (coursecode, coursename, credit, score) VALUES ('C001', '计算机组成原理', 3, 85), ('C002', '操作系统', 4, 78), ('C003', '数据库系统原理', 3, 92), ('C004', '数据结构与算法', 4, 65), ('C005', '计算机网络', 3, 88), ('C006', '面向对象程序设计', 4, 72), ('C007', '编译原理', 3, 89), ('C008', '人工智能', 4, 80), ('C009', '软件工程', 3, 95), ('C010', '计算机图形学', 4, 68);`
这样,您就在MySQL数据库中准备好了相应的数据表和测试数据。
阅读全文