x-kom hosting

C++ Gdzie popełniłem błąd?

Kacperjas
utworzono
utworzono

Jak zawsze:
Witam piszę taki program:
[spoiler]#include <vector>
#include <string>
#include <iostream>
#include <conio.h>
#include <Windows.h>
std::string miasto1;
std::string miasto2;
using namespace std;
int g=0;
int godziny(int godz, int g)
{
for(g == godz;g=2400;++g);
{
cout<<g<<endl;
}
}
string ZD[]={
"Poznan",
"Krakow",
"Warszawa",
"Wroclaw",
"Szczecin",
"Gdynia",
"Świnoujście",
"Bialystok",
"Zakopane",
"Zielona Gora"
"Tarnow",
"Leszno",
""
};
void znajdz(string miasto1, string miasto2)
{
if (miasto1==ZD[0]) cout<<"Z "<<ZD[0]<<endl;
if (miasto1==ZD[1]) cout<<"Z "<<ZD[1]<<endl;
if (miasto1==ZD[2]) cout<<"Z "<<ZD[2]<<endl;
if (miasto1==ZD[3]) cout<<"Z "<<ZD[3]<<endl;
if (miasto1==ZD[4]) cout<<"Z "<<ZD[4]<<endl;
if (miasto1==ZD[5]) cout<<"Z "<<ZD[5]<<endl;
if (miasto2==ZD[0]) cout<<"Gdzie "<<ZD[0]<<endl;
if (miasto2==ZD[1]) cout<<"Gdzie "<<ZD[1]<<endl;
if (miasto2==ZD[2]) cout<<"Gdzie "<<ZD[2]<<endl;
if (miasto2==ZD[3]) cout<<"Gdzie "<<ZD[3]<<endl;
if (miasto2==ZD[4]) cout<<"Gdzie "<<ZD[4]<<endl;
if (miasto2==ZD[5]) cout<<"Gdzie "<<ZD[5]<<endl;
}
int main()
{
cout<<" __PKP__ \n";
cout<<"Pisz bez 'ogonka'\n";
cout<<"Z:";
cin>>miasto1;
cout<<"Do:";
cin>>miasto2;
cout<<"Szukanie polaczen";
Sleep(1000);
cout<<".";
Sleep(1000);
cout<<".";
Sleep(1000);
cout<<".\n";
znajdz(miasto1, miasto2);
cout<<"Godzina (0000,0100 itd.): ";
string godz;
cin>>godz;
cout<<godziny(godz, g);
system ("pause");
return 0;
}
[/spoiler]
I wyświietla taki błąd:
||ZAŁĄCZNIK||

leggo
komentarz
komentarz

Nie wiem czy to wszystkie błędy, bo nie mam kompilatora żeby to sprawdzić, ale w załączniku jaki wrzuciłeś jest wyraźnie napisane, że są co najmniej dwa:
1. Funkcja [b]godziny[/b] nie zwraca żadnej wartości a zadeklarowałeś wartość zwracaną na [b]int[/b]. Daj tam [b]void[/b]
2. W linijce 4. od końca wywołujesz funkcję [b]godziny[/b] ze złymi wartościami. Zadeklarowałeś, że mają być dwa integer-y, a podajesz w tym wywołaniu string-a i integer-a.

Popraw to i sprawdź czy działa.

Cansisti
komentarz
komentarz

Kiedy spróbowałem to skompilować wyskoczył błąd:
[CODE]C:\Users\Tomek\Desktop\Untitled2.cpp|66|error: cannot convert 'std::string' to 'int' for argument '1' to 'int godziny(int, int)'|[/CODE]
co oznacza że kompilator nie może skonwertować std::string do int, błąd występuje w argumencie '1' który próbujesz dać do funkcji godziny.

rafalluz
komentarz
komentarz (edytowane)

Bo nie można. Zadeklarowałeś funkcję jako przyjmującą int, a zamiast tego podajesz jej stringa.

Zmień albo deklarację funkcji, albo typ zmiennej godz w mainie. Można bawić się w konwersję, ale po co?

leggo
komentarz
komentarz

[b]Cansisti[/b] nie dość, że odświeżasz stary temat, to jeszcze piszesz to co już zostało napisane...

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.