Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Q] Obliczanie silni w C++


Rekomendowane odpowiedzi

Opublikowano

Witam!

Ostatnio zacząłem uczyć się C++ i postanowiłem zrobić prosty kalkulator.
Niestety od kilku godzin męczę się nad obliczaniem silni.
Udało mi się wykonać wypisywanie liczb za pomocą pętli do-while, ale nie wiem jak mogę zrobić, aby również wykonywane było działanie. Poniżej zamieszczę kod.

#include <iostream>
#include <conio.h>
#include <math.h>

using namespace std;

int silnia(double 
{
    int c = 1;
    do
    {
        cout << c << "*";
        c++;
        b--;
    }while(b>1);
    cout << c << "=" << endl;
    return 1;
}

int main()
{
    int a;
    double b;
    double c;
                    cout << "Wpisz moc silni:" << endl;
                    cin >> b;
                    if(b>0)
                    {
                        silnia(;
                    }
                    else
                    {
                        cout << "Blad." << endl;
                    }
getch();
return 0;
}

To jest tylko fragment programu, w którym umieściłem silnię.

Byłby ktoś w stanie pomóc.

Opublikowano
Opublikowano

Hm...
Za każdym obrotem musi być dokonana operacja mnożenia.
Czyli teoretycznie powinno to wyglądać tak:

do
{
cout << c*;
c++;
b--;
}while(b>0);

Tylko, że z tego co pamiętam znak mnożenia nie może występować obok znaku średnika, jak również zapętla się cały czas "c*" czyli na końcu pozostanie "*"
np:
"1*2*3*4*5*"

więc ten pomysł spalił na panewce.

Myślałem, żeby wynik pętli "wrzucić" w zmienną, ale nie wiem czy da się to wykonać i jak ;/

Opublikowano

No ale co według ciebie ma robić cout << c*; ?

Brakuje ci podstaw. Polecam ci przejrzeć jakiś kurs od początku, bo potem będziesz miał trudności.

 

Musisz utworzyć jakąś zmienną (np. wynik), nadać jej wartość 1, i przy każdym obrocie pętli mnożyć przez c.

Opublikowano
#include <iostream>
using namespace std;

int main()
{
    int n;
    int wynik = 1;
    cout<<"Podaj liczbe: ";
    cin>>n;
    if(n<=0)
    {
        cout<<"   Blad!";
        return 0;
    }
    for( n; n > 1; n--)
        wynik *= n;
    cout<<"Wynik wynosi: "<<wynik;
    return 0;
}

Skleciłem na szybko. Program pobiera liczbę, jeśli jest ona mniejsza lub równa 0 to pojawia się komunikat o błędzie. Jeśli jest większa od 0, wtedy uruchamia się pętla i obliczamy silnię.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...