online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <string> #include <cstdlib> #include <iostream> using namespace std; ///esempio di utilizzo delle strutture in C++ ///il codice dichiara una struttura di nome monte, costituita dai campi: nome, ///nazione, altezza, vulcano, l'istanza della struttura è un array dinamico, che rappresenta ///le montagne considerate, la dimensione è inserita in fase di runtime. ///quindi si popola la struttura. scopo del programma è quello di ///ordinare la struttura per altezza delle montagne, a decrescere. in output si stampa la struttura. struct monte ///struttura di nome monte {///elenco dei campi string nome; string nazione; int altezza; bool vulcano; } ; monte *load(monte *vt, int dim) ///procedura che popola la struttura { int i; for(i=0; i<dim; i++) { cin.ignore(); ///si ripulisce lo stream di input cout<<"inserisci il nome: "<<endl; getline(cin,vt[i].nome); cout<<"inserisci la nazione: "<<endl; cin>>vt[i].nazione; cout<<"inserisci l'altezza: "<<endl; cin>>vt[i].altezza; cout<<"se vulcano digita: 1, altrimenti 0: "<<endl; cin>>vt[i].vulcano; cout<<endl; } return vt; ///valore di ritorno, la struttura popolata } void print(monte *vt, int dim) ///procedura che stampa la struttura { int i; for(i=0; i<dim; i++) { cout<<"il nome della montagna e': "<<endl; cout<<vt[i].nome<<endl; cout<<"si trova: "<<vt[i].nazione<<endl; cout<<"la sua altezza e': "<<vt[i].altezza<<endl; if(vt[i].vulcano==1) { cout<<"e' un vulcano"<<endl; } else { cout<<"non e' un vulcano"<<endl; } cout<<endl; } } monte *sort(monte *vt, int dim) ///definiamo la funzione che ordina la struttura {///si utilizza l'algoritmo bubble sort int i, j; for(i=0; i<dim; i++) { for(j=i+1; j<dim; j++) { if(vt[i].altezza<vt[j].altezza) { swap(vt[i],vt[j]); } } } return vt; ///valore di ritorno, la struttura ordinata per altezza a decrescere } int main() { int n; cout<<"inserisci la dimensione: "<<endl; cin>>n; while(n<2) { cout<<"errore, inserire una dimensione accettabile: "<<endl; cin>>n; } cout<<endl; monte *v=new monte [n]; ///istanza della struttura. v=load(v,n); ///si invoca la funzione che popola la truttura cout<<endl; print(v,n); ///si invoca la procedura che stampa la struttura cout<<endl; v=sort(v,n); ///si invoca la funzione che ordina la struttura. cout<<"stampa in modo ordinato: "<<endl; print(v,n); ///stampa della struttura ordinata. cout<<endl; delete [] v; ///si libera memoria cout<<endl; 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