[c++] problema programma con suoni

di il
15 risposte

[c++] problema programma con suoni

Ciao a tutti.. mi servirebbe il vostro aiuto.. è da oggi pomeriggio che lavoro su questo programma che riproduce tutti i suoni del sistema, come programma console, ma alla fine sorge un problema durante la compilazione di tutto, perchè dice questo..
1>MSVCRT.lib(crtexew.obj) : error LNK2001: simbolo esterno _WinMain@16 non risolto
1>C:\Users\Tommaso\documents\visual studio 2010\Projects\qualsiasi cosa venga in mente\Release\qualsiasi cosa venga in mente.exe : fatal error LNK1120: 1 esterni non risolti

sono quasi sicuro che faccia riferimento alla libreria winmm.lib, anche se l'ho aggiunta nei link esterni.. ho cercato sul computer dov'era, ma l'ho trovato solo nel progetto di un misero file.. non credo sia normale, ma mi affido alle vostre mani sicuramente piu esperte delle mie..( il programma è un po lungo, ma potete balzare a pie pari il void help perche è una serie di cout inutili, a livello di applicazione...)

#include"stdafx.h"
#include<iostream>
#include<Windows.h>
#include<MMSystem.h>
#include<string>
#include<stdlib.h>
#include<fstream>


using namespace std;
void help();

void help()
{
				cout<<"hai schiacciato Help:"<<endl;
			cout<<"1: accordi\n2: accordo\n3: controllo account utente di windows\n4: ding\n5:ir_begin\n6: ir_end\n7: ir_inter\n8: notifica\n9: riciclo\n10: riconoscimento vocale - ambiguita'";
			cout<<"\n11: riconoscimento vocale: attivo\n12: riconoscimento vocale: errore\n13: riconoscimento vocale: inattivo\n14: riconoscimento vocale: sospeso\n15: suono alto\n16: tada";
			cout<<"\n17: windows - arresto critico\n18: windows - arresto\n 19: windows - avvia\n20: windows - barra informazioni\n21: windows - batteria in esaurimento\n22: windows - batteria quasi scarica";
			cout<<"\n23: windows - comando di menu\n24: windows - ding\n25: windows - errore hardware\n26: windows - errore\n27: windows - feed individuato\n28: windows - fumetto\n29: windows - inizio esplorazione";
			cout<<"\n30: windows - inserimento hardware\n31: windows - notifica\n32:windows - popup bloccato\n33: windows - punto esclamativo\n34: windows - riciclo\n35: windows - riduzione a icona";
			cout<<"\n36: windows - rimozione hardware\n37: windows - ripristino\n38: windows - stampa completata\n39: windows - suono acceso\n40: windows - suono alto\n41: windows - suono basso";
			cout<<"\n42: windows - suono disconnessione\n43: windows predefinito"<<endl;
}

int main()
{ 
	char numerohelp;
	cout<< "by Tommaso Castiglione Ferrari            inutilmente studios 2011.\n"<<endl;
	cout<<" _   _    _   _   _   _____   _   _     _   _    _   _   _   _____    _"<<endl;
	cout<<"| | | |  | | | | | | |_   _| | | | |   | \| | |  |   | | | | |_   _|  |    "<< endl;
	cout<<"| | |  \  | | | | | |   | |   | | | |   | |\_| |  |_  |  \ | |   | |    |_  "<< endl;
	cout<<"| | | |\\ | | | |_| |   | |   | | | |_  |     |  |   | |\\  |   | |    |   "<< endl;
	cout<<"|_| |_| \|__| |_____|   |_|   |_| |___| |     |  |_  |_| \|_|   |_|    |_  \n"<< endl;
	cout<<"inserisci il numero del suono Windows che vuoi riprodurre.\n se non conosci i numeri associati ai suoni, schiaccia help."<<endl;
	cout<<"se vuoi chiudere il programma, scrivi 99."<<endl;
	while(numerohelp==99)
	{
		cin>>numerohelp;
		switch (numerohelp)
		{
			case 1:
				PlaySound(TEXT("c:\\windows\\media\\accordi.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 2:
				PlaySound(TEXT("c:\\windows\\media\\accordo.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 3:
				PlaySound(TEXT("c:\\windows\\media\\controllo account utente di windows.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 4:
				PlaySound(TEXT("c:\\windows\\media\\ir_begin.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 5:
				PlaySound(TEXT("c:\\windows\\media\\ir_end.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 6:
				PlaySound(TEXT("c:\\windows\\media\\ir_inter.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 7:
				PlaySound(TEXT("c:\\windows\\media\\notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 8:
				PlaySound(TEXT("c:\\windows\\media\\riciclo.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 9:
				PlaySound(TEXT("c:\\windows\\media\\riconoscimento vocale - ambiguità.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 10:
				PlaySound(TEXT("c:\\windows\\media\\riconoscimento vocale - attivo.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 11:
				PlaySound(TEXT("c:\\windows\\media\\riconoscimento vocale - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 12:
				PlaySound(TEXT("c:\\windows\\media\\riconoscimento vocale - inattivo.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 13:
				PlaySound(TEXT("c:\\windows\\media\\riconoscimento vocale - sospeso.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 14:
				PlaySound(TEXT("c:\\windows\\media\\suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 15:
				PlaySound(TEXT("c:\\windows\\media\\tada.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 16:
				PlaySound(TEXT("c:\\windows\\media\\windows - arresto critico.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 17:
				PlaySound(TEXT("c:\\windows\\media\\windows - arresto.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 18:
				PlaySound(TEXT("c:\\windows\\media\\windows - avvio.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 19:
				PlaySound(TEXT("c:\\windows\\media\\windows - barra informazioni.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 20:
				PlaySound(TEXT("c:\\windows\\media\\windows - batteria in esaurimento.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 21:
				PlaySound(TEXT("c:\\windows\\media\\windows - batteria quasi scarica.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 22:
				PlaySound(TEXT("c:\\windows\\media\\windows - comando di menu.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 23:
				PlaySound(TEXT("c:\\windows\\media\\windows - ding.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 24:
				PlaySound(TEXT("c:\\windows\\media\\windows - errore hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 25:
				PlaySound(TEXT("c:\\windows\\media\\windows - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 26:
				PlaySound(TEXT("c:\\windows\\media\\windows - feed individuato.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 27:
				PlaySound(TEXT("c:\\windows\\media\\windows - fumetto.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 28:
				PlaySound(TEXT("c:\\windows\\media\\windows - inizio esplorazione.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 29:
				PlaySound(TEXT("c:\\windows\\media\\windows - inserimento hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 30:
				PlaySound(TEXT("c:\\windows\\media\\windows - notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 31:
				PlaySound(TEXT("c:\\windows\\media\\windows - popup bloccato.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 32:
				PlaySound(TEXT("c:\\windows\\media\\windows - punto esclamativo.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 33:
				PlaySound(TEXT("c:\\windows\\media\\windows - riciclo.wav"),NULL, SND_FILENAME|SND_SYNC);
				break;
			case 34:
				PlaySound(TEXT("c:\\windows\\media\\windows - riduzione a icone.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 35:
				PlaySound(TEXT("c:\\windows\\media\\windows - rimozione hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 36:
				PlaySound(TEXT("c:\\windows\\media\\windows - ripristino.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 37:
				PlaySound(TEXT("c:\\windows\\media\\windows - stampa completata.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 38:
				PlaySound(TEXT("c:\\windows\\media\\windows - suono acceso.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 39:
				PlaySound(TEXT("c:\\windows\\media\\windows - suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 40:
				PlaySound(TEXT("c:\\windows\\media\\windows - suono basso.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 41:
				PlaySound(TEXT("c:\\windows\\media\\windows - suono disconnessione.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 42:
				PlaySound(TEXT("c:\\windows\\media\\windows predefinito.wav"),NULL,SND_FILENAME|SND_SYNC);
				break;
			case 'h':
				help();
				break;
			case 99:
				cout<<"il programma si sta chiudendo, attendere.";
				break;
			default:
				cout<<"il numero da te inserito è invalido!";
			}
		}
		return 0;
	}

15 Risposte

  • Re: [c++] problema programma con suoni

    A me sembra un problema di main. Hai definito il progetto come gui ( da cui l'errore linker su winmain) ma stai compilando un progetto console. Come soluzione dovresti andare nelle proprieta del linker e mettere come subsystem: console
    Per verificare se winmm.lib e stato incluso nelle proprietá del linker puoi forzarlo con il pragma
    
    #pragma comment(lib,"winmm.lib")
    
  • Re: [c++] problema programma con suoni

    Grazie mille!.. visto che ci sono posso chiederti un'altra cosa? per poter memorizzare un elemento che puo essere sia numero che lettera, ho usato char, ma sorge un problema nello switch: se usa gli apici singoli, funziona, cioe, sembra leggere l'informazione richiesta per quel dato numero , che non sia superiore a 9, perche se no è come se mi leggesse i due numeri separati(es.: '10', legge prima 1 e poi 0..), mentre per le lettere è perfetto.. se invece per i numeri non uso gli apici singoli, mi da errore..e un'altra cosina: sto usando un windows 7, e lo switch dovrebbe cercare per un determinato numero, una determinata traccia audio presente nel sistema.. solo che la traccia non la trova, anche se ho inserito il percorso.. potreste controllarlo(il percorso) per vedere se è effettivamente corretto? grazie mille!
  • Re: [c++] problema programma con suoni

    Metto anche il codice del programma modificato, cosi è piu facile capire..
    
    #include"stdafx.h"
    #include<iostream>
    #include<Windows.h>
    #include<MMSystem.h>
    #include<string>
    #include<fstream>
    #pragma comment(lib,"winmm.lib")
    
    using namespace std;
    void help();
    
    void help()
    {
    				cout<<"hai schiacciato Help:"<<endl;
    			cout<<"1: accordi\n2: accordo\n3: controllo account utente di windows\n4: ding\n5: ir_begin\n6: ir_end\n7: ir_inter\n8: notifica\n9: riciclo\n10: riconoscimento vocale - ambiguita'";
    			cout<<"\n11: riconoscimento vocale: attivo\n12: riconoscimento vocale: errore\n13: riconoscimento vocale: inattivo\n14: riconoscimento vocale: sospeso\n15: suono alto\n16: tada";
    			cout<<"\n17: windows - arresto critico\n18: windows - arresto\n19: windows - avvia\n20: windows - barra informazioni\n21: windows - batteria in esaurimento\n22: windows - batteria quasi scarica";
    			cout<<"\n23: windows - comando di menu\n24: windows - ding\n25: windows - errore hardware\n26: windows - errore\n27: windows - feed individuato\n28: windows - fumetto\n29: windows - inizio esplorazione";
    			cout<<"\n30: windows - inserimento hardware\n31: windows - notifica\n32: windows - popup bloccato\n33: windows - punto esclamativo\n34: windows - riciclo\n35: windows - riduzione a icona";
    			cout<<"\n36: windows - rimozione hardware\n37: windows - ripristino\n38: windows - stampa completata\n39: windows - suono acceso\n40: windows - suono alto\n41: windows - suono basso";
    			cout<<"\n42: windows - suono disconnessione\n43: windows predefinito"<<endl;
    }
    
    int main()
    { 
    	ofstream outFile;
    	char numerohelp;
    	string commento;
    	cout<< "by Tommaso Castiglione Ferrari            inutilmente studios 2011.\n"<<endl;
    	cout<<" _   _    _   _   _   _____   _   _     _   _    _   _   _   _____    _"<<endl;
    	cout<<"| | | |  | | | | | | |_   _| | | | |   | \| | |  |   | | | | |_   _|  |    "<< endl;
    	cout<<"| | |  \  | | | | | |   | |   | | | |   | |\_| |  |_  |  \ | |   | |    |_  "<< endl;
    	cout<<"| | | |\\ | | | |_| |   | |   | | | |_  |     |  |   | |\\  |   | |    |   "<< endl;
    	cout<<"|_| |_| \|__| |_____|   |_|   |_| |___| |     |  |_  |_| \|_|   |_|    |_  \n"<< endl;
    	MessageBox(NULL,(LPCSTR)_T("Il programma è dedicato a Massimiliano Lorenzelli!"),(LPCSTR)_T("CIAO MAX!"),MB_OK|MB_ICONEXCLAMATION);
    	cout<<"inserisci il numero del suono Windows che vuoi riprodurre.\nse non conosci i numeri associati ai suoni, scrivi help."<<endl;
    	cout<<"se vuoi chiudere il programma, scrivi 0."<<endl;
    	cout<<"se vuoi lasciare un commento, scrivi commento."<<endl;
    	while(numerohelp!=0)
    	{
    		cout<<"\nInserisci un numero.\n";
    		cin>>numerohelp;
    		switch (numerohelp)
    		{
    			case '1':
    				PlaySound(TEXT("Acer(C:)\\Windows\\Media\\accordi.wav"),NULL,SND_NODEFAULT|SND_SYNC);
    				break;
    			case '2':
    				PlaySound(TEXT("C:\\Windows\\Media\\accordo.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '3':
    				PlaySound(TEXT("C:\\Windows\\Media\\Controllo account utente di Windows.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '4':
    				PlaySound(TEXT("C:\\Windows\\Media\\ir_begin.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '5':
    				PlaySound(TEXT("C:\\Windows\\Media\\ir_end.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '6':
    				PlaySound(TEXT("C:\\Windows\\Media\\ir_inter.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '7':
    				PlaySound(TEXT("C:\\Windows\\Media\\notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '8':
    				PlaySound(TEXT("C:\\Windows\\Media\\riciclo.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '9':
    				PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - ambiguità.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '10':
    				PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - attivo.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '11':
    				PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '12':
    				PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - inattivo.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '13':
    				PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - sospeso.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '14':
    				PlaySound(TEXT("C:\\Windows\\Media\\suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '15':
    				PlaySound(TEXT("C:\\Windows\\Media\\tada.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '16':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - arresto critico.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '17':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - arresto.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '18':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - avvio.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '19':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - barra informazioni.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '20':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - batteria in esaurimento.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '21':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - batteria quasi scarica.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '22':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - comando di menu.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '23':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - ding.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '24':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - errore hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '25':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '26':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - feed individuato.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '27':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - fumetto.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '28':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - inizio esplorazione.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '29':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - inserimento hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '30':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '31':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - popup bloccato.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '32':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - punto esclamativo.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '33':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - riciclo.wav"),NULL, SND_FILENAME|SND_SYNC);
    				break;
    			case '34':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - riduzione a icone.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '35':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - rimozione hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '36':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - ripristino.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '37':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - stampa completata.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '38':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - suono acceso.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '39':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '40':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - suono basso.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '41':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows - suono disconnessione.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case '42':
    				PlaySound(TEXT("C:\\Windows\\Media\\windows predefinito.wav"),NULL,SND_FILENAME|SND_SYNC);
    				break;
    			case 'h':
    				help();
    				break;
    			case 'c':
    				cout<<"qui puoi scrivere il tuo commento"<<endl;
    				outFile.open("c:\\users\\tommaso\\desktop\\commenti.txt",ios::app);
    					cin>>commento;
    				outFile<<commento<<"\n";
    				outFile.close();
    				cout<<"il commento e' stato inserito e salvato!";
    				break;
    			case '0':
    				cout<<"il programma si sta per chiudere, attendere.";
    				return 0;
    				break;
    			default:
    				cout<<"il numero da te inserito è invalido!";
    			}
    		}
    		return 0;
    	}
    
    
    
  • Re: [c++] problema programma con suoni

    Definisci numerohelp come int e non come char. Nei casi i numeri li controlli senza gli apici. Il resto dovrebbe funzionare.
  • Re: [c++] problema programma con suoni

    Ci avevo pensato, ma poi ci sarebbe il problema delle funzioni help e commento, e per usarli nella stessa parte dovrei usare una serie di 44 if..else.. il che sarebbe lungo per me e anche per il programma credo..
  • Re: [c++] problema programma con suoni

    Non ti seguo. invece di scrivere help fai mettere solo h come stai faccendo. Io non vedo dov'è sta il problema. la conversione da int a char viene fatta dal compilatore.
  • Re: [c++] problema programma con suoni

    Scusa, ma se dichiaro numerohelp come int, poi posso utilizzarlo anche per i valori "h" e "c"? non mi da errore?
  • Re: [c++] problema programma con suoni

    No, non ti da errore. Provare per credere.
  • Re: [c++] problema programma con suoni

    L'ho sostituito come hai detto, e i numeri van bene, ma quando premo h(o "c"), provato nello switch prima cosi 'h, mi da un errore infinito, mentre se lo scrivo così',"h" o h, mi da errore e non me lo fa compilare..
  • Re: [c++] problema programma con suoni

    Ok hai ragione. Ecco come l'ho risolto. Vedi se ti funziona
    
        #include"stdafx.h"
        #include<iostream>
        #include<Windows.h>
        #include<MMSystem.h>
        #include<string>
        #include<fstream>
        #pragma comment(lib,"winmm.lib")
    
        using namespace std;
        void help();
    
        void help()
        {
                    cout<<"hai schiacciato Help:"<<endl;
                 cout<<"1: accordi\n2: accordo\n3: controllo account utente di windows\n4: ding\n5: ir_begin\n6: ir_end\n7: ir_inter\n8: notifica\n9: riciclo\n10: riconoscimento vocale - ambiguita'";
                 cout<<"\n11: riconoscimento vocale: attivo\n12: riconoscimento vocale: errore\n13: riconoscimento vocale: inattivo\n14: riconoscimento vocale: sospeso\n15: suono alto\n16: tada";
                 cout<<"\n17: windows - arresto critico\n18: windows - arresto\n19: windows - avvia\n20: windows - barra informazioni\n21: windows - batteria in esaurimento\n22: windows - batteria quasi scarica";
                 cout<<"\n23: windows - comando di menu\n24: windows - ding\n25: windows - errore hardware\n26: windows - errore\n27: windows - feed individuato\n28: windows - fumetto\n29: windows - inizio esplorazione";
                 cout<<"\n30: windows - inserimento hardware\n31: windows - notifica\n32: windows - popup bloccato\n33: windows - punto esclamativo\n34: windows - riciclo\n35: windows - riduzione a icona";
                 cout<<"\n36: windows - rimozione hardware\n37: windows - ripristino\n38: windows - stampa completata\n39: windows - suono acceso\n40: windows - suono alto\n41: windows - suono basso";
                 cout<<"\n42: windows - suono disconnessione\n43: windows predefinito"<<endl;
        }
    
        int main()
        {
           ofstream outFile;
           int numerohelp = 1;
    	   string line;
           string commento;
           cout<< "by Tommaso Castiglione Ferrari            inutilmente studios 2011.\n"<<endl;
           cout<<" _   _    _   _   _   _____   _   _     _   _    _   _   _   _____    _"<<endl;
           cout<<"| | | |  | | | | | | |_   _| | | | |   | \\| | |  |   | | | | |_   _|  |    "<< endl;
           cout<<"| | |  \\  | | | | | |   | |   | | | |   | |\\_| |  |_  |  \\ | |   | |    |_  "<< endl;
           cout<<"| | | |\\ | | | |_| |   | |   | | | |_  |     |  |   | |\\  |   | |    |   "<< endl;
           cout<<"|_| |_| \\|__| |_____|   |_|   |_| |___| |     |  |_  |_| \\|_|   |_|    |_  \n"<< endl;
           MessageBox(NULL,(LPCSTR)_T("Il programma è dedicato a Massimiliano Lorenzelli!"),(LPCSTR)_T("CIAO MAX!"),MB_OK|MB_ICONEXCLAMATION);
           cout<<"inserisci il numero del suono Windows che vuoi riprodurre.\nse non conosci i numeri associati ai suoni, scrivi help."<<endl;
           cout<<"se vuoi chiudere il programma, scrivi 0."<<endl;
           cout<<"se vuoi lasciare un commento, scrivi commento."<<endl;
           while(numerohelp!='0')
           {
              cout<<"\nInserisci un numero.\n";
    		  
    		  getline(cin,line);
    		  numerohelp = atoi(line.c_str());
    		  if(numerohelp == 0 && !line.empty())
    			  numerohelp = line[0];
             
              switch (numerohelp)
              {
                 case 1:
                    PlaySound(TEXT("Acer(C:)\\Windows\\Media\\accordi.wav"),NULL,SND_NODEFAULT|SND_SYNC);
                    break;
                 case 2:
                    PlaySound(TEXT("C:\\Windows\\Media\\accordo.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 3:
                    PlaySound(TEXT("C:\\Windows\\Media\\Controllo account utente di Windows.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 4:
                    PlaySound(TEXT("C:\\Windows\\Media\\ir_begin.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 5:
                    PlaySound(TEXT("C:\\Windows\\Media\\ir_end.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 6:
                    PlaySound(TEXT("C:\\Windows\\Media\\ir_inter.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 7:
                    PlaySound(TEXT("C:\\Windows\\Media\\notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 8:
                    PlaySound(TEXT("C:\\Windows\\Media\\riciclo.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 9:
                    PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - ambiguità.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 10:
                    PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - attivo.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 11:
                    PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 12:
                    PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - inattivo.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 13:
                    PlaySound(TEXT("C:\\Windows\\Media\\riconoscimento vocale - sospeso.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 14:
                    PlaySound(TEXT("C:\\Windows\\Media\\suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 15:
                    PlaySound(TEXT("C:\\Windows\\Media\\tada.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 16:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - arresto critico.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 17:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - arresto.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 18:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - avvio.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 19:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - barra informazioni.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 20:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - batteria in esaurimento.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 21:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - batteria quasi scarica.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 22:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - comando di menu.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 23:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - ding.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 24:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - errore hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 25:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - errore.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 26:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - feed individuato.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 27:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - fumetto.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 28:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - inizio esplorazione.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 29:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - inserimento hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 30:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - notifica.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 31:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - popup bloccato.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 32:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - punto esclamativo.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 33:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - riciclo.wav"),NULL, SND_FILENAME|SND_SYNC);
                    break;
                 case 34:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - riduzione a icone.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 35:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - rimozione hardware.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 36:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - ripristino.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 37:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - stampa completata.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 38:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - suono acceso.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 39:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - suono alto.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 40:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - suono basso.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 41:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows - suono disconnessione.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 42:
                    PlaySound(TEXT("C:\\Windows\\Media\\windows predefinito.wav"),NULL,SND_FILENAME|SND_SYNC);
                    break;
                 case 'h':
                    help();
                    break;
                 case 'c':
                    cout<<"qui puoi scrivere il tuo commento"<<endl;
                    outFile.open("c:\\users\\tommaso\\desktop\\commenti.txt",ios::app);
                       cin>>commento;
                    outFile<<commento<<"\n";
                    outFile.close();
                    cout<<"il commento e' stato inserito e salvato!";
                    break;
    			 case '0':
                    cout<<"il programma si sta per chiudere, attendere.";
                    return 0;
                    break;
                 default:
                    cout<<"il numero da te inserito è invalido!";
                 }
    			 
              }
              return 0;
           }
    
  • Re: [c++] problema programma con suoni

    So che puo essere seccante, e mi scuso, ma è tutto a posto tranne una cosa: quando compilo, tutto okay, i numeri funzionano e anche help, e quando schiaccio c(ommento) mi accetta il commento, ma, quando schiaccio invio per farlo salvare nella cartella, quello lo salva e fa chiudere inspiegabilmente il programma, come se avessi schiacciato il tasto 0..
  • Re: [c++] problema programma con suoni

    Cambia il caso 'c' cosi
    
    case 'c':
    	cout<<"qui puoi scrivere il tuo commento"<<endl;
    	outFile.open("c:\\users\\tommaso\\desktop\\commenti.txt",ios::app);
    	cin>>commento;
    	outFile<<commento<<"\n";
    	outFile.close();
    	cout<<"il commento e' stato inserito e salvato!";
    	cin.ignore(1000,'\n');
    break;
    
  • Re: [c++] problema programma con suoni

    Ora è definitivamente a posto! grazie mille per la pazienza!
  • Re: [c++] problema programma con suoni

    Ultimissima domanda: visto che non so perche, ma seguendo il percosro per riprodurre i suoni, solo il 4, 5, e 6 riproducono realmente i suoni, e gli altri mi fanno il suono default perche non li trovano, pensavo di aggiungerli al programma, includendoli come se fosse un'immagine, ma non funge: nè aggiungendoli come elementi, nè usando programmi esterni tipo reshack.. alllora mi è sorta la domanda: è possibile farlo? se si, come?


    modifica:
    capito perche non mi riproduceva i suoni, ma per un futuro, la domanda che ti ho posto rimane valida.. grazie!
Devi accedere o registrarti per scrivere nel forum
15 risposte