Niezrozumiałe błędy w kompilacji

0

Więc tak. Posiadam na kompie kurs c++ (od zera do gier kodera) z gamedev.pl - uczę się na nim od niedawna ale mam duży problem. Jakiego bym kompilatora posiadał, jak bym się nie głowił nad kodem - zawsze (nawet jak przepisuję dokładnie za autorem kursu) jakiś kod, to przy kompilacji wywala mi błędy. Przykład:

#include <conio.h>
#include <iostream>
#include <string>

void main()
{
     std::string strImie;
     std::cout << "Podaj swe imie przyjacielu: ";
     std::cin >> strImie;
     std::cout << "Twoje imie przyjacielu to " << strImie << "." << std::endl;
     
     getch();
}  

a błędy to m.in:

'main' must return 'int'

i wiele innych. program czepia się każdej niemal linijki. [używam Dev-C++ i Visual Basica]

0

1.Wywal Dev-Cpp
2.Co masz niezrozumiałego w komunikacie

'main' must return 'int'

?

0

Main musi zwracać int. Przetłumaczone!

0

skoro autor coś podaje, powinno się zgadzać w kompilatorze... :(
917994.jpeg

0

Tutorial Xiona jest nie najnowszy, bynajmniej tworzony pod Visual Studio. Zamiast void main() daj int main() - to pierwsze jest niezgodne ze standardem, ale przyjmowane przez Visual.

0

A np. to?

#include <conio.h>
#include <iostream>
#include <string>

int main()
{
     int Liczba1;
     std::cout << "Podaj pierwsza liczbe, ktora dodam do drugiej:";
     std::cin >> Liczba1 >> std::endl;
     int Liczba2;
     std::cout << "A teraz druga:";
     std::cin >> Liczba2 >> std::endl;
     
     int Wynik = Liczba1 + Liczb2;
     std::cout << "Wynik Pawle to " << Wynik << ". Niezle, co?" << std::endl;
     
     getch();
} 

a błędy:
user image

0
     std::cin >> Liczba1 >> std::endl;

std::endl to do couta, nie cina.

0

Próbojesz informacje z wejścia wczytać do std::endl, kiedy std::endl można używać tylko w strumieniach wyjścia - std::cout, std::ofstream. Usuń std::endl z cina.
PS. Ubiegł o 12 sec :/.

0

Program nie działa z dwóch powodów:

  1. Tak jak napisał Razi91 i Macron
  2. Błąd w linijce, powinno być tak:
int Wynik = Liczba1 + Liczba2;
0

Ten program powinien wyglądać mniej więcej tak:

int main()
{
  int liczba1, liczba2;

  std:: cout << "Podaj pierwsza liczbę: ";
  std::cin >> liczba1;
  std::cout << "Podaj 2-ga liczbe: ";
  std::cin >> liczba2;
  int wynik = liczba1 + liczba2;

  std::cout << "Wynik: " << wynik << std::endl;
}
0

Patrzę, patrzę na wasze posty, no i spróbowałem jeszcze raz napisać podobny program ale liczący iloczyn 3 liczb. I znowu coś nie wyszło. Przysięgam że myślałem nad tym dłuższą chwilę i nie wiem, co znowu jest nie tak:

#include <conio.h>
#include <iosteam>
#include <string>

int main()
{
    int Liczba1, Liczba2, Liczba3, Wynik;
    
    std::cout << "To jest program mnozacy 3 podane przez ciebie liczby.";
    std::cout << "Podaj wiec pierwsza liczbe:";
    std::cin >> Liczba1;
    std::cout << "Teraz druga:";
    std::cin >> Liczba2;
    std::cout << "No i ostatnia:";
    std::cin >> Liczba3;
    
    int Wynik = Liczba1 * Liczba2 * Liczba3;
    std::cout << "Twoj wynik to: " << Wynik << "Niezle, co?" << std::endl;
    
    getch();
    return 0;
}
0

Masz dwa błędy które zresztą pokazuje kompilator:
1.

#include <iostream> // u ciebie iosteam (nie para tylko strumień)

masz dwa razy zadeklarowaną zmienną wynik.

0

Nie jestem pewien ale ten twój kurs widocznie jeszcze uczy starego standardu, poszukaj w necie z najnowszym standardem, np. C++ dla każdego.

0

To nie wina Xion'a(no, może uprócz void main()), tylko autora tematu. Należy myśleć, należy czytać co wypisuje IDE!

0

zadeklarowałeś na samym początku zmienną wynik: int Liczba1, Liczba2, Liczba3, Wynik; , potem ponownie ją 'zadeklarowałeś' inicjalizując: int Wynik = Liczba1 * Liczba2 * Liczba3; . Powinno być tak:
.....

int main ()
{
int Liczba1, Liczba2, Liczba3;
int Wynik = Liczba1 * Liczba2 * Liczba3;
......
}

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