Problem z TYPEM BOOL

0

Witam

Z góry uświadamiam iż dopiero sie uczę sztuki Programowania w C ++.

Wpadłem na pomysł stworzenia pewnego programu który bardzo by mi się przydał ale do rzeczy:

Oto mój Kod a właściwe jego Fragment:

(Przygotowałem gotowy do wklejenia)

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <cstdlib>

using namespace std;

//-------------  Funkcja Czy_Plik_istnieje

bool Czy_plik_isnieje(const string fileName)
{

    fstream is;
    is.open(fileName.c_str(), ios::in);
    {
        is.close();
        return true;
    }
    is.close();
    return false;
}

//---------------    Tu jest główna Funkcja
void ADD()
{
    string odp;
    bool D;
    string nazwa_sam;
    do {
        cout << "Podaj nazwe Pojazdu : ";
        cin >> nazwa_sam;
        string nazwa_pliku = nazwa_sam + ".txt";
        D = Czy_plik_isnieje(nazwa_pliku.c_str());
        if (D == true) {
            cout << "Auto o takiej nazwie jest w rejestrze" << endl
                 << endl;
        }
        if (D == false)
            ;
        {
            cout << "Nie powino sie wyswietlic wraz z drugim if-em" << endl;
        }
    } while (D = false);

    //[   w tym miejscu znajduje się 2 część funkcji która wyświetla zapytanie o podanie daty ]
    cout << "Zapytanie";
}

int main()
{
    ADD();
    return 0;
}

Z niewiadomych dla mnie przyczyn stała bool - D - spełnia dwa warunki TRUE oraz FALSE i konczy pętle
Wydaje mi sie ,że to przyczyna fuckcji Czy_Plik_istnieje lecz gdy wyswietlam wynik D otrzymuje 1

Z góry dziękuje i liczę tylko na jakiegoś stopnia wyjaśnienie tego zjawiska

2
if(D==false);

średnik po warunku. Gdybyś miał w miarę nowy kompilator i zechciał formatować swój kod, to kompilator by o tym poinformował (misleading indentation)

2

Gratulacje! Masz 3 błędy w jednej linijce.

} while (D = false);
  1. daj == zamiast =

  2. jeszcze lepiej napisz

} while (!D);
  1. i nie używaj dużych liter jako nazw zmiennych
} while (!d);
0

Korzystam z Codebloksa - Jak wspominałem uczę się tej sztuki
i kompilator nie pokazywał błędu " ; " ale dziękuje
jednak jak po usunięciu znow skompilowałem i problem nie został rozwiązany

0
vpiotr napisał(a):

Gratulacje! Masz 3 błędy w jednej linijce.

} while (D = false);
  1. daj == zamiast =

  2. jeszcze lepiej napisz

} while (!D);
  1. i nie używaj dużych liter jako nazw zmiennych
} while (!d);

Dziekuje poprawie

0

DZIEKUJE BARDZO WSZYSTKIM ZA POMOC

1 użytkowników online, w tym zalogowanych: 0, gości: 1