有人能帮我调试这个程序吗
Can someone help me debug this program
这是我迄今为止的代码,我认为它做得很好,我认为问题出在我的数组上。
#include <iostream>
#include <cctype>
#include <fstream>
using namespace std;
const char FileName[] = "text.txt";
int main()
{
string line;
ifstream inMyStream(FileName);
int c;
int upperCaseCount[26] = { 0 };
int lowerCaseCount[26] = { 0 };
char oneLetter;
if (inMyStream.is_open())
{
while (getline(inMyStream, line))
{
c += line.length();
}
for (unsigned n = 0; n < line.length(); ++n)
{
oneLetter = char(line[n]);
if (oneLetter >= 'A' && oneLetter <= 'Z')
{
upperCaseCount[int(oneLetter) - 'A']++;
}
else if (oneLetter >= 'a' && oneLetter <= 'z')
{
lowerCaseCount[int(oneLetter) - 'a']++;
}
}
}
inMyStream.close();
cout << "Uppercase Characters: " << upperCaseCount << endl;
cout << "Lowercase Characters: " << lowerCaseCount <<endl;
cout << "Digits: " << c << endl;
return 0;
}
这是我得到的输出--->
C: \Users\House\Desktop\Lab11>测试
大写字符:0x28fcf4
小写字符:0x28fd5c
数字:1959532772
C: \用户\房屋\桌面\实验室11>
我看到两个问题(还有另一个大问题需要您调试)。
您需要将变量c
初始化为某个有用的起始值(可能为0)。
您需要迭代数组以打印它们的内容。当前得到的奇怪输出是地址,而不是数组内容。
下面是一个计算大写病例小写病例和数字的工作示例
#include <iostream>
#include <cctype>
#include <fstream>
using namespace std;
const char FileName[] = "text.txt";
int main()
{
string line;
ifstream inMyStream(FileName);
int c=0;//counts digits
int upperCount=0;//counts uppercases
int lowerCount=0;//counts lowercases
char oneLetter;
if (inMyStream.is_open())
{
while (getline(inMyStream, line))
{
for (unsigned n = 0; n < line.length(); ++n)
{
oneLetter = line[n];
if (oneLetter >= 'A' && oneLetter <= 'Z')
{
upperCount++;
}
else if (oneLetter >= 'a' && oneLetter <= 'z')
{
lowerCount++;
}
else if (oneLetter >= '0' && oneLetter <= '9'){
c++;
}
}
}
}
inMyStream.close();
cout << "Uppercase Characters: " << upperCount << endl;
cout << "Lowercase Characters: " << lowerCount <<endl;
cout << "Digits: " << c << endl;
return 0;
}
希望它有所帮助;)
相关文章:
- 使用调试/崩溃报告将应用程序部署到客户端
- WinDeployqt 不会为调试应用程序部署 Qwindowsd.dll
- 如何在添加文件的情况下在VSCode中调试C++程序
- 调试 ASP MVC 应用程序中使用的C++ DLL
- 调试控制台 ChessEngine.exe "used"在另一个应用程序(国际象棋 GUI)中
- 在 c++ 中,rand() 在执行有调试和不带调试的程序时生成不同的结果
- 如何在 VsCode 上调试 C++/C 程序
- 为什么我的程序无法在GDB在线编译器/调试器或Visual Studio C++ 2019中运行
- 在集成终端上运行vscode lldb调试器时,如何获取程序的输出?
- 如何将Valgrind与Qt Creator一起使用来调试远程应用程序?
- 程序在 CLion 中调试时收到分段错误
- 如何调试无法编译的Arduino程序?
- 如何使用VB经典IDE在VB脚本中调试ActiveX应用程序
- 程序调试
- 使用应用程序验证程序调试时应用程序挂起
- Anagram程序调试
- C++程序调试
- Visual Studio控制台应用程序调试
- GDB/DDD:使用多进程应用程序 C/C++调试共享库
- 试图使一个.dll插件,但通过程序调试给出了错误