void Input(STU stu[]) { char date[15]; string stuN, ClassN; int stuID, ClassX, ClassL; while (1) { cout << "请输入记录情况个数" << endl; cin >> n; for (int i = 0; i < n; i++) { cout << "请输入第" << i + 1 << "种情况" << endl; cout << "请输入缺课日期\n"; cin >> date; cout << "请输入第几节课\n"; cin >> ClassX; cout << "请输入课程名称\n"; cin >> ClassN; cout << "请输入学生姓名\n"; cin >> stuN; cout << "请输入学生学号\n"; cin >> stuID; cout << "请输入缺课类型,1代表请假,2代表旷课, 3代表迟到\n"; cin >> ClassL; stu[i].input(date, ClassX, ClassN, stuN, stuID, ClassL); } cout << "输入信息完毕!是否继续输入?y是继续,n是停止:" << endl; char cc; getchar(); cin >> cc; if (cc == 'n') return; } }
时间: 2024-04-07 07:28:22 浏览: 11
这是一个 C++ 函数 Input,该函数用于输入学生的缺课信息,并将输入的信息存储在 STU 类型的数组 stu[] 中。函数中使用了 while 循环,表示可以连续输入多组缺课信息。在每一轮循环中,先输入缺课记录的个数 n,然后依次输入每个学生的缺课信息,包括缺课日期、课节、课程名称、学生姓名、学生学号和缺课类型。在输入缺课信息时,使用了 STU 类中的 input 函数,将输入的信息存储到对应的 STU 类型对象中。输入完毕后,会询问用户是否继续输入,如果用户输入的是 n,则函数结束。函数中还使用了 getchar 函数,用于从标准输入流中读取一个字符,因为在输入缺课信息之前,可能还存在其他字符或回车符等输入。
相关问题
class STU { public: STU() {} void input(char d[], int X, string n, string sn, int sd, int cl) { strcpy_s(date, d); ClassX = X; ClassN = n; stuN = sn; stuID = sd; ClassL = cl; } void print() { cout << "缺课日期 课节 课程名称 学生姓名 学生学号 缺课类型\t" << endl; cout << date << "\t" << ClassX << "\t" << ClassN << "\t" << stuN << "\t" << stuID << "\t" << ClassL << endl; } friend void Change(STU stu[]); friend void Find(STU stu[]); friend void chaxun1(STU stu[]); friend void chaxun2(STU stu[]); private: string stuN; int stuID; char date[15]; int ClassX; string ClassN; int ClassL; };
这是一个 C++ 类 STU,该类包含了一些成员函数和友元函数。其中,成员函数 input 和 print 分别用于输入学生的缺课信息和输出学生的缺课信息。该类的私有成员包括学生姓名(stuN)、学生学号(stuID)、缺课日期(date)、缺课课节(ClassX)、缺课课程名称(ClassN)和缺课类型(ClassL)。友元函数 Change、Find、chaxun1 和 chaxun2 可以访问该类的私有成员,用于实现对缺课信息的修改、查找和查询。在输入信息函数中使用了字符串拷贝函数 strcpy_s,该函数用于将一个字符串复制到另一个字符串中。同时,该类还定义了一个默认构造函数。
使用 API 在 HBase 中创建 Stu_Class 表
可以通过 HBase 的 Java API 来创建 Stu_Class 表。
以下是实现的步骤:
1. 创建 Configuration 对象,并设置 HBase 的配置信息:
```java
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "localhost"); // ZooKeeper 地址
config.set("hbase.zookeeper.property.clientPort", "2181"); // ZooKeeper 端口
```
2. 创建 HBaseAdmin 对象:
```java
HBaseAdmin admin = new HBaseAdmin(config);
```
3. 创建表描述器 HTableDescriptor 对象:
```java
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("Stu_Class")); // 表名
```
4. 添加表列族:
```java
HColumnDescriptor columnDescriptor = new HColumnDescriptor("info"); // 列族名
tableDescriptor.addFamily(columnDescriptor);
```
5. 创建表:
```java
admin.createTable(tableDescriptor);
```
完整的示例代码如下:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.HColumnDescriptor;
import java.io.IOException;
public class CreateStuClassTable {
public static void main(String[] args) throws IOException {
// 创建 Configuration 对象
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "localhost"); // ZooKeeper 地址
config.set("hbase.zookeeper.property.clientPort", "2181"); // ZooKeeper 端口
// 创建 HBaseAdmin 对象
HBaseAdmin admin = new HBaseAdmin(config);
// 创建表描述器 HTableDescriptor 对象
HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("Stu_Class")); // 表名
// 添加表列族
HColumnDescriptor columnDescriptor = new HColumnDescriptor("info"); // 列族名
tableDescriptor.addFamily(columnDescriptor);
// 创建表
admin.createTable(tableDescriptor);
// 关闭连接
admin.close();
}
}
```
注意:在运行上述程序之前,请先启动 HBase 服务。