将我的代码改成可输入无限长度的检索号 book temp; int n = 0; cout << "请输入检索号:"; cin >> temp.idnum; while(mybook.SearchBookPosWithid(temp.idnum) > -1) { cout << "检索号重复啦!请输入数字 !" << endl; cin >> temp.idnum;
时间: 2024-01-26 21:04:59 浏览: 30
好的,根据你的要求,将代码修改为可以输入无限长度的检索号。修改后的代码如下:
```
book temp;
int n = 0;
cout << "请输入检索号:";
cin >> temp.idnum;
while (true) {
if (mybook.SearchBookPosWithid(temp.idnum) > -1) {
cout << "检索号重复啦!请输入数字 !" << endl;
cin >> temp.idnum;
} else {
break;
}
}
```
这样修改后,程序会一直循环等待用户输入,直到输入的检索号没有重复。如果输入的检索号与已有的图书重复,程序会提示用户重新输入,直到输入的检索号没有重复为止。
相关问题
优化这段代码 int n; cout <<"输入数组长度:" << endl; cin >> n; cout <<"请输入数组:" << endl; int nums[n]; for(int i=0;i<n;i++) { cin >> nums[n]; } shunxuSort(nums); for (int num : nums) { cout <<"顺序排序的结果"<< num << " "; } cout << endl; zhebanSort(nums); for (int num : nums) { cout <<"折半排序的结果:"<< num << " "; } cout << endl; maopaoSort(nums); for (int num : nums) { cout <<"冒泡排序的结果:"<< num << " "; } cout << endl; return 0; }
int n;
cout << "输入数组长度:" << endl;
cin >> n;
int *nums = new int[n];
cout << "请输入数组:" << endl;
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
shunxuSort(nums);
cout << "顺序排序的结果:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
zhebanSort(nums);
cout << "折半排序的结果:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
maopaoSort(nums);
cout << "冒泡排序的结果:";
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
delete[] nums;
return 0;
```
在这个优化中,我们使用了动态分配内存来为数组分配空间,同时使用循环遍历数组元素而不是使用范围 for 循环,这样可以避免在每次迭代中计算数组大小。
另外,在每次输出结果后,我们添加了一个换行符,使输出更加清晰。最后,我们使用 delete[] 释放了数组所占用的内存,避免内存泄漏。
以下这段代码该怎么优化int main() { int v1=0, v2=0; std::cout << "请输入两个整数:" << std::endl; std::cout << "第一个整数:"; std::cin >> v1; std::cout << "第二个整数"; std::cin >> v2; if (v1 > v2) { int tmp = 0; tmp += v1; v1 = v2; v2 = tmp; } for (int i=v1;i <= v2;++v1) { std::cout << v1 <<std::endl; } return 0; }
可以将第二个整数的输入和v1、v2比较的逻辑拆分开来,避免不必要的变量赋值和比较。同时,在循环内部直接输出i。
代码如下:
int main() {
int v1, v2;
std::cout << "请输入两个整数:" << std::endl;
std::cout << "第一个整数:";
std::cin >> v1;
std::cout << "第二个整数:";
std::cin >> v2;
if (v1 > v2) {
int tmp = v1;
v1 = v2;
v2 = tmp;
}
for (int i = v1; i <= v2; i++) {
std::cout << i << std::endl;
}
return 0;
}
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)