Numeri strani alla fine di un cout.

di il
10 risposte

Numeri strani alla fine di un cout.

I numeri strani sono quelli che vedete dopo l'ultimo messaggio.
Vi prego aiutatemi devo consegnare entro domani!
Allegati:
28529_e4bc75c81c0c8d63b39bbbaf67b5d11a.png
28529_e4bc75c81c0c8d63b39bbbaf67b5d11a.png

10 Risposte

  • Re: Numeri strani alla fine di un cout.

    Posta anche il main, magari è lì che sta il problema. Copialo e incollalo nel tag code, invece di fare lo screenshot.
  • Re: Numeri strani alla fine di un cout.

    Dall'immagine si vede già che hai scritto

    if(resto=0)

    e non

    if(resto==0)

    ma comunque DEVI proporre tutto il codice postandolo come ti ha detto Alexv ...
  • Re: Numeri strani alla fine di un cout.

    #include <iostream>
    #include "funzioni.h"
    using namespace std;
    //Questo programma permette di verificare se un numero è primo o no.
    
    int main() 
    {
    	int n,ris;
    	cout<<"Nota: Se il numero e' primo il programma restituira' 1 altrimenti 0 se non lo e'. "<<endl;
    	cout<<"Dimmi un numero, ed io ti diro se quest'ultimo e' primo o no: ";
    	cin>>n;
    	ris=numero_primo(n);
    	cout<<ris;
    	return 0;
    }
    file funzioni.h
    
    int numero_primo (int);
    
    File funzioni.cpp
    
    #include <iostream>
    #include "funzioni.h"
    using namespace std;
    
    int numero_primo (int x)
    {
    	int div=2,contatore,resto;
    	resto=x%div;
    	if ((x>0)&&(x<100))
    	{
    		if (resto==0)			
    		{
    			return 0;
    		}	
    		else
    		{
    			return 1;
    		}
    	}
    	else
    	{
    		cout<<"Inserisci numeri compresi tra 1 e 100!! ";
    	}
    }
    
  • Re: Numeri strani alla fine di un cout.

    Hai letto quello che ti ho scritto?
  • Re: Numeri strani alla fine di un cout.

    Si oregon, ho anche corretto, ma il problema persiste
  • Re: Numeri strani alla fine di un cout.

    Copia TUTTO il codice non solo il main
  • Re: Numeri strani alla fine di un cout.

    Fatto! e mi scusi per non averlo fatto prima.
  • Re: Numeri strani alla fine di un cout.

    Nella funzione numero_primo hai inserito un controllo sulla validità del numero (tra 1 e 100) che non dovrebbe andare lì, semmai nel main.

    E nella stessa funzione non controlli affatto se il numero è primo o no. Fai solamente una divisione per due e valuti il resto, ma non si controlla così se il numero è primo.
  • Re: Numeri strani alla fine di un cout.

    Per aggiunta, quel numero casualissimo che ti esce è dovuto ad una non corretta inizializzazione di ris poiché numero_primo non ritorna un intero quando controlli che il numero non sia compreso tra 1 e 99 (ti faccio notare che 100 non è compreso nell’intervallo…).

    Come detto da oregon il controllo va effettuato nel main (in effetti numero_primo non dovrebbe nemmeno permettersi di scrivere a schermo) e ti suggerisco l’uso delle variabili di tipo bool piuttosto che intero, in quanto è il loro scopo gestire questi casi di vero o falso.
  • Re: Numeri strani alla fine di un cout.

    Il secondo else della funzione non restituisce niente, quindi va da sé che sia un numero a caso.
Devi accedere o registrarti per scrivere nel forum
10 risposte