Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

XVII funkcje - problem ze zrozumieniem

Ostatnio zmodyfikowano 2009-02-25 16:15
Autor Wiadomość
barexb
Temat założony przez niniejszego użytkownika
XVII funkcje - problem ze zrozumieniem
» 2009-02-24 20:28:54
Witam...
siedze już od 2 godzin nad funkcjami i nie mogę dojść do tego jak je wywołać w programie....

Może mi ktoś napisać jakąś prostą funkcje która dodaje 2 liczby i dzieli przez 3?
i co najważniejsze żeby było wywołanie w programie. A liczby wpisuje użytkownik

C/C++
#include<iostream>
#include<conio.h>
using namespace std;
void PodniesDoPotegiDrugiej( int & liczba )
{
    liczba *= liczba;
}
int main()
{
    int liczba;
    cout << "Podaj liczbe: ";
    cin >> liczba;
    PodniesDoPotegiDrugiej( liczba );
    cout << "Liczba=" << liczba << endl;
    getch();
    return( 0 );
}

kod powyżej rozumiem  bo w parametrach funkcji jest tylko (liczba). Ale takiego co by mial dwie różne liczby dodać to juz nie umiem wywołać....:(
Proszę o jak najszybszą pomoc
P-4468
pekfos
» 2009-02-24 20:37:25
wielka mi filozofia! po po prostu piszesz dwa parametry
C/C++
#include <iostream>
int dodaj( int a, int b )
{
    return( a + b );
}
int main()
{
    int a, b;
    cin >> a;
    cin >> b;
    int c = dodaj( a, b );
    cout << c;
    getchar();
    return 0;
}
P-4469
GoldWolf
» 2009-02-24 20:40:42
Znowu się spóźniłem. Nie bądź taki do przodu bo cię z tyłu braknie, pekfos. Nie każdy od razu się rodzi Bilem.
A o to moja propozycja:

C/C++
#include<iostream.h>
using std::iostream;

int Dodaj_i_dziel( int liczba, int liczba1 ) {
   
    liczba =( liczba + liczba1 ) / 3;
   
    return liczba;
}
int main() {
    int liczba, liczba1;
    cout << "Podaj 1 liczbe: ";
    cin >> liczba;
   
    cout << "Podaj 2 liczbe: ";
    cin >> liczba1;
   
    cout << "Liczba =" << Dodaj_i_dziel( liczba, liczba1 ) << endl;
   
    system( "pause" ); /*tylko windows dla linuxa trzeba w cudzysłowach wpisać coś innego akurat nie wiem co ;-)*/
}
P-4470
GoldWolf
» 2009-02-24 21:00:50
Może kilka słów wyjaśnienia:

C/C++
int Dodaj_i_dziel( int liczba, int liczba1 ) {
   
    liczba =( liczba + liczba1 ) / 3;
   
    return liczba;
}

Przede wszystkim ta funkcja zwraca wartość int(liczbę), mówi o tym ten fragment "int Dodaj_i_dziel". Należy pamiętać, że jak robisz taką funkcję to powinna ona zawierać "return liczba;" - inaczej mówiąc co ma zwracać. Należy także pamiętać, że w tym konkretnym przypadku musi to być liczba(czyli int). Co się stanie jeśli nie będzie  "return liczba;"  to sobie sam sprawdź komentując ten fragment kodu.
Funkcja może pobierać kilka wartości jednak w kursie jest to dość dobrze opisane, mam nadzieje, że nie poszedłeś na łatwiznę .....
P-4471
barexb
Temat założony przez niniejszego użytkownika
» 2009-02-25 00:16:14
aa to teraz juz rozumiem... dzięki Dante:)
a ty kolego pekfos chyba czegos nie rozumiesz..jestem nowy a autor odsyla do forum jezeli ma ktos problem, to moj 1 raz...Jak nie chcesz nie pisz, przecież to nie pcformat kto więcej postów uzbiera...
luzu więcej....
P-4474
DejaVu
» 2009-02-25 01:55:22
Tak... pomagajcie sobie a nie szpanujcie wiedzą :)
P-4476
GoldWolf
» 2009-02-25 16:10:24
Po prostu rozumiem co to znaczy siedzieć 2 - 3 h i czegoś nie czaić, chociaż nie ukrywam, iż w kursie jest to w miarę opisane. Ja nie mam czym szpanować chciałem tylko pomóc ....



IOSTREAM - to wpisz bez rozszerzenia i prze kompiluj, u mnie bez rozszerzenia nie działa ...
P-4478
GoldWolf
» 2009-02-25 18:50:01
Nie znam się na tym ale u mnie działają np:

C/C++
#include <iostream.h>         
using std::iostream;

lub

C/C++
#include <iostream>         
using std::cout;
using std::cin;
using std::endl;


Żeby potwierdzić twoją tezę nie ufając ci przy tym, zainstalowałem Visual C++ 2005 Express
oto wyniki testu:

C/C++
// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using std::iostream;


int Dodaj_i_dziel( int liczba, int liczba1 ) {
   
    liczba =( liczba + liczba1 ) / 3;
   
    return liczba;
}
int main() {
    int liczba, liczba1;
    cout << "Podaj 1 liczbe: ";
    cin >> liczba;
   
    cout << "Podaj 2 liczbe: ";
    cin >> liczba1;
   
    cout << "Liczba =" << Dodaj_i_dziel( liczba, liczba1 ) << endl;
   
    system( "pause" ); /*tylko windows dla linuxa trzeba w cudzysłowach wpisać coś innego akurat nie wiem co ;-)*/
}

1>------ Build started: Project: mus, Configuration: Debug Win32 ------
1>Compiling...
1>mus.cpp
1>d:\new folder\mus\mus\mus.cpp(17) : error C2065: 'cout' : undeclared identifier
1>d:\new folder\mus\mus\mus.cpp(18) : error C2065: 'cin' : undeclared identifier
1>d:\new folder\mus\mus\mus.cpp(23) : error C2065: 'endl' : undeclared identifier
1>Build log was saved at "file://d:\New Folder\mus\mus\Debug\BuildLog.htm"
1>mus - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Więc też nie działa jak się spodziewałem. Działa tylko :
C/C++
#include <iostream>         
using std::cout;
using std::cin;
using std::endl;

A jak zrobię:
C/C++
#include <iostream.h> to mam:

/*1>d:\new folder\mus\mus\mus.cpp(5) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory*/


Dlaczego to wszystko działa w moim przypadku to akurat wiem, tobie no cóż pozostaje zapytać na forum.

PS nie lubię kłamstwa, żeby potwierdzić moją tezę chciałem zainstalować sobie jeszcze VC++ `08, ale powiem ci nie warto, pomyśl trochę nim coś napiszesz, a jak napiszesz to bądź pewien co .......
P-4480
« 1 » 2
  Strona 1 z 2 Następna strona