• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 24

Discussione: come si fa a controllare

Cambio titolo
  1. #1
    janky
    Ospite

    come si fa a controllare

    in c++ come si fa a controllare che un il valore immasso sia un carattere e non un numero o un carattere speciale??

  2. #2
    ...ros1k... L'avatar di <TheShop>Evoc Thurner
    Registrato il
    10-03
    Località
    La Spezia
    Messaggi
    7.558

    Re: come si fa a controllare

    Inviato da janky
    in c++ come si fa a controllare che un il valore immasso sia un carattere e non un numero o un carattere speciale??

    #include <iostream.h>

    void main (void)
    {
    char var;
    cin>>var;
    if((var>='A')&&(var<='Z')||(var>='a')&&(var<='z'))
    cout<<"Hai inserito un carattere!!!"<<endl;
    else
    cout<<"Hai inserito un numero o un carattere speciale<<endl;
    }

  3. #3
    janky
    Ospite
    a già è vero !

  4. #4
    janky
    Ospite
    ma scusa, perchè così non me lo prende giusto??

    Codice:
    #include <iostream.h>
    const max=20;
    
    void main()
    {
    	char n[max];
    	char aux;
    	
    	for (int i=0; i<20; i++){
    	do{
    
    
    			cout<<"Inserisci la "<<(i+1)<<"\° lettera: ";
    			cin>>n[i];
    
    		
    	}while((n[i]<='A')&&(n[i]>='Z')||(n[i]<='a')&&(n[i]>='z'));
    	}
    	for (i=0; i<20;i++)
    	{
    		if(n[i]>n[i+1])
    		{
    			aux=n[i];
    			n[i]=n[i+1];
    			n[i+1]=aux;
    		}
    	cout<<n[i]<<", ";
    	}
    
    }

  5. #5
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    prova ad utilizzare la funzione isalpha() contenita nella libreria ctype.h la funzione ritorna 0 se il numero non rappresenta un carattere

  6. #6
    Utente
    Registrato il
    12-02
    Località
    Venezia
    Messaggi
    110
    Inviato da janky
    ma scusa, perchè così non me lo prende giusto??

    Codice:
    [i]
    }while((n[i]<='A')&&(n[i]>='Z')||(n[i]<='a')&&(n>='z'));
    

    Controlla meglio quello che hai scritto e quello che ti e' stato consigliato. )
    Comunque usa isalpha(), come ti hanno gia' detto.
    man is your friend

  7. #7
    janky
    Ospite
    si, lo so che ho invertito i minori con i maggiori e viceversa, ma nel programma che devo fare mi serve che se non è una lettera deve uscire.

  8. #8
    Utente
    Registrato il
    12-02
    Località
    Venezia
    Messaggi
    110
    Inviato da janky
    si, lo so che ho invertito i minori con i maggiori e viceversa, ma nel programma che devo fare mi serve che se non è una lettera deve uscire.
    Solo che scritto cosi' non funziona affatto!
    Usa uno dei due modi seguenti:
    Codice:
    for (int i = 0; i < max; i++)
            do {
    	        std::cout << "Inserisci la " << (i+1) << "° lettera: ";
    		std::cin >> n[i];
            // scrivilo cosi', non come hai fatto tu
     	//} while (!((n[i]>='A')&&(n[i]<='Z')||(n[i]>='a')&&(n[i]<='z')));
    	} while (!isalpha(n[i]));
    man is your friend

  9. #9
    janky
    Ospite
    Codice:
    //} while (!((n[i]>='A')&&(n[i]<='Z')||(n[i]>='a')&&(n[i]<='z')));
    ah!! ecco è vero!

    grazie

  10. #10
    janky
    Ospite
    Codice:
    if(n[i]>n[i+1])
    		{
    			aux=n[i];
    			n[i]=n[i+1];
    			n[i+1]=aux;
    		}
    cmq stò ciclo non me li ordina alfabeticamente, perchè?

  11. #11
    Utente
    Registrato il
    12-02
    Località
    Venezia
    Messaggi
    110
    Inviato da janky

    cmq stò ciclo non me li ordina alfabeticamente, perchè?
    Manca qualcosa? )

    Supponendo che tu abbia tentato di implementare un bubble sort (verifica comunque, prima di darti gli esercizi qualcosa ti avranno pure spiegato ), il codice potrebbe assomigliare a questo:
    Codice:
    	// bubble sort
    	for (int i = 0; i < max; i++)
    		for (int j = max; j > i; --j)
    			if (n[j-1] > n[j]) {
    				char aux = n[j - 1];
    				n[j - 1] = n[j];
    				n[j] = aux;
    			}
    man is your friend

  12. #12
    janky
    Ospite
    madonna se sono newbie

    cmq no, non mi hanno spiegato un bel niente!

    c'ho una prof di ***** che dà gli esercizi senza spiegare!

    cmq grazie

  13. #13
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.311
    Inviato da 3y34|v|31337
    Manca qualcosa? )

    Supponendo che tu abbia tentato di implementare un bubble sort (verifica comunque, prima di darti gli esercizi qualcosa ti avranno pure spiegato ), il codice potrebbe assomigliare a questo:
    Codice:
    	// bubble sort
    	for (int i = 0; i < max; i++)
    		for (int j = max; j > i; --j)
    			if (n[j-1] > n[j]) {
    				char aux = n[j - 1];
    				n[j - 1] = n[j];
    				n[j] = aux;
    			}
    forse, in termini di efficenza sarebbe meglio che il ciclo esterno fosse un ciclo while.

  14. #14
    ...ros1k... L'avatar di <TheShop>Evoc Thurner
    Registrato il
    10-03
    Località
    La Spezia
    Messaggi
    7.558
    Inviato da devilheart
    forse, in termini di efficenza sarebbe meglio che il ciclo esterno fosse un ciclo while.
    lascia stare non complicargli la vita!

  15. #15
    Utente
    Registrato il
    12-02
    Località
    Venezia
    Messaggi
    110
    Inviato da devilheart
    forse, in termini di efficenza sarebbe meglio che il ciclo esterno fosse un ciclo while.
    Perche'?
    man is your friend

Pag 1 di 2 12 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •