Na jutro muszę oddać program napsiany w tymże języku. Jest to dowolny program, lecz muszą się w nim znaleźć 3 funkcje. Zrobiłem jakiś, ale się nie kompiluje. Po prostu bardziej interesuje mnie grafika, aniżeli programowanie, więc jestem z tym trochę do tyłu, poza tym nie mam scisłych zdolności do myślenia nad programami (dla mnie katorga). Z pascalem szło mi bardzo dobrze, jednak język c sobie opuściłem i takie są efekty. Może to dlatego, że nauczycielka jest mniej wymagająca, a w zeszłym roku czuwał nade mną facet, od którego oberwałbym, gdybym się nie nauczył . Jakiś program udało mi się zrobić, ale proszę o poprawienie paru parametrów w celu poprawnego działania. Z góry dziękuję.
#include <iostream>
using namespace std;
void bez_param()
;;
cout<< "Wyswietl cos ";
;;
void param (float a, float b);
;;
cout a + b;
;;
int param2 (float a, float b)
;;
return a*b;
;;
int main ()
;;
bez_param();
param (x,y);
cout param.2 (x,y);
;;
Po cout z drugiej funkcji i maina nie ma operatora "<<", a do tego nigdzie nie zdefiniowałeś czym są x i y, których przy wywoływaniu funkcji w mainie.
ok. W którym miejscu mam zdefiniować to x,y?
edit:
Sorki, już wiem. Jestem niedospany zmęczony i mam kupę nauki na jutro, więc zdarzają mi się błędy
Poprawiłem i nadal są błędy:
#include <iostream>
using namespace std;
void bez_param()
;
cout<< "Wyswietl cos ";
;
void param (float a, float b);
;
cout<< a + b;
;
int param2 (float x, float y)
;
return x*y;
;
int main ()
;
bez_param();
param (a,b);
cout<< param2 (x,y);
;
Ciągle nie zdefiniowałeś zmiennych, tylko dodałeś dwie nowe, nieznane kompilatorowi... Może to wyglądać m.in tak:
int main()
float a = 1.2;
float b = 1.3;
float x = 1.4;
float y = 1.5;
...
9 C:\Users\...\pierwszy.cpp expected unqualified-id before '' token
9 C:\Users\...\pierwszy.cpp expected `,' or `;' before '' token
C:\Users\...\pierwszy.cpp In function `int param2(float, float)':
14 C:\Users\...\pierwszy.cpp [Warning] converting to `int' from `float'
Eee... zdajesz sobie sprawę, że "" jest to klamra otwierająca nowy blok, tylko po prostu forum jej nie wyświetla? Przecież sam kopiowałeś tutaj kod.. Warning z lini 14 to po prostu informacja o niejawnym rzutowaniu z floata na inta (mnożysz ze sobą dwa floaty z zwracasz to w formie inta), nie blokuje kompilacji a jedynie informuje o czymś co może, ale nie musi być błędem więc możesz w tym przypadku olać.
To są podstawy tak podstawowe, że aż strach...
Degnar* - jak dla mnie większym strachem jest nie parę drobnych błędów składniowych czy niezwrócenie uwagi na niejawne rzutowanie, tylko ELEMENTARNE błędy, przy których NIEMOŻLIWYM JEST aby "z pascalem szło bardzo dobrze" jak to autor opisuje. Jakim cudem w Pascalu mógł wywoływać funkcje podając niezadeklarowane wcześniej argumenty to ja nie wiem :) Tzn. mogę się domyślać: po prostu bezmyślnie przepisywał kod z tablicy/ze stron internetowych zamiast zrozumieć co do czego i po co służy. Wtedy rzeczywiście największą barierę stanowi składnia języka a nie stworzenie przebiegu programu.
dexapini9 - Naucz się czytać komunikaty o błędach i ostrzeżenia wypluwane przez kompilator - to proste, a naprawdę wiele daje i jest to kluczowa i niezbędna umiejętność w programowaniu (z reguły masz podany nr linii, w której coś nie gra oraz komunikat tekstowy o rodzaju błędu - przy czym trzeba uważać, bo czasami błąd tak naprawdę siedzi w innej linii, ale dopiero w podanej kompilatorowi zaczęło coś nie grać (np. niesparowane nawiasy itp.), więc należy przede wszystkim zwrócić uwagę na komunikat mówiący CO nie gra.
Druga sprawa: naprawdę trudno uwierzyć, że "z pascalem szło bardzo dobrze" a tu nagle przychodzi C i zonk. Jeden z powodów wymieniłem powyżej. Programuje się (w znaczeniu: wymyśla algorytm) NIE w konkretnym języku programowania, tylko w głowie. Dodajmy jeszcze, że podstawowa składnia C jest do ogarnięcia w godzinę a wszystkie podstawowe elementy obu języków odwzorowują się niemal dokładnie na siebie (wystarczy dosłownie żywcem wziąć kod z Pascala, zamienić/dopisać odpowiednie instrukcje/include'y w pierwszych liniach, pozamieniać beginy i endy na nawiasy klamrowe oraz dostosować pozostałe konstrukcje, co sprowadza się do operacji typu "usuń nawias, wstaw przecinek, ...")
Dwa średniki też zjadłeś.