online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> #include <cstdlib> #include <string> using namespace std; ///esempio di utilizzo delle strutture in C++ ///l'istanza è un array dinamico con la dimensione inserita in fase di runtime ///il programma dichiara una struttura di nome fiume, composta da 4 campi ///quindi la popola e la stampa a video, scopo del programma è quello di ///ricercare il fiume di lunghezza massima e stampare in output i suoi campi. struct fiume ///si dichiara una struttura di nome fiume con 4 campi { string nome; string nazione; int lunghezza; bool navigabile; } ; fiume *load(fiume *vt, int dim) ///procedura che popola la struttura {///l'accesso alla struttura avviene tramite l'istanza int i; for(i=0; i<dim; i++) { cin.ignore(); ///ripulisce lo stream di input cout<<"inserisci il nome del fiume: "<<endl; getline(cin,vt[i].nome); ///nome e cognome cout<<"inserisci la nazione: "<<endl; ///anche più nazioni contemporaneamente getline(cin,vt[i].nazione); cout<<"inserisci la lunghezza: "<<endl; cin>>vt[i].lunghezza; cout<<"se navigabile digita 1 altrimenti 0:"<<endl; cin>>vt[i].navigabile; cout<<endl; } return vt; ///valore di ritorno, l'array popolato } void print(fiume *vt, int dim) ///procedura per la stampa { int i; for(i=0; i<dim; i++) { cout<<"il nome del fiume e': "<<vt[i].nome<<endl; cout<<"scorre in: "<<vt[i].nazione<<endl; cout<<"di lunghezza: "<<vt[i].lunghezza<<endl; if(vt[i].navigabile==0) { cout<<"non navigabile"<<endl; } else { cout<<"navigabile"<<endl; } cout<<endl; } } fiume search(fiume *vt, int dim) { int i, max; fiume f; ///inizializzo per avere un riferimento iniziale max=vt[0].lunghezza; f=vt[0]; for(i=0; i<dim; i++) ///ricerca del fiume più lungo { if(vt[i].lunghezza>max) { f=vt[i]; } } return f; ///valore di ritorno, il fiume più lungo } int main() { int n; cout<<"inserisci il numero di fiumi: "<<endl; cin>>n; while(n<2) { cout<<"errore, inserire un numero accettabile: "<<endl; cin>>n; } cout<<endl; fiume *v=new fiume [n]; ///spazio di memoria dinamico, un array che istanzia la struttura. v=load(v,n); ///si invoca la procedura che popola la struttura cout<<endl; print(v,n); ///si invoca la procedura che stampa la struttura. cout<<endl; fiume mx; mx=search(v,n); ///si invoca la funzione che ricerca il fiume più lungo ///stampiamo il fiume più lungo con i suoi campi cout<<"il fiume di massima lunghezza e': "<<mx.nome<<endl; cout<<"scorre in: "<<mx.nazione<<endl; cout<<"di lunghezza: "<<mx.lunghezza<<endl; if(mx.navigabile==0) { cout<<"non navigabile"<<endl; } else { cout<<"navigabile"<<endl; } cout<<endl; delete [] v; cout<<"Potere ai Tecnici"<<endl; cout<<"P.C.++"<<endl; cout<<endl; system("PAUSE"); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue