Forum Gry Filmy i Seriale Tech Ogólne Archiwum Regulamin

Forum: Program w c++ - pomocy

14.11.2012 22:59
dexapini9
1
dexapini9
116
veritas odium parit

Program w c++ - pomocy

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);
›;;

14.11.2012 23:02
2
odpowiedz
zanonimizowany861943
46
Generał

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.

14.11.2012 23:05
dexapini9
3
odpowiedz
dexapini9
116
veritas odium parit

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

14.11.2012 23:08
dexapini9
4
odpowiedz
dexapini9
116
veritas odium parit

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);
›;

14.11.2012 23:13
5
odpowiedz
zanonimizowany861943
46
Generał

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;
...

14.11.2012 23:18
dexapini9
6
odpowiedz
dexapini9
116
veritas odium parit

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'

14.11.2012 23:43
7
odpowiedz
zanonimizowany861943
46
Generał

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...

15.11.2012 00:53
8
odpowiedz
DEXiu
151
Senator

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, ...")

15.11.2012 08:31
9
odpowiedz
zanonimizowany626335
17
Generał

Dwa średniki też zjadłeś.

Forum: Program w c++ - pomocy