gpt4 book ai didi

c++ - 程序打开错误

转载 作者:行者123 更新时间:2023-11-28 05:46:40 24 4
gpt4 key购买 nike

当我尝试启动我的 C++ 程序时,它因错误“5.exe 已停止工作”而停止。该程序应该计算池需要多少 block 瓷砖,如果一侧的瓷砖数量是非整数,则向其添加一行瓷砖。附言抱歉我的英语不好。

#include <iostream>
#include <math.h>
#include <cstdlib>

using namespace std;

int main()
{
int x,y,z;
int a,b;
cout << "Insert dimensions of pool in metres: " << endl;
cin >> x >> y >> z;
cout << "Insert dimensions of tile in centimeters: " << endl;
cin >> a >> b;

a=a/100;
b=b/100;

int brx = 0, brzx = 0, bry = 0, brzy = 0, bxpod = 0, bypod = 0;

if (x%a == 0) {
brx = x / a;
}
else {
brx = x / a + 1;
}

if (z%b == 0) {
brzx = z / b;
}
else {
brzx = z / b + 1;
}

if (y%a == 0) {
bry = y / a;
}
else {
bry = y / a + 1;
}

if (z%b == 0) {
brzy = z / b;
}
else {
brzy = z / b + 1;
}

if (x%a == 0) {
bxpod = x / a;
}
else {
bxpod = x / a + 1;
}

if (y%b == 0) {
bypod = y / b;
}
else {
bypod = y / b + 1;
}

int s = (brx*brzx + bry*brzy) * 2 + bxpod*bypod;

cout << "You need " << s << "tiles." << endl;

system("pause");
return 0;
}

最佳答案

使用调试器,您可以很容易地发现在以下 lline 中被 0 除:

if (x%a == 0) {
brx = x / a;
}

您正在对“a”进行整数除法:

 a = a / 100;

因此,如果 a 小于 100,则 a 将为 0。当转换为 int 时,10/100 = 0.1 = 0。你应该使用 double 而不是 int

关于c++ - 程序打开错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com