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

[C++] algorytm potęgowania dowolnej liczby rzeczywistej o dowolnym stopniu potęgi z wykorzystaniem pętli "do, while"

Ostatnio zmodyfikowano 2014-05-13 00:08
Autor Wiadomość
CiapekDwa
Temat założony przez niniejszego użytkownika
[C++] algorytm potęgowania dowolnej liczby rzeczywistej o dowolnym stopniu potęgi z wykorzystaniem pętli "do, while"
» 2014-05-12 23:32:38
Witam, mam problem z tą oto funkcją:

C/C++
#include <iostream>
#include <math.h>
#include <cstdio>
#include <stdbool.h>
#include <conio.h>

using namespace std;

float fpotegi()
{
    float fliczba1;
    int nstopien;
    float fwynik;
    cout << "PODAJ LICZBE" << endl;
    cin >> fliczba1;
    cout << "PODAJ STOPIEN POTEGI TEJ LICZBY" << endl;
    cin >> nstopien;
   
    do {
        fliczba1 = fwynik;
        fwynik * fliczba1;
        cout << fwynik << endl;
        nstopien--;
       
    } while( nstopien >> 0 );
   

Chcę żeby wyliczała potęgę liczby podanej przez użytkownika, o wykładniku który także poda użytkownik. Funkcja zwraca cały czas jakiś dziwny ciąg znaków "7.00649e-045" zamiast normalnego wyniku który nawet w przypadku błędnego algorytmu powinien przy zmiennych np. liczba1 = 5 i stopien = 3 być normalną liczbą, chyba, że czegoś nie rozumiem, liczbę( zmienną odpowiadającą za wykładnik potęgi nazwałem 'nstopien'). Od razu mówię, że jestem baaaardzo początkujący w temacie C++.
P-109834
Glazus
» 2014-05-12 23:51:44
Kilka pytań mam, może na tyle Cię nakierują, że sam wpadniesz co jest nie tak.
C/C++
float fpotegi() // czemu tutaj masz typ float? Tam dalej (bo nie widzę znaku '}' kończącego funkcję)
{ // gdzieś return jeszcze masz zachomikowany?
    float fliczba1;
    int nstopien;
    float fwynik;
    cout << "PODAJ LICZBE" << endl;
    cin >> fliczba1;
    cout << "PODAJ STOPIEN POTEGI TEJ LICZBY" << endl;
    cin >> nstopien;
   
    do {
        fliczba1 = fwynik; // przypisujesz zmiennej niezainicjowaną daną!
        fwynik * fliczba1; // co ta linijka ma robić?
        cout << fwynik << endl; // po co wypisujesz fwynik przy każdym obiegu while'a?
        nstopien--;
       
    } while( nstopien >> 0 );
   
Poza tym inicjuj zmienne od razu podczas tworzenia.
float fliczba1 = 0;
P-109836
DejaVu
» 2014-05-13 00:08:27
Przeczytaj: » Kurs C++Obsługa strumienia cout lekcja
P-109839
« 1 »
  Strona 1 z 1