cout << "———————————————————————————————————————————————————查询图书信息—————————————————————————————————————————————————————\n" << endl; cout << "按类型查找图书信息\n" << endl; cout << "请输入要查询的书籍类型:"; cin >> type; // 修正变量名 query = "select * from books where books_type = '" + type + "'"; if (mysql_query(&mysql, query.c_str())) { cout << "Error: Query[查询成功] fail." << mysql_error(&mysql) << endl; break; } res = mysql_store_result(&mysql); while ((row = mysql_fetch_row(res))) { cout << "编号: " << row[0] << " 书名: " << row[1] << "当前数量: " << row[2] << setw(10) << "价格:¥" << row[3] << "作者:" << row[4] << " 类型:" << row[5] << endl; } cout << "——————————————————————————————————————————————————————————————————————————————————————————————————————————————————\n" << endl; break;优化代码让其打印输出可以数据对齐
时间: 2023-07-28 15:07:16 浏览: 60
可以使用 setw() 函数来设置输出的宽度,使其数据对齐。具体代码如下:
```
cout << "———————————————————————————————————————————————————查询图书信息—————————————————————————————————————————————————————\n" << endl;
cout << "按类型查找图书信息\n" << endl;
cout << "请输入要查询的书籍类型:";
cin >> type; // 修正变量名
query = "select * from books where books_type = '" + type + "'";
if (mysql_query(&mysql, query.c_str())) {
cout << "Error: Query[查询成功] fail." << mysql_error(&mysql) << endl;
break;
}
res = mysql_store_result(&mysql);
int id_width = 7; // 编号宽度
int name_width = 30; // 书名宽度
int count_width = 10; // 当前数量宽度
int price_width = 10; // 价格宽度
int author_width = 20; // 作者宽度
int type_width = 10; // 类型宽度
cout << left << setw(id_width) << "编号" << setw(name_width) << "书名" << setw(count_width) << "当前数量" << setw(price_width) << "价格" << setw(author_width) << "作者" << setw(type_width) << "类型" << endl;
cout << "------------------------------------------------------------------------------------------------------------------" << endl;
while ((row = mysql_fetch_row(res))) {
cout << left << setw(id_width) << row[0] << setw(name_width) << row[1] << setw(count_width) << row[2] << setw(price_width) << "¥" << row[3] << setw(author_width) << row[4] << setw(type_width) << row[5] << endl;
}
cout << "------------------------------------------------------------------------------------------------------------------" << endl;
break;
```
注:根据数据的宽度,可以适当调整 setw() 函数中的参数值,以达到最佳的数据对齐效果。