Salve a tutti, sempre io a rompere, ma sarà l'ultima volta, promesso.
Mi serviva una minuscola mano che mi spiegasse "in modo informatico" (ossia perchè accade quel che accade, od ancora in parole povere: perchè è stato scritto così), questa parte di codice:
codice:
{
res = primo();
if (res) return res;
cout << "\nPremi c per continuare o qualunque altro tasto per terminare. ";
cin >> again;
}
facente parte dell'intero codice qui riportato:
codice:
#include <iostream>
#include <stdlib.h>
using namespace std;
int primo()
{
long long p;
int divisori = 0;
cout << "Digita un numero intero positivo: \n\n", cin >> p;
if (p < 0)
cout << "\nNon fare il furbetto, voglio un numero positivo!\n\n";
else if (p < 2)
cout << "\nQuesto non e' un numero primo.\n\n";
else if (p==2 || p==3)
cout<<"\nQuesto è uno dei più piccoli numeri primi!\n\n";
else {
for (int q = 2; q <= p/2; q++)
if (p%q == 0) {
cout <<'\n' << p << " = " << q << " * " << p / q << endl;
divisori++;
}
if (divisori > 0)
cout <<"\nQuesto dimostra che "<< p <<" non e un numero primo.\n\n";
else
cout <<"\n"<< p <<" e' un numero primo!\n\n";
}
return 0;
}
int main()
{
int res;
char again;
do
{
res = primo();
if (res) return res;
cout << "\nPremi c per continuare o qualunque altro tasto per terminare. ";
cin >> again;
}
while (again == 'c');
return 0;
}
Volevo inoltre sapere se a livello di scrittura va bene o fa schifio Grazie a tutti quanti per l'immensa disponibilità!!