Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Funzione scnaf e ifstream

    Ciao, ho un problema.
    Il valore ottenuto dallo scanf non riesco ad utilizzarlo per un banale if che mi attiva un ifstream in(..).

    codice:
                 int scelta;
    	scanf("%d",&scelta);
    	printf("Scelta effettuata: %d\n",scelta);
    	
    	const char *stringa;
    
    	if (( scelta = 1 )) {
    	stringa="C:/.../bkpUnc100-1.txt";
    	}
    	if ((scelta = 2)) {
    	stringa="C:/.../bkpUnc200-1.txt";
    	}
    	if ((scelta = 3)) {
    	stringa="C:/.../bkpSco100-1.txt";
    	}
    	if ((scelta = 4)) {
    	stringa="C:/.../bkpSco200-1.txt";
    	}
    	if ((scelta = 5)) {
    	stringa="C:/.../bkpBwu100-1.txt";
    	}
    	if ((scelta = 6)) {
    	stringa="C:/.../bkpBwu200-1.txt";
    	}
    	ifstream in(stringa);
    << World and Technology >>

  2. #2
    Utente di HTML.it L'avatar di Ifrit
    Registrato dal
    Oct 2005
    Messaggi
    116
    Ciao ^^

    Allora l'errore risiede nell'operatore che usi fra gli argomenti delle if.

    Vi sono 2 operatori: = e ==.
    1. Operatore =
      Esso assegna il valore di ritorno dell'argomento/i presente/i alla sua destra, alla variabile presente alla sua sinistra, ovvero:
      codice:
      variabile_1 = variabile_2
      variabile_1 = variabile_2 + ( variabile_3 * variabile_4)
      variabile_1 = funzione_definita_da_noi( argomento )
      Nella prima riga si scrive nella variabile 1 il contenuto della variabile 2, nella seconda riga si scrive nella variabile 1 il risultato che si ottiene fra la variabile 2, 3 e 4, in fine la terza riga indica come si scrive il risultato di una funzione in una variabile.
    2. Operatore ==
      Questo e' un operatore di test, esso restituisce true solo se gli argomenti presentiai suoi lati sono uguali:
      codice:
      if ( a == b )
            ...
      while ( *puntatore == NULL )
            ...
      Essendo una cosa molto intuitiva mi viene difficile spiegarlo , comunque possiamo dire che l'operatore == e' quello che deve essere impiegato nei controlli di flusso.
      Il suo duale e' !=, quest'ultimo operatore si comporta in modo opporsto di ==


    Quindi per veloce ispezione puoi notare che nel codice da te postato viene processata sempre la prima if perche "scelta = 1" e' un'operazione che va a buon fine, ovvero "restituisce" 1, alias true

    saluti
    codice:
     $(".canaglia").show()

  3. #3
    Grazie 1000 ...
    << World and Technology >>

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.