Ragazzi! Non riesco a capire dov'è l'errore! Sono alle prime armi sì, ma aiutatemi perché non riesco a far funzionare bene la IF.
In poche parole, una volta lanciato il programma e inserito il nome, mi stampa a video il nome (come da me richiesto) e poi però salta l'istruzione IF.
Sono consapevole che è impossibile che salti l'istruzione IF, credo che abbia sbagliato qualcosa con le variabili, ma non riesco a capire cosa.
#include "stdafx.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
using namespace std;
int main()
{
cout << "Benvenuto utente! Qual e' il tuo nome? ";
char nome[6] = { ' ', ' ', ' ', ' ', ' ', '\0' };
char nomevero[6] = { 'D', 'a', 'r', 'i', 'o', '\0' };
char nomevero2[6] = { 'd', 'a', 'r', 'i', 'o', '\0' };
cin >> nome;
cout << nome;
if (nome == nomevero || nome == nomevero2 ){ cout << "Sembra proprio che tu sia sincero, Dario!"; }
else { cout << "Bugiardo! Metti il tuo nome vero!!!"; }
getchar();
getchar();
}
Cio' che mi accade è che quando questo programma va in esecuzione è come se non riconoscesse né "Dario" né "dario" alla condizione IF e continua l'esecuzione tranquillamente.
Lo scopo di questo programma dovrebbe essere :
1- Riconoscere solo il nome Dario
2- Se ne viene inserito uno differente, l'utente deve essere rimandato all'inserimento.
Ho provato anche con questo ciclo.... Funziona tranne per quando inserisco realmente il nome "Dario" ....
Credo a questo punto che sia un problema di variabili.
int main()
{
char nome[6] = { ' ', ' ', ' ', ' ', ' ', '\0' };
char nomevero[6] = { 'D', 'a', 'r', 'i', 'o', '\0' };
char nomevero2[6] = { 'd', 'a', 'r', 'i', 'o', '\0' };
cout << "Benvenuto utente, qual è il tuo nome?";
cin >> nome;
while (nome != nomevero || nome != nomevero2){
cout << "Bugiardo!!! Inserisci il tuo vero nome";
cin >> nome;
}
cout << "Vedo che sei sincero!";
getchar();
getchar();
}