• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ problem z kodem

42 Warsaw Coding Academy
–6 głosów
948 wizyt
pytanie zadane 12 kwietnia 2017 w C i C++ przez asdbf123 Początkujący (300 p.)
zmienione kategorie 12 kwietnia 2017 przez Eryk Andrzejewski

Czy ktoś powie mi, dlaczego poniższy kod nie działa?

#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <math.h>

using namespace std;
int odp1,odp2,odp3,poczatek;

int main()
{
    cout << "Witaj,odpowiedz na kilka pytań.Jesli tak odpowiec ok." << endl;
    cin >> poczatek;
    if (poczatek=="ok", ios::in)
        {
                cout << "Jak myślisz co było pierwsze kura czy jajko?" << endl;
                cin >> odp1;
                cout << "Dobrze,brawo ale czy poradzisz sobie z trudniejszym pytaniem?" << endl;
                cout << "Z helikoptera zrzucono 7 kg pierza i 7kg kamieni co spadnie na ziemie pierwsze?" << endl;
                cin >> odp2;
                cout << "Brawo jak ty to robisz, że ciąge wiesz co powiedzieæ, ale czy teraz odgadniesz tą zagadkę?" << endl;
                cout << "Ile to 3+(4-5)*7/4" << endl;
                cin >> odp3;

            if (odp3=="3,5");
                {
                    cout >> "Jednak zgadłeś, jesteœ mistrzem tej gry brawo!!!!" >> endl;
                }
            else
                {
                    cout >> "Niestety nie równa się" >> odp >>"ale masz 2 na 3 pytania dobrze. Brawo!" >> endl;

                }
        }
}


return 0;

Proszę o pomoc. Proszę wybaczyć, jestem nowy i niewiele wiem o programowaniu.

2
komentarz 12 kwietnia 2017 przez ScriptyChris Mędrzec (190,190 p.)

Popraw tytuł tematu oraz wstaw kod w przeznaczony do tego bloczek, albo temat zostanie zamknięty.

komentarz 12 kwietnia 2017 przez Arkadiusz Waluk Ekspert (290,090 p.)
I zmień kategorię. Rozumiemy, że jesteś nowy, jednak wymagamy zapoznania się z zasadami panującymi na forum, aby panował tu porządek. Bez znaczenia czy ktoś jest nowy czy nie, skoro pytanie dotyczy programowania to w jakim celu wybierać kategorię o hackingu?
komentarz 12 kwietnia 2017 przez Pietrak Pasjonat (18,850 p.)
Może powiesz co nie działa? Jaki masz komunikat błedu?
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)
if (odp3=="3,5")
                {
                    cout >> "Jednak zgadłeś, jesteœ mistrzem tej gry brawo!!!!" >> endl;
                }

5 odpowiedzi

+2 głosów
odpowiedź 12 kwietnia 2017 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 13 kwietnia 2017 przez asdbf123
 
Najlepsza

Czytając błędy wypisane przez kompilator C++ stwierdzam, co następuje:

  • zmienna poczatek nie jest typu int, tylko string (zmień deklaracje na początku)
  • w 14 linijce, w sprawdzaniu warunku if, nie wiem po co wstawiasz "; ios::in" (kojarzę, że to coś do strumieniowania plików, jednak nie znam tego języka więc się nie wypowiem), w każdym razie usunięcie tego kawałka kodu usuwa również błąd kompilacji
  • w linijce 27 porównujesz zmienną odp3 typu int do stringa - takie rzeczy to w JavaScript a nie tutaj :)
  • linijki 29 i 34 to błędnie zapisany znak >> (tzn. należy go zapisać w drugą stronę)
  • w linijce 33 odnosisz się do niezadeklarowanej zmiennej; z czytania kodu wnioskuję, że chciałeś tam wypisać odp3
  • nie jestem pewien, ale funkcje main() należy zakończyć return 0;

Powyższe poprawki do kodu sprawią, że zostanie on uruchomiony. 

komentarz 12 kwietnia 2017 przez ScriptyChris Mędrzec (190,190 p.)
Poprawnie kompilujący się kod: http://cpp.sh/2ej22
1
komentarz 12 kwietnia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Nie trzeba do main() returna w C++ dopisywać :)
komentarz 12 kwietnia 2017 przez ScriptyChris Mędrzec (190,190 p.)
Ok, skreślam :)
0 głosów
odpowiedź 12 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,170 p.)
niweinergnio3w ino ni<>ASD,a,s.d Nigd nica,sifdsf nie pofie... Zlituj się nad nami i napisz to normalnie :D
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)
ok po prostu ciągle odrzucało i pisało że ktoś zadal podobne pytanie
komentarz 12 kwietnia 2017 przez Arkadiusz Waluk Ekspert (290,090 p.)
To są tylko sugestie podobnych pytań, nie zakaz umieszczania swojego, nawet pytania o takim samym tytule...
1
komentarz 12 kwietnia 2017 przez Patryk Krajewski Nałogowiec (26,170 p.)
Podpowiadało ci pewnie czy ktos takiego samego nie napisał. I tutaj masz opisane jak zadawać pytania jak chcesz, żeby ktoś ci pomógł: https://forum.pasja-informatyki.pl/ask
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)
ok nastempnym razem sie zastosuje
0 głosów
odpowiedź 12 kwietnia 2017 przez Mikusbombro Użytkownik (990 p.)
Napisz gdzie jest błąd, ktoś ma za ciebie niby szukać?
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)
cout << "Witaj,odpowiedz na kilka pytań.Jesli tak odpowiec ok." << endl;
    cin >> poczatek;
    if (poczatek=="ok", ios::in)
0 głosów
odpowiedź 12 kwietnia 2017 przez Mikusbombro Użytkownik (990 p.)
Deklarujesz zmienne odp1, opd2, odp3, poczatek jako inty. Zmień typy tych zmiennych na stringi.
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)

teraz tu jest błąd

 

if (odp3=="3,5"); 
                { 
                    cout >> "Jednak zgadłeś, jesteœ mistrzem tej gry brawo!!!!" >> endl; 
                } 

 

 

komentarz 12 kwietnia 2017 przez Mikusbombro Użytkownik (990 p.)
Niepotrzebny średnik po warunku
komentarz 12 kwietnia 2017 przez asdbf123 Początkujący (300 p.)
i tak nie działa
komentarz 12 kwietnia 2017 przez Mikusbombro Użytkownik (990 p.)
Jaki błąd wyskakuje? Napisz coś więcej, skąd mamy wiedzieć co masz na myśli.
komentarz 12 kwietnia 2017 przez Mikusbombro Użytkownik (990 p.)
Zmień typ zmiennej odp3 na float
–1 głos
odpowiedź 12 kwietnia 2017 przez marcin99b Szeryf (84,230 p.)
Z tego co wiem to w c++ trzeba jeszcze zdefiniować zmienne.
Nie pisze w tym, ale kiedyś coś próbowałem.

Poczytaj sobie jakie są typy zmiennych w c++.

 

edit:
Zdefiniuj je wewnątrz main
Może pomoże
+odp3 chyba nie może być liczbą zmiennoprzecinkową, bo to int

Podobne pytania

0 głosów
2 odpowiedzi 319 wizyt
pytanie zadane 8 grudnia 2017 w C i C++ przez michilczyk Nowicjusz (120 p.)
+1 głos
1 odpowiedź 419 wizyt
pytanie zadane 28 lipca 2017 w C i C++ przez michal12334 Obywatel (1,510 p.)
0 głosów
0 odpowiedzi 364 wizyt
pytanie zadane 2 maja 2017 w C i C++ przez TheFeniks Gaduła (4,690 p.)

93,383 zapytań

142,382 odpowiedzi

322,539 komentarzy

62,744 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...