Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87

    [c++] istruzioni di salto

    salve a tutti!
    ho scritto, per esercizio, il seguente programma:

    #include<iostream.h>
    int main()
    {
    int i, j;
    int* b;
    cout<<"Inserisci due numeri:\n";
    cin>> i >> j;
    if (i==j) {
    cout<<"I due numeri sono uguali!\n";
    system("pause");
    return 0;}
    else if (i > j)
    b = &i;
    else
    b = &j;
    cout<<"Il maggiore tra "<< i <<" e "<< j <<" e': "<< *b <<'\n';
    (*b)++; //incrementa di 1 il maggiore tra i due
    cout<< b <<'\n';
    system("pause");
    return 0;
    }

    come vedete, se i due numeri sono uguali il programma si chiude.
    io vorrei fare in modo che se inserisco due numeri uguali stampa il messaggio a video e torna all'output "inserisci due numeri".
    ho provato con goto ma mi da errore. come posso fare? grazie.

  2. #2
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    #include<iostream.h>
    #include <stdlib.h>

    int main()
    {
    int i, j;
    int* b;

    do {
    cout<<"Inserisci due numeri:\n";
    cin>> i >> j;
    if (i==j) {
    cout<<"I due numeri sono uguali!\n";
    system("PAUSE");
    }
    else {
    if(i > j)
    b = &i;
    if(i < j)
    b = &j;
    cout<<"Il maggiore tra "<< i <<" e "<< j <<" e': "<< *b <<'\n';
    (*b)++; //incrementa di 1 il maggiore tra i due
    cout<< b <<'\n';
    }
    } while( i==j );

    system("PAUSE");
    return 0;
    }
    Basta includere tutto in un do-while..
    Poi fa attenzione..devi togliere il return dal primo if, e fare in modo che si stampi

    cout<<"il maggiore etc etc

    solo quando i due numeri non sono uguali..
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  3. #3
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    1) Inserisci tutto tra [ CODE] e [/ CODE](i mod dovrebbero aver aggiornato il regolamento...)

    2) NON usare goto.

    Ecco il codice:
    codice:
    #include <iostream>
    
    using namespace std;
    
    int main() 
    { 
    	int i, j; 
    	int* b; 
    
    	do {
    		cout <<"Inserisci due numeri:\n"; 
    		cin >> i >> j; 
    		if (i==j) 
    		{ 
    			cout<<"I due numeri sono uguali!\n"; 
    			return 0;
    		} 
    		else {
    			if (i > j) 
    				b = &i; 
    			else 
    				b = &j; 
    
    			cout << "Il maggiore tra " << i << " e " << j << " e': " << *b <<'\n'; 
    			(*b)++; //incrementa di 1 il maggiore tra i due 
    			cout << b << endl; 
    		}
    	} while(i==j);
    
    	
            system("PAUSE");
            return 0; 
    }
    Se fai il return 0, il programma termina subito!

    [EDIT]
    Mi hai anticipato! ☺☻☺☻☺☻
    [/EDIT]

  4. #4
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    c'è anche un altro errore..
    bisogna stare attenti: se i numeri sono uguali nulla vieta al programma di saltare alle seguenti istruzioni:
    codice:
    cout<<"Il maggiore tra "<< i <<" e "<< j <<" e': "<< *b <<'\n'; 
    		(*b)++; //incrementa di 1 il maggiore tra i due 
    		cout << b << endl;
    che non devono essere eseguite se i numeri sono uguali!!!

    Ma con CODE si rispetta l'identazione del prog??
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  5. #5
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    Mi hai anticipato! ☺☻☺☻☺☻
    Questione di fortuna!!!
    Ma di pochissimo!!!
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  6. #6
    Utente di HTML.it L'avatar di mica81
    Registrato dal
    Nov 2003
    Messaggi
    87
    ah ecco! adesso ho capito. graciassssssssssss

  7. #7
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Originariamente inviato da Angioletto

    Ma con CODE si rispetta l'identazione del prog??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.