Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-08-04 19:43:28

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Pomoc w programowaniu

Czy ktoś może mi powiedzieć, dla czego pozycja 1 nie wyświetla się prawidłowo tzn dodatkowo ładuje do niej else. A pozycja 2 działa poprawnie.

Kod:

#include <iostream>

using namespace std;


string PIN, login;
int wybor;

int main()
{
    cout << "Witaj w naszym banku." <<endl;

    cout<<"Podaj login: ";
          cin >> login ;

    cout <<"Podaj PIN: ";
          cin >> PIN ;

          if ((PIN == "123" ) && (login ==  "admin" ))

          {

              cout << "Zalogowałeś się poprawnie. " <<endl<<endl;
          }

          else

          {
              cout<<"Błędny login lub hasło spróbuj jeszcze raz."<<endl<<endl;

          }


          cout << "Co chcesz zrobić? "<< endl << endl;

          cout << "1- Wpłacić pieniądze." << endl;
          cout << "2- Wypłacić pieniące." << endl;

          cout << "Twój wybór: ";
          cin >> wybor;

          switch (wybor)
          {
          case 1: cout << "" <<endl;

              break;
          default:
              break;
          }


          switch (wybor)
          {
          case 2: cout << "" <<endl;

              break;
          default:
              break;
          }

   if (wybor == 1)
{
    cout <<" Wpłata tylko w okienku na poczcie"<<endl;

   }


   if (wybor == 2)
   {
       cout<<" Nie masz nic na koncie!"<<endl;
   }

   else
   {
       cout << "Błędny wybór spróbuj jeszcze raz system wylogował cię automatycznie."<<endl;
   }



    return 0;
}

NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#2  2014-08-04 23:33:05

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Pomoc w programowaniu

923

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:55:38)

Offline

 

#3  2014-08-05 00:31:40

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Czy ktoś może mi powiedzieć, dla czego instrukcja wykonuje się chociaż są błędne dane logowania?

Kod:

#include <iostream>

using namespace std;


string login, PIN ;
int wybor;

int main()
{

    while ((login!="admin")&&(PIN!="123")){



    cout << "Witaj w naszym banku." <<endl;

    cout<<"Podaj login: ";
          cin >> login ;

    cout <<"Podaj PIN: ";
          cin >> PIN ;

          if ((login == "admin" ) && (PIN == "123" ))


          {

              cout << "Zalogowałeś się poprawnie. " <<endl<<endl;
          }

          else

          {
              cout << "Błędny login lub hasło spróbuj jeszcze raz."<<endl<<endl;

          }
}

          // Niezależnie od poprawnego logowanie lub nie, wykonuje się ta instrukcja.

          cout << "Co chcesz zrobić? "<< endl << endl;

          cout << "1- Wpłacić pieniądze." << endl;
          cout << "2- Wypłacić pieniądze." << endl;

          cout << "Twój wybór: ";
          cin >> wybor;

          switch (wybor)
          {
          case 1: cout << "" <<endl;

              break;


          case 2: cout << "" <<endl;


             break;
          default:cout << "Błędny wybór spróbuj jeszcze raz system wylogował cię automatycznie."<<endl;
              break;
          }



   if (wybor == 1)
{
    cout <<" Wpłata tylko w okienku na poczcie"<<endl;

   }


   if (wybor == 2)
   {
       cout<<" Nie masz nic na koncie!"<<endl;
   }





    return 0;
}

Ostatnio edytowany przez tajwan (2014-08-05 00:34:59)


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#4  2014-08-05 08:21:40

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: Pomoc w programowaniu

Zły warunek w pętli while - wykonaj pętlę jeżeli login jest niepoprawny i jednocześnie hasło jest niepoprawne. Czyli jeśli podasz przykładowo prawidłowy login i nieprawidłowe hasło to program opuści pętlę.

Zamiast && powinieneś użyć ||.

@uzytkownikubunt
Jaki zysk w takim programie z używania zmiennych lokalnych zamiast globalnych?

Offline

 

#5  2014-08-05 09:35:54

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

pioki + Fajnie wytłumaczyłeś.


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#6  2014-08-13 13:38:51

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Kompilator nie zgłasza błędów, ale program nie odlicza stoi w miejscu.

Kod:

#include <iostream>
#include <unistd.h>

using namespace std;

int main()
{
    cout <<"Zaczynamy odliczanie! ";

    for (int i= 15; i>=0 ; i--)
    {
        sleep (1000);
        cout << i <<endl;
    }

    cout <<"Jebut";

    return 0;
}

NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#7  2014-08-13 13:42:43

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

Nie stoi w miejscu.
Odczekałeś 1000 sekund?

Kod:

man 3 sleep

i więcej nie zawracaj głowy tylko dlatego że masz awersję do czytania dokumentacji - forum dug to nie interfejs do mana.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#8  2014-08-13 13:59:39

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Według kursu czas odliczał się w milisekundach.


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#9  2014-08-13 14:03:46

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

To podaj link do tego kursu, żeby broń Boże nikt z niego nie próbował korzystać. A następnym razem zanim zaczniesz płakać zainstaluj sobie mana i manpages-dev (czy jak to się tam nazywa w Twoim distro) i zacznij używać. Uwierz mi, to naprawdę nie boli!


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#10  2014-08-13 14:25:18

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

https://www.youtube.com/watch?v=y6GOYVTVvqo

Clear też nie działa

Kod:

term environment variable not set

Kod:

#include <iostream>
#include <unistd.h>
#include <cstdlib>

using namespace std;

int main()
{
    cout <<"Zaczynamy odliczanie! "<<endl;

    for (int i= 15; i>=0 ; i--)
    {
        sleep (1);
       system  ("clear");
      cout << i <<endl;
    }


    cout <<"Jebut";

    return 0;
}

NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#11  2014-08-13 14:29:17

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

A z terminala polecenie "clear" działa?
BTW. w ten sposób  tego się nie robi.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#12  2014-08-13 14:38:21

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Tak działa. W Qt piszę


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#13  2014-08-13 14:44:18

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

e... że co?
Co to co napisałeś ma wspólnego z Qt? Objaśnij mi to jakoś bo nie do końca pojmuję...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#14  2014-08-13 15:04:01

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Nie wiem jak to fachowo napisać Qt ma własną konsolę, która mi się mi się otwiera i w niej to nie działa. Ale pytałeś się czy działa

Kod:

clear

w konsoli tak działa wyczyściło konsolę. Otworzyłem program w konsoli systemowej i działa. PS jeszcze nie zdążyłem poprawić że działa.


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#15  2014-08-13 15:05:32

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Pomoc w programowaniu

@ethanak: na 100% chodzi o Qt Creatora

@tajwan: clear do czyszczenia ekranu w aplikacji się nie nadaje, bo tylko przesuwa "Enterem" tekst w teminalu(jak przewiniesz w górę, to zobaczysz to co wcześniej printowałeś), ja kiedyś korzystałem z jakiejś funkcji znalezionej w sieci, ale teraz nie mam tegoż pod ręką


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#16  2014-08-13 15:10:04

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

@thomsson: ja dokładnie wiem o co chodzi, ale od programistego wymaga się precyzyjnych wypowiedzi. Przy okazji: nie wiem co ma wspólnego edytor w którym się pisze pięć linijek w C++ z kodem wynikowym skompilowanym przez gcc - czyżby ten sam kod napisany w Joe, Emacsie, Vimie, Nedicie czy Qtaśnym Kreatorze za każdym razem kompilowany był inaczej???
BTW nie myl czyszczenia ekranu z czyszczeniem historii terminala - to co robi clear do wyczyszczenia terminala absolutnie wystarczy.

@tajwan: podaj co powie which clear

Ostatnio edytowany przez ethanak (2014-08-13 15:11:57)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#17  2014-08-13 15:20:42

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Pomoc w programowaniu

@ethanak: Luz, rozumiem (mnie też niezmiernie irytuje mieszanie pojęć, co jest niestety praktykowane wszędzie, ot przykład jak moja nauczycielka z uporem maniaka nazywa Dev-C++ kompilatorem...)

A co do drugiej rzeczy, to miałem na myśli wyczyszczenie okna terminala (nie historii wydawanych poleceń), ale w sumie nie ma po co wyciągać tematu bo clear jest wystarczające


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#18  2014-08-13 15:25:44

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: Pomoc w programowaniu

Clear wysyła na terminal sekwencje ANSII \e[2J
Polecam: http://www.termsys.demon.co.uk/vtansi.htm

Poza tym nie polecenie a aplikacja clear jest częścią pakietu ncurses i wymaga ustawionej zmiennej środowiskowej TERM.

Offline

 

#19  2014-08-13 15:26:17

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

A tak lekko offtopicznie - nie widziałem jeszcze terminala, który nie rozumiałby podstawowych sekwencji ANSI.
A proste polecenie "clear" ciągnie za sobą ncurses ze wszystkimi przyległościami...

@milyges: szybszy byłeś :)
Ale nie ncurses a ncurses-bin

Ostatnio edytowany przez ethanak (2014-08-13 15:27:17)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#20  2014-08-13 15:54:38

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

To chyba teraz się dogadamy program dla tego nie działał prawidłowo, gdyż Qt otworzył go xterm i w nim pojawiał się błąd

Kod:

term environment variable not set.

Kiedy ten sam program uruchomiłem w konsoli systemowej wszystko dobrze dzialało.


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#21  2014-08-13 16:05:21

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Pomoc w programowaniu

no to zamiast się bawić w system() wyślij po prostu sekwencję do terminala.

moja propozycja:
clear-to-eol
print (bez znaku nowej linii)
powrót karetki (czyli '\r')
Ewentualnie możesz pominąć clear-to-eol, zamiast tego wypisywać stringi o stałej długości.
A, i jeszcze nie zapomnij o flush!

Nie chce mi się teraz sprawdzać, ale coś takiego by zadziałało pewnie:

Kod:

printf("%03d\r",i);fflush(stdout);

Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
Zespół Adwokacki Dyskrecja

Offline

 

#22  2014-08-15 10:13:59

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

Czy dobrze myślę, z kalkulatorem?

opcja 1

Kod:

#include <iostream>

using namespace std;
int skladnik1,skladnik2; //dodawanie

char wybor;
int main()
{
     cout << "Wybier rodzaj dzaiłania" << endl;
     cout << "1- Dodawanie" << endl;
     cout << "2- Odejmowanie" << endl;
     cout << "3- Mnożenie" << endl;
     cout << "4- Dzielenie" << endl;

     cout <<"Twój wybór: ";
            cin >>wybor;

     switch (wybor)
     {
     case 1: cout << "Podaj pierwszy składanik";
         cin>> skladnik1;                                    // dodawanie
         cout << "Podarj drugi składnik";
         cin>> skladnik2;
         cout << skladnik1 + skladnik2;

         break;
     default:
         break;

}
     
     



    return 0;
}

Opcja 2

Kod:

#include <iostream>

using namespace std;
int skladnik1,skladnik2; //dodawanie

char wybor;
int main()
{
     cout << "Wybier rodzaj dzaiłania" << endl;
     cout << "1- Dodawanie" << endl;
     cout << "2- Odejmowanie" << endl;
     cout << "3- Mnożenie" << endl;
     cout << "4- Dzielenie" << endl;

     cout <<"Twój wybór: ";
            cin >>wybor;

     switch (wybor)
     {
     case 1: cout <<"";

         break;
     default:
         break;

}

     if (wybor == 1)
     {
         cout << "Podaj pierwszy składanik";
         cin>> skladnik1;                                    // dodawanie
         cout << "Podarj drugi składnik";
         cin>> skladnik2;
         cout << skladnik1 + skladnik2;
     }

    return 0;
}

NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#23  2014-08-15 10:32:12

  sysek - Użytkownik

sysek
Użytkownik
Skąd: Łorsoł
Zarejestrowany: 2010-06-28
Serwis

Re: Pomoc w programowaniu

Opcja 1 i Opcja 2 - po co zmienne globalne ? tworz zmienne lokalne, wewnatrz main.
poza tym po co w Opcji 2 switch i if ?


zakochałem się po uszy.

Offline

 

#24  2014-08-15 10:38:05

  tajwan - mega boss

tajwan
mega boss
Skąd: Śląsk
Zarejestrowany: 2010-03-30

Re: Pomoc w programowaniu

sysek Gdzieś jest błąd którego szukam bo po kompilacji program nie działa prawidłowo z wybieraniem. Jak wybiorę dodawanie, to nie pobiera danych.


NIGDY WIĘCEJ TESTING Z KTÓRYM SĄ SAME PROBLEMY !!!

Offline

 

#25  2014-08-15 10:51:44

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Pomoc w programowaniu

929

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:55:46)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)