2016-02-10 2 views
-1

Почему это всегда верно? Даже когда я добавляю 'n' в свой выбор char.Если возвращает всегда true

То же самое для моего цикла while-while.

есть что-то не так с моими if/do/while fonctions?

void LigueHockey::New() 

{ 
    char choice; 

    cout << "Entrez l'histoire de la ligue : "; 
    getline(cin,histoire); 

    cout << "\nQuel est la couleur de la ligue : "; 
    getline(cin,couleur); 

    cout << "\nEntrez la date d'aujourd'hui(JJ/MM/YYYY) : "; 
    cin.getline(creation.jour,sizeof(creation.jour),'/'); 
    cin.getline(creation.mois,sizeof(creation.mois),'/'); 
    cin.getline(creation.annee,sizeof(creation.annee)); 

    cout << "\nEst-ce que le club a gagner un titre? (Y/N) :"; 
    cin >> choice; 
    cin.ignore(); // to skip the endline 

    if (choice = 'Y') 
    { 
     do 
     { 
      cout << "\nNom de la coupe/titre : "; 
      cin.getline(records.coupe,sizeof(records.coupe)); 
      cout << "\nQuand a-t-il ete remporter? (JJ/MM/YYYY) : "; 
      cin.getline(records.dateRemp.jour,sizeof(records.dateRemp.jour),'/'); 
      cin.getline(records.dateRemp.mois,sizeof(records.dateRemp.mois),'/'); 
      cin.getline(records.dateRemp.annee,sizeof(records.dateRemp.annee)); 

      cout << "\nVoulez-vous ajouter un autre coupe/titre? : "; 
      cin >> choice; 
      cin.ignore(); 
     } 
     while (choice = 'Y'); 
    } 

} 

ответ

1

if (choice = 'Y') - это задание, а не проверка равенства. Вам нужно if (choice == 'Y')

+0

ахаха Я чувствую себя глупо, спасибо – Sartigan

0

== Пожалуйста, используйте в вашем если условие пример:

if (choice == 'Y') 

Благодаря Джавид

Смежные вопросы