• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja własna - pętla.

Object Storage Arubacloud
0 głosów
290 wizyt
pytanie zadane 12 września 2015 w C i C++ przez Decol Użytkownik (560 p.)

Chcę napisać kod z własną funkcją, który uruchamia odliczanie od podanego przedziału liczb. Nie działa on jednak jak należy. Dodam tylko, że jeśli zamiast funkcji własnej użyję funkcji void, wszystko działa poprawnie. Proszę o pomoc, bo nie wiem gdzie robię błąd:

 

#include <iostream>

using namespace std;

int rozpocznij,zakoncz;
int odliczanie(int start, int stop);

int main()
{
    cout<<"Od ilu zaczac odliczanie? ";cin>>rozpocznij;
    cout<<"Na ilu skonczyc odliczanie? ";cin>>zakoncz;
    cout<<odliczanie(rozpocznij,zakoncz);

    return 0;
}

int odliczanie(int start, int stop)
{
    for(int i=start; i>=stop; i--)
    {
    i;
    return i>=stop;
    }
}

 

2 odpowiedzi

+1 głos
odpowiedź 12 września 2015 przez hit02 Nałogowiec (33,970 p.)

Czy to przypadkiem nie powinno być coś w tym stylu?

#include <iostream>
 
using namespace std;
 
int odliczanie(int start, int stop);
 
int main()
{
    int rozpocznij, zakoncz;
    cout<<"Od ilu zaczac odliczanie? ";
    cin>>rozpocznij;
    cout<<"Na ilu skonczyc odliczanie? ";
    cin>>zakoncz;
    cout<<odliczanie(rozpocznij,zakoncz);
 
    return 0;
}
 
int odliczanie(int start, int stop)
{
    for(int i = start; i <= stop; i++)//Start zazwyczaj będzie chyba mniejszy niż stop.
    {
        return i;//Nie wiem, co chciałeś zrobić tymi magicznymi instrukcjami tutaj.
    }
}

 

+1 głos
odpowiedź 12 września 2015 przez Patrycjerz Mędrzec (192,320 p.)
edycja 12 września 2015 przez Patrycjerz

Sprawdź, czy działa:

#include <iostream>
 
using namespace std;
 
int rozpocznij, zakoncz;
void odliczanie(int start, int stop);
 
int main()
{
    cout << "Od ilu zaczac odliczanie? ";
    cin >> rozpocznij;
    cout << "Na ilu skonczyc odliczanie? ";
    cin >> zakoncz;
    odliczanie(rozpocznij, zakoncz);
 
    return 0;
}
 
void odliczanie(int start, int stop)
{
    for(int i = start; i >= stop; i--)
         cout << i << endl;
}

 

komentarz 12 września 2015 przez Patrycjerz Mędrzec (192,320 p.)

Wywoływałeś tylko raz tę funkcję, więc to zwracanie nie miało sensu. Lepiej wykorzystać voida.

komentarz 12 września 2015 przez Szykem2 Nałogowiec (29,510 p.)
Powinieneś jeszcze zmienić deklarację funkcji na typ zwracany void bo kompilator wywali błąd.
komentarz 12 września 2015 przez Patrycjerz Mędrzec (192,320 p.)
Oj... ślepy jestem. Oczywiście, to jest przeoczenie.

Podobne pytania

0 głosów
1 odpowiedź 320 wizyt
pytanie zadane 13 marca 2023 w Offtop przez LinosiK Obywatel (1,920 p.)
0 głosów
2 odpowiedzi 679 wizyt
0 głosów
4 odpowiedzi 13,204 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...