Applicazione Pratica Array – La PlayList
Applicazione Pratica Array - La PlayList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
//https://repl.it/languages/cpp #include <iostream> #include <cmath> using namespace std; void seme(){ srand((unsigned)time(NULL)); } float casuale(int MIN, int MAX, int n_decimal){ MIN=MIN*pow(2, n_decimal); MAX=MAX*pow(2, n_decimal); return(rand()%(MAX-MIN+1)+MIN)/pow(2, n_decimal); } //album musicale costituito da 8 canzoni int main() { string canzone1; string canzone2; string canzone3; string canzone4; string canzone5; string canzone6; string canzone7; string canzone8; canzone1="Viceversa - Francesco Gabbani"; canzone2="Dov'e' - Le Vibrazioni"; canzone3="Fai rumore - Diodato"; canzone4="Gigante - Piero Pelu'"; canzone5="Ringo Starr - PTN"; canzone6="Andromeda - Eloide"; canzone7="Me Ne Frego - Achille Lauro"; canzone8="Finalmente Io - Irene Grandi"; int numero; //ascolto casuale seme(); numero=casuale(1, 8, 0); cout<<"La canzone scelta casualmente e' la numero "; cout<<numero; cout<<" ed è la seguente\n"; if(numero==1) cout<<canzone1<<endl; else if(numero==2) cout<<canzone2<<endl; else if(numero==3) cout<<canzone3<<endl; else if(numero==4) cout<<canzone4<<endl; else if(numero==5) cout<<canzone5<<endl; else if(numero==6) cout<<canzone6<<endl; else if(numero==7) cout<<canzone7<<endl; else if(numero==8) cout<<canzone8<<endl; else cout<<"scelta errata\n"; cout<<"Quale canzone vuoi ascoltare (da 1 a 8): "; cin>>numero; cout<<"La canzone numero "; cout<<numero; cout<<" è "; if(numero==1) cout<<canzone1<<endl; else if(numero==2) cout<<canzone2<<endl; else if(numero==3) cout<<canzone3<<endl; else if(numero==4) cout<<canzone4<<endl; else if(numero==5) cout<<canzone5<<endl; else if(numero==6) cout<<canzone6<<endl; else if(numero==7) cout<<canzone7<<endl; else if(numero==8) cout<<canzone8<<endl; else cout<<"scelta errata\n"; //inseriamo da tastiera le canzoni cout<<"Inserisci il titolo della prima canzone: "; getline(cin, canzone1); cout<<"Inserisci il titolo della seconda canzone: "; getline(cin, canzone2); cout<<"Inserisci il titolo della terza canzone: "; getline(cin, canzone3); cout<<"Inserisci il titolo della quarta canzone: "; getline(cin, canzone4); cout<<"Inserisci il titolo della quinta canzone: "; getline(cin, canzone5); cout<<"Inserisci il titolo della sesta canzone: "; getline(cin, canzone6); cout<<"Inserisci il titolo della settima canzone: "; getline(cin, canzone7); cout<<"Inserisci il titolo della ottava canzone: "; getline(cin, canzone8); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
//https://repl.it/languages/cpp #include <iostream> #include <cmath> using namespace std; void seme(){ srand((unsigned)time(NULL)); } float casuale(int MIN, int MAX, int n_decimal){ MIN=MIN*pow(2, n_decimal); MAX=MAX*pow(2, n_decimal); return(rand()%(MAX-MIN+1)+MIN)/pow(2, n_decimal); } //Genero MAX-MIN+1 numeri interi casuali senza ripetizioni compresi fra MIN e MAX //li inserisco in un vettore la cui dimensione è MAX-MIN+1 void randVet(int vet[], int MIN, int MAX){ seme(); int i=0, j; bool trovato; vet[i]=casuale(MIN, MAX, 0); for(i=1; i<MAX-MIN+1; i++){ do{ vet[i]=casuale(MIN, MAX, 0); j=0; trovato=false; do{ if(vet[i]==vet[j]) trovato=true; j++; }while(trovato==false && j<i); }while(trovato==true); } } void shuffle_album(string vet[], int N){ int num[N]; string vet_temp[N]; randVet(num, 0, N-1); for(int i=0; i<N; i++) vet_temp[i]=vet[num[i]]; for(int i=0; i<N; i++) vet[i]=vet_temp[i]; } //album musicale costituito da 8 canzoni int main() { //album di 8 canzoni string album[8]; album[0]="Viceversa - Gabbani"; album[1]="Dov'e' - Le Vibrazioni"; album[2]="Fai rumore - Diodato"; album[3]="Gigante - Piero Pelu'"; album[4]="Ringo Starr - PTN"; album[5]="Andromeda - Eloide"; album[6]="Me Ne Frego - Achille Lauro"; album[7]="Finalmente Io - Irene Grandi"; cout<<"Le canzoni dell'album sono:\n"; for(int i=0; i<8; i++){ cout<<album[i]<<endl; } int numero; //ascolto casuale seme(); numero=casuale(0, 7, 0); cout<<"\nLa canzone scelta casualmente (da 0 a 7) e' la numero "; cout<<numero; cout<<" ed è la seguente\n"; cout<<album[numero]<<endl; cout<<"\nRiproduzione casuale\n"; shuffle_album(album, 8); for(int i=0; i<8; i++){ cout<<album[i]<<endl; } for(int i=0; i<8; i++){ cout<<"\nInserisci la canzone numero "; cout<<i+1<<endl; //cin>>album[i]; //problema degli spazi fflush(stdin); //svuota la memoria della tastiera per prevenire eventuali errori di buffer getline(cin, album[i]); } cout<<"\nLe canzoni che hai inserito sono:\n"; for(int i=0; i<8; i++){ cout<<"Inserisci la canzone numero "; cout<<i+1<<endl; cout<<album[i]<<endl; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
//https://repl.it/languages/cpp #include <iostream> #include <cmath> using namespace std; void seme(){ srand((unsigned)time(NULL)); } float casuale(int MIN, int MAX, int n_decimal){ MIN=MIN*pow(2, n_decimal); MAX=MAX*pow(2, n_decimal); return(rand()%(MAX-MIN+1)+MIN)/pow(2, n_decimal); } //Genero MAX-MIN+1 numeri interi casuali senza ripetizioni compresi fra MIN e MAX //li inserisco in un vettore la cui dimensione è MAX-MIN+1 void randVet(int vet[], int MIN, int MAX){ seme(); int i=0, j; bool trovato; vet[i]=casuale(MIN, MAX, 0); for(i=1; i<MAX-MIN+1; i++){ do{ vet[i]=casuale(MIN, MAX, 0); j=0; trovato=false; do{ if(vet[i]==vet[j]) trovato=true; j++; }while(trovato==false && j<i); }while(trovato==true); } } void shuffle_album(string vet[], int N){ int num[N]; string vet_temp[N]; randVet(num, 0, N-1); for(int i=0; i<N; i++) vet_temp[i]=vet[num[i]]; for(int i=0; i<N; i++) vet[i]=vet_temp[i]; } //playlist di N canzoni int main(){ int N; cout<<"Qaunte canzoni vuoi inserire nella play-list: "; cin>>N; string album[N]; //supponiamo che sia stato scelto N=8 album[0]="Viceversa - Gabbani"; album[1]="Dov'e' - Le Vibrazioni"; album[2]="Fai rumore - Diodato"; album[3]="Gigante - Piero Pelu'"; album[4]="Ringo Starr - PTN"; album[5]="Andromeda - Eloide"; album[6]="Me Ne Frego - Achille Lauro"; album[7]="Finalmente Io - Irene Grandi"; cout<<"Le canzoni dell'album sono:\n"; for(int i=0; i<N; i++){ cout<<album[i]<<endl; } int numero; //ascolto casuale seme(); numero=casuale(0, N-1, 0); cout<<"\nLa canzone scelta casualmente (da 0 a "<<N-1<<") e' la numero "; cout<<numero; cout<<" ed è la seguente\n"; cout<<album[numero]<<endl; cout<<"\nRiproduzione casuale\n"; shuffle_album(album, N); for(int i=0; i<N; i++){ cout<<album[i]<<endl; } for(int i=0; i<N; i++){ cout<<"\nInserisci la canzone numero "; cout<<i+1<<endl; //cin>>album[i]; //problema degli spazi fflush(stdin); //svuota la memoria della tastiera per prevenire eventuali errori di buffer getline(cin, album[i]); } cout<<"\nLe canzoni che hai inserito sono:\n"; for(int i=0; i<N; i++){ cout<<"Inserisci la canzone numero "; cout<<i+1<<endl; cout<<album[i]<<endl; } } |