Niezrozumiałe błędy w kompilacji

Niezrozumiałe błędy w kompilacji
TO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
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:

Kopiuj
#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]

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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

'main' must return 'int'

?

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 260
0

Main musi zwracać int. Przetłumaczone!

TO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

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

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 260
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.

TO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

A np. to?

Kopiuj
#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

R9
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
     std::cin >> Liczba1 >> std::endl;

std::endl to do couta, nie cina.

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 260
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 :/.

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 105
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:
Kopiuj
int Wynik = Liczba1 + Liczba2;
Taumas
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: wlkp
  • Postów: 121
0

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

Kopiuj
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;
}
TO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
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:

Kopiuj
#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;
}
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

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

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

masz dwa razy zadeklarowaną zmienną wynik.

mto9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 380
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.

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 260
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!

  • Rejestracja: dni
  • Ostatnio: dni
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;
......
}

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.