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

question-closed Prosty kalkulator ze wskaznikami

0 głosów
816 wizyt
pytanie zadane 19 grudnia 2016 w C i C++ przez silnyjakzubr Nowicjusz (240 p.)
otagowane ponownie 12 lutego 2017 przez silnyjakzubr

Witam.

Próbowałem zrobić prosty kalkulator ze wskaźnikami, ale jeszcze nie za bardzo ogarnąłem temat. Program się włącza ale nie przelicza wszystkiego jak powinien. Prawdopodbnie błędy są w voidach ale nie potrafię ich poprawić :(

#include <iostream>
using namespace std;

void dodawanie(int *tab, int &ile){
    float suma=0;
    for(int i=0;i<ile;i++)
    {
        suma+=*tab;
        tab++;
    }
    cout<<"Suma wynosi: "<<suma;
}
void odejmowanie(int *tab, int &ile){
    float odejm=0;
    for(int i=0;i<ile;i++)
    {
        odejm=odejm-*tab;
        tab++;
    }
    cout<<"Odejmowanie wynosi: "<<odejm;
}
void mnozenie(int *tab, int &ile){
    float mnoz=0;
    for(int i=0;i<ile;i++)
    {
        mnoz=mnoz * *tab;
        tab++;
    }
    cout<<"Mnozenie wynosi: "<<mnoz;
}
void dzielenie(int *tab, int &ile){
    float dziel=0;
    for(int i=0;i<ile;i++)
    {
        dziel=dziel / *tab;
        tab++;
    }
    cout<<"Dzielenie wynosi: "<<dziel;
}

int main()
{
    int ile,wybor;
    cout<<"------------------"<<endl;
    cout<<"------------------"<<endl;
    cout<<"-------MENU-------"<<endl;
    cout<<"---1.Dodawanie----"<<endl;
    cout<<"---2.Odejmowanie--"<<endl;
    cout<<"---3.Mnozenie-----"<<endl;
    cout<<"---4.Dzielenie----"<<endl;
    cout<<"------------------"<<endl;
    cout<<"------------------"<<endl;

    cout<<"Podaj dowolna ilosc liczb: ";
    cin>>ile;

    int *tablica;
    tablica=new int [ile];

    for(int i=0;i<ile;i++)
    {
        cout<<"Podaj liczbe nr "<<i+1<<": ";
        cin>>tablica[i];
    }

    cout<<"Podaj numer operacji, ktora chcesz wykonac: ";
    cin>>wybor;

    switch(wybor){
        case 1:
            dodawanie(tablica,ile);
        break;
        case 2:
            odejmowanie(tablica,ile);
        break;
         case 3:
            mnozenie(tablica,ile);
        break;
         case 4:
            dzielenie(tablica,ile);
        break;
         default:
             return wybor;
        break;
        }

    delete [] tablica;
    return 0;
}

 

komentarz zamknięcia: Do usuniecia temat

2 odpowiedzi

0 głosów
odpowiedź 19 grudnia 2016 przez Kasztan Dyskutant (8,080 p.)
Ale to bez sensu, skąd czerpałeś wiedzę na temat wskaźników i funkcji  ?
komentarz 19 grudnia 2016 przez Kasztan Dyskutant (8,080 p.)
edycja 19 grudnia 2016 przez Kasztan
Wskazówka

1. suma+=tab[i];

2. po co tu referencja int &ile, int ile

3. jesli juz uzywasz += to uzyj -=, *= analogicznie
komentarz 19 grudnia 2016 przez Kasztan Dyskutant (8,080 p.)
int *tablica;

tablica=new int [ile];

int *tablica = new int [ile];
0 głosów
odpowiedź 19 grudnia 2016 przez Adii Użytkownik (960 p.)
Cześć,

Odejmowanie działa źle, bo ustawiasz wartość "float odejm = 0", innymi słowy od zera odejmujesz kolejne liczby z tablicy chyba, że to ja coś źle zrozumiałem. W mnożeniu jest to samo ustawiasz "float mnoz = 0" , a następnie robisz "mnoz = mnoz * *tab", innymi słowy mnożysz przez 0, zamień "float mnoz = 0" na "float mnoz = 1". Analogicznie dzielnie.

Nie jestem pewny czy taki chciałeś uzyskać efekt, więc może do "float odej, mnoz, dziel" przydziel pierwszą wartość z tablicy? Np. "mnoz = *tab;

Podobne pytania

0 głosów
2 odpowiedzi 659 wizyt
0 głosów
1 odpowiedź 824 wizyt
pytanie zadane 25 kwietnia 2018 w Inne języki przez Piotrek32 Obywatel (1,610 p.)
0 głosów
1 odpowiedź 439 wizyt
pytanie zadane 18 maja 2017 w C i C++ przez kvbq Obywatel (1,490 p.)

93,630 zapytań

142,551 odpowiedzi

323,054 komentarzy

63,134 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1936p. - dia-Chann
  2. 1916p. - DziarnowskiJ
  3. 1886p. - Łukasz Piwowar
  4. 1868p. - CC PL
  5. 1842p. - Maurycy W
  6. 1841p. - raydeal
  7. 1840p. - Adrian Wieprzkowicz
  8. 1782p. - rucin93
  9. 1777p. - robwarsz
  10. 1743p. - Michal Drewniak
  11. 1701p. - rafalszastok
  12. 1588p. - Tomasz Bielak
  13. 1491p. - Rafał Trójniak
  14. 1257p. - ssynowiec
  15. 1208p. - Mariusz Fornal
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...