C++模数小程序问题

Posted

技术标签:

【中文标题】C++模数小程序问题【英文标题】:C++ modulus small program issue 【发布时间】:2011-01-19 11:32:56 【问题描述】:

我正在尝试用 C++ 编写一个非常简单的程序,该程序可以找到两个数字的模数,如下所示:

#include <iostream>
using namespace std;
int n;
int d;
int modulus;
int main()

cout<<"***Welcome to the MODULUS calculator***";
cout<<"Enter the numerator, then press ENTER: ";
cin>>n;
cout<<"Enter the denominator, then press ENTER: ";
cin>>d;
modulus=n%d;
cout<<"The modulus is ---> "<<modulus;
return 0;

但是,当我尝试编译它时,我得到以下信息:

如何解决?

谢谢。

【问题讨论】:

阅读错误信息了吗? 我查看了部分消息,但没有得到解决问题所需的内容。 我猜你必须明白编译器试图告诉你什么。信息相当简单。 @sharptooth。我移动了“int模数;”在“int main()”内部,它起作用了。但为什么?为什么我应该把它放在 main() 方法的本地?谢谢。 它的作用域改变了,所以它不再和结构冲突了。 【参考方案1】:

您收到错误是因为您的全局变量 modulus 的名称与 std::modulus 冲突。要解决此问题,您可以:

modulus 设为局部变量 重命名modulus 变量 删除using namespace std 并从std 单独导入您需要的名称,或使用std:: 限定它们

【讨论】:

【参考方案2】:

因为你有 using namespace std; 它与 std::modulus 冲突

修正版:

#include <iostream>
using std::cout;
using std::cin;

int main()

    cout<<"***Welcome to the MODULUS calculator***";

    cout<<"Enter the numerator, then press ENTER: ";
    int n;
    cin>>n;

    cout<<"Enter the denominator, then press ENTER: ";
    int d;
    cin>>d;

    int modulus=n%d;

    cout<<"The modulus is ---> "<<modulus;
    return 0;

【讨论】:

以上是关于C++模数小程序问题的主要内容,如果未能解决你的问题,请参考以下文章

用c++写一个打开网页的小程序?

c++学习笔记---02---从一个小程序说起

C++入门小程序练习

C++阶段竞赛 | 小程序猿们的“华山论剑”!

c++程序运行后黑色小窗口自动关闭,怎么回事?

在 Qt C++ 应用程序中创建 python 解释器小部件的简单方法?