Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429

    [c++] Problema con la condizione

    Raga aiutatemi!!!!!
    di questo ciclo alla fine impongo una condizione che nn riesco a scrivere in modo corretto e nn so proprio come scrivere....in effetti io ripeto il ciclo se il valore inserito è diverso da 1 e 0 e poi lo dovrebbe ripetere anche quando, una volta inseriti o il numero 1 o 0, si preme n...vedete un attimo vi prego (il messaggio è lungo solo perchè ci sono anche delle istruzioni per fare la cosa più bella graficamente)
    Codice PHP:
    do{
    gotoxy(20,2);
      
    cout<<"..:: SCELTA DEL TIPO DI CONVERSIONE ::.. ";
      
    cout<<"QUALE TIPO DI CONVERSIONE VUOI EFFETTUARE ? ";
      
    cout<<"|";
      
    gotoxy(3,11);
      
    cout<<"|";
      
    gotoxy(3,12);
      
    cout<<"|________________ DECIMALE/BINARIO (PREMI 1)_________";
      
    gotoxy(3,13);
      
    cout<<"|                                                   |";
      
    gotoxy(3,14);
      
    cout<<"|                                                   |--->";
      
    gotoxy(3,15);
      
    cout<<"|                                                   |";
      
    gotoxy(3,16);
      
    cout<<"|________________ BINARIO/DECIMALE (PREMI 0)________|";
      
    gotoxy(67,14);
      
    cin>>scelta;
      if ((
    scelta!=0)&&(scelta!=1)){
          
    gotoxy(7,20);
          
    cout<<"..:: ERRORE ! PREMI UN TASTO E INSERISCI '1' OPPURE '0' ::..";
          
    getch();
      }
      if(
    scelta==1){
          
    gotoxy(2,20);
          
    cout<<"HAI DECISO DI EFFETTUARE LA CONVERSIONE DA DECIMALE A BINARIO, SEI SICURO ?";
          
    cout<<"             PREMI 's' PER CONFERMARE , 'n' PER CAMBIARE SCELTA   ";
          
    cin>>conf;
      }
      if(
    scelta==0){
          
    gotoxy(2,20);
          
    cout<<"HAI DECISO DI EFFETTUARE LA CONVERSIONE DA BINARIO A DECIMALE , SEI SICURO ?";
          
    cout<<"             PREMI 's' PER CONFERMARE , 'n' PER CAMBIARE SCELTA   ";
          
    cin>>conf;
      }
      
    gotoxy(1,24);
      
    clrscr();
      } while (((
    scelta!=0)&&(scelta!=1))&&((conf!='s')||(conf!='n'))); 
    aiutatemi....vi scongiuro e grazie in anticipo per le vostre risposte

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Dopo il primo if() metti un [C]continue;[/C] che fa ritornare all'inizio del ciclo.
    Altrimenti puoi mettere un else prima del secondo if.



    P.S. per il controllo dei caratteri ti consiglio di usare tolower() per considerare anche una lettera maiuscola.

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    (((scelta != 0) && (scelta != 1)) || (conf == 'n'))

  4. #4
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429

    risolto

    grazie mille tutto risolto (ho fatto come mi ha detto anx)

    iguana scusa ma nn so proprio come si utilizzi la funzione tolower(); cioè dove di preciso la devo mettere???

  5. #5
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    (((scelta != 0) && (scelta != 1)) || (tolower(conf) == 'n'))

    devi anche includere #include <ctype.h>

    Tieni presente inoltre che quando chiedi la conferma non controlli se l'utente inserisce un tasto diverso sia da 's' che da 'n'. In tal caso, il while non viene ripetuto. Se invece vuoi che il while venga ripetuto anche in questo caso (che sarebbe preferibile), la condizione diventa:

    (((scelta != 0) && (scelta != 1)) || (tolower(conf) != 's'))

    in questo modo in sostanza ripeti il while se l'utente non iserisce 's', mentre qualsiasi altro tasto equivale a no,


  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Piccola pillolina: la funzione tolower() la puoi facilmente implementare tu stesso:
    codice:
    char toLower(char c) { return (c | 32); }
    Ciao!
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Codice molto compatto (ma poco capibile per che nn la conosce)

    Comunque serve per impostare al carattere minuscolo un qualsiasi carattere.
    Se fai i controlli su tolower(s) invece di s, l'utentè può anche inserire un carattere maiuscolo.


  8. #8
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    scusate raga un altro problema:

    nel rpimo if che scrivo dove c'è la condizione

    Codice PHP:
    if ((scelta!=0)&&(scelta!=1)) 

    se inserisco dei numeri diversi da 1 e 0 va benissimo e mi da l'errore, ma nel momento in ad esempio inserisco un carattere qualsiasi , il programma va in crash e lo devo solo chiudere......

    ho provato a cambiare i tipi di variabili interessate in quella sequenza di tre if a cascata, ovvero le variabili conf e scelta.
    La prima, conf è di tipo char mentre scelta è di tipo int....ho provato a mettere scelta come char e cambiato in modo opportuno le condizioni dei cicli mettendo gli apostrofi ( ' ) o come si chiamano......sapete darmi una mano????

    vi ringrazio in anticipo per le vostre risposte

  9. #9
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    scusate potreste darmi una mano con il problema che ho esposto nel post di sopra????

  10. #10
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Spiegati.
    Cosa intendi per carattere qualsiasi?
    0 e 1?
    Un carattere non 0 e 1?
    0 oppure 1 o un altro carattere?
    Hai seguito il mio primo consiglio?


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.