Program Fake: Błędy

0

Siema, napisałem program FAKE, który udaje, że wyłączy mi komputer. Oto kod:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    start:
    system("cls");
    system("title Auto Wylanczacz");
    cout << "AutoWylaczanie - Wlaczone" << endl;
    cout << "Nie wylaczaj komputera!" << endl;
    cout << "Zostanie wylaczony o 23:00!" << endl;
    cout << "aby przerwac wcisnij 1" << endl;
    int a;
    cin >> a;
    if(a != 1)
    {
        system("cls");
        goto start;
    }
    if(a == 1)
    {
        cout << "Podaj haslo aby dezaktywowac autowylanczanie:" << endl;
        char b;
        cin >> b;
        if (b = 'makaron')
        {
            cout << "Dezaktywowano autowylanczanie hasla!" << endl;
        }
        else cout << "Nie dezaktywowano autowylanczania." << endl;
    }
    goto start;
    system("pause");
    return 0;
}

Coś tu jest nie tak, ale co?!

0

Niedopatrzenie:

if (b = 'makaron')

Powinno być "=="

Ajj.czasami warto pomyśleć:

char b;

Po ****** "char", chyba "string" (jak się nie mylę).

0
if (b == 'makaron')

Ta linijka posiada błąd.

string b;
cin >> b;
if (b == 'makaron')

warting: character constant too long for its type
error: no match for 'operator==' in 'b = 1634889582'

0

Nie wiem czy zadziała ale daj sobie hasło do tablicy charów i potem
if (memcmp(tablica_charow_z_haselem,string_wpisany_przez_uzytkownika.c_str(), strlen(string_wpisany_przez_uzytkownika.c_str()) != 0)
{
printf("Zle haslo");
}

1
...
string b;
cin >>b;
if(b == "makaron")
...

tyle wystarczy

0

Taa, masz rację, zapędziłem się.

0

Prajmus, dzięki za pomoc. Do zamknięcia.

0

Mam jeszcze jeden problem:

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    start:
    system("cls");
    system("title Auto Wylanczacz");
    cout << "Auto-Wylaczanie - Wlaczone" << endl;
    cout << "Nie wylaczaj komputera!" << endl;
    cout << "Zostanie wylaczony o 23:00!" << endl;
    cout << "Aby przerwac auto-wylaczanie wcisnij 1" << endl;
    int a;
    cin >> a;
    if(a != 1)
    {
        system("cls");
        goto start;
    }
    if(a == 1)
    {
        cout << "Podaj haslo aby dezaktywowac auto-wylanczanie:" << endl;
        string b;
        cin >> b;
        if (b == "makaron")
        {
            makaron:
            system("cls");
            cout << "Auto-Wylaczanie - Wylaczone" << endl;
            cout << "Teraz mozesz wylaczyc komputer!" << endl;
            cout << "Aby zamknac program wcisnij 1" << endl;
            int c;
            cin >> c;
            if(c != 1)
            {
                goto makaron;
            }
            if(c = 1)
            {
                system("pause");
            }
        }
        else
        {
            cout << "Nie dezaktywowano auto-wylanczania." << endl;
            goto start;
        }
    }
    return 0;
}

Jak zastąpić goto i między

cout << "Nie dezaktywowano auto-wylanczania." << endl;

a

goto start;

Chciałbym dodać

Sleep(3000)

(3sec uśpienia), ale jak dodaje

#include <dos>

to wywala błąd!

0

I znów literówka:
if(c = 1) // HERE
{
system("pause");
}

0

Poprawiłem if na else tak jak ktoś wcześniej pisał:

#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    start:
    system("cls");
    system("title Auto Wylanczacz");
    cout << "Auto-Wylaczanie - Wlaczone" << endl;
    cout << "Nie wylaczaj komputera!" << endl;
    cout << "Zostanie wylaczony o 23:00!" << endl;
    cout << "Aby przerwac auto-wylaczanie wcisnij 1" << endl;
    int a;
    cin >> a;
    if(a != 1)
    {
        system("cls");
        goto start;
    }
    else
    {
        cout << "Podaj haslo aby dezaktywowac auto-wylanczanie:" << endl;
        string b;
        cin >> b;
        if (b == "makaron")
        {
            makaron:
            system("cls");
            cout << "Auto-Wylaczanie - Wylaczone" << endl;
            cout << "Teraz mozesz wylaczyc komputer!" << endl;
            cout << "Aby zamknac program wcisnij 1" << endl;
            int c;
            cin >> c;
            if(c != 1)
            {
                goto makaron;
            }
            else
            {
                system("pause");
            }
        }
        else
        {
            cout << "Nie dezaktywowano auto-wylanczania." << endl;
            Sleep(1750);
            goto start;
        }
    }
    return 0;
}
0

Jedno goto usuniete:

if (b == "makaron")
        {
            while(true)
            {
                system("cls");
                cout << "Auto-Wylaczanie - Wylaczone" << endl;
                cout << "Teraz mozesz wylaczyc komputer!" << endl;
                cout << "Aby zamknac program wcisnij 1" << endl;
                int c;
                cin >> c;
                if(c != 1)
                {
                    continue;
                }
                else
                {
                    system("pause");
                    break;
                }
            }
        }
0
#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    while(true)
    {
        system("cls");
        system("title Auto Wylanczacz");
        cout << "Auto-Wylaczanie - Wlaczone" << endl;
        cout << "Nie wylaczaj komputera!" << endl;
        cout << "Zostanie wylaczony o 23:00!" << endl;
        cout << "Aby przerwac auto-wylaczanie wcisnij 1" << endl;
        int a;
        cin >> a;
        if(a != 1)
        {
            system("cls");
            continue;
        }
        else
        {
            while(true)
            {
                cout << "Podaj haslo aby dezaktywowac auto-wylanczanie:" << endl;
                string b;
                cin >> b;
                if (b == "makaron")
                {
                    while(true)
                    {
                        system("cls");
                        cout << "Auto-Wylaczanie - Wylaczone" << endl;
                        cout << "Teraz mozesz wylaczyc komputer!" << endl;
                        cout << "Aby zamknac program wcisnij 1" << endl;
                        int c;
                        cin >> c;
                        if(c != 1)
                        {
                            continue;
                        }
                        else
                        {
                            system("pause");
                            break;
                        }
                    }
                }
            }
            else
            {
                cout << "Nie dezaktywowano auto-wylanczania." << endl;
                Sleep(1750);
            }
        }
    }
    return 0;
}
 
0

Usunąłeś obydwa makarony :D

#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    start:
    system("cls");
    system("title Auto-Wyłączacz Aktywowany!");
    cout << "Auto-Wylaczanie - Wlaczone" << endl;
    cout << "Nie wylaczaj komputera!" << endl;
    cout << "Zostanie wylaczony o 23:00!" << endl;
    cout << "Aby przerwac auto-wylaczanie wcisnij 1" << endl;
    int a;
    cin >> a;
    if(a != 1)
    {
        system("cls");
        goto start;
    }
    else
    {
        cout << "Podaj haslo aby dezaktywowac auto-wylanczanie:" << endl;
        string b;
        cin >> b;
        if (b == "makaron")
        {
            while(true)
            {
                system("cls");
                system("title Auto-Wyłączacz Dezaktywowany!");
                cout << "Auto-Wylaczanie - Wylaczone" << endl;
                cout << "Teraz mozesz wylaczyc komputer!" << endl;
                cout << "Aby zamknac program wcisnij 1" << endl;
                int c;
                cin >> c;
                if(c != 1)
                {
                    continue;
                }
                else
                {
                    system("pause");
                    break;
                }
            }
        }
        else
        {
            cout << "Nie dezaktywowano auto-wylaczania." << endl;
            Sleep(1750);
            goto start;
        }
    }
    return 0;
}

Nawet nie wiedziałem, że podczas działania programu można zmienić jego title ;)

0

Ojojoj! Błąd:

#include <cstdlib>
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    while(true)
    {
        system("cls");
        system("title Auto-Wyłączacz Aktywowany!");
        cout << "Auto-Wylaczanie - Wlaczone" << endl;
        cout << "Nie wylaczaj komputera!" << endl;
        cout << "Zostanie wylaczony o 23:00!" << endl;
        cout << "Aby przerwac auto-wylaczanie wcisnij 1" << endl;
        int a;
        cin >> a;
        if(a != 1)
        {
            system("cls");
            continue;
        }
        else
        {
            while(true)
            {
                cout << "Podaj haslo aby dezaktywowac auto-wylanczanie:" << endl;
                string b;
                cin >> b;
                if (b == "makaron")
                {
                    while(true)
                    {
                        system("cls");
                        system("title Auto-Wyłączacz Dezaktywowany!");
                        cout << "Auto-Wylaczanie - Wylaczone" << endl;
                        cout << "Teraz mozesz wylaczyc komputer!" << endl;
                        cout << "Aby zamknac program wcisnij 1" << endl;
                        int c;
                        cin >> c;
                        if(c != 1)
                        {
                            continue;
                        }
                        else
                        {
                            system("pause");
                            break;
                        }
                    }
                }
            }
            else
            {
                cout << "Nie dezaktywowano auto-wylanczania." << endl;
                Sleep(1750);
            }
        }
    }
    return 0;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.