Domanda

Sto cercando di scrivere un programma molto semplice in C ++ che trova il modulo di due numeri come segue:

#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;
}

Ma, quando provo a compilare, ottengo quanto segue:

alt text

Come può essere risolto?

Grazie.

È stato utile?

Soluzione

Si ottiene l'errore perché il nome dei vostri scontri variabile modulus globali con std::modulus. Per risolvere questo problema, è possibile:

  • Fare modulus una variabile locale
  • Rinomina la variabile modulus
  • Rimuovere using namespace std e sia importare i nomi ti servono da std singolarmente o qualificarli con std::

Altri suggerimenti

Perché hai using namespace std; si scontra con std :: modulo

Versione corretta:

#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;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top