程序运行时出现空白窗口

Blank Window while program is running?

本文关键字:空白 窗口 运行时 程序      更新时间:2023-10-16
//***********************************************************
#include <iostream>
#include <iomanip>
#include <cstdlib>
// function prototypes
void intOutput();
void floatingPointOutput();
void intMathOperations(int rows, int b, int width); // int math demonstration
void writeHeaderLine(int width);
void writeMathLine(int a, int b, int width);
using namespace std;
int main()
{
int a, b, width, rows;
cout << "nProject 1: Math and Functions";
cout << "n";
cout << "n";
cout << "nProject 1 Start.";
cout << "nZack Cunningham";
cout << "n";
cout << "nInteger Output Demo:";
cout << "n";
intOutput();
floatingPointOutput();
intMathOperations(rows, b, width); // int math demonstration
writeHeaderLine(width);
writeMathLine(a, b, width);
cout << "n";
cout << "nProject 1 End.";
cout << "n";
const int FIELD_WIDTH = 10;
intMathOperations(12, 5, FIELD_WIDTH);
return EXIT_SUCCESS;
}
void intMathOperations(int rows, int b, int width){
cout << "n";
cout << "nInteger Math Operations Demo:";
cout << "n";
writeHeaderLine(width);
cout << "n";
for (int a = 0; a < rows; ++a){writeMathLine(a, b, width);
}
}

void writeHeaderLine(int width){
cout << "n";
cout << setw(width) << "a";
cout << setw(width) << "b";
cout << setw(width) << "a * b";
cout << setw(width) << "a / b";
cout << setw(width)<< "a % b";
}
void writeMathLine(int a, int b, int width){
cout << setw(width) << a;
int rows;
for (int a = 0; a < rows; ++a){writeMathLine(a, b, width);
}
}
void floatingPointOutput(){
double a = 2000;
double b = 3;
double c = a / b;
cout << "n" << a << " / " << b << " = ";
cout << "n" << c;
cout << setprecision(10);
cout << "n" << setw(20) << c;
cout << scientific; // scientific notation
cout << "n" << setw(20) << c;
cout << fixed; // standard decimal notation
cout << "n" << setw(20)<< c;
cout << left; // left justify
cout << "n" << setw(20) << c;
cout << right;
// right justify (default)
cout << "n" << setw(20) << c;
cout << setprecision(6); // return to default
cout << "n" << setw(20) << c;
cout << "n";
}
// function calls
void intOutput(){
cout << "nInteger Output Demo:";
cout << "n";
int a = 12;
int b = 12345678;
cout << "n....5...10...15...20"; // spacing info
cout << "n";
cout << "n" << setw(20) << a;
cout << "n" << setw(20) << b;
cout << "n";
cout << "n" << setw(4) << a;
cout << "n" << setw(4) << b;
cout << left; // left justified
cout << "n";
cout << "n" << setw(20) << a;
cout << "n" << setw(20) << b;
cout << right; // right (default) justified
cout << "n";
}

这是我的程序的所有代码,我已经一遍又一遍地工作了。最后没有错误,但它是一个空白程序,只是在无限循环中运行。我不确定该怎么做,如果有人能帮忙,我将不胜感激。谢谢。

至少你需要解决这个问题。您将变量rows定义为

int a, b, width, rows;

但是您没有初始化rows而是在这里使用它,

intMathOperations(rows, b, width); // int math demonstration

它使用for循环中的rows作为结束条件。 这是一个问题。

要解决此问题,我建议您打开所有这样的警告

g++ -Wall your_code.cpp

确保您了解您的每个警告并修复必要的警告。