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

Zadanie C++. Classy Tablice Funkcje

VPS Starter Arubacloud
0 głosów
110 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez Maty Nowicjusz (190 p.)

Witam dostalem zadanie napisanie classy z prostymi funkcjami dla tablicy. Na pierwszy rzut oka kod wydaje byc sie ok, ale gdy tylko probuje np sumowac wszystkie liczby to wychodzi mi kolosalna liczba typu 525 gdy w tablicy znajdoja sie liczby od 0 do 9. Ktos pomorze/doradzi ? Oto kod :

#include <iostream>
using namespace std;
#define LOL 10

class tab{
 
    char t[LOL];
    
    public:
    
   void wprowadz(){
   		cout<<"Podaj liczby:"<<endl;
        for(int i=0;i<LOL;i++){
             cin>>t[i];
         }
         
    }
    
    void min(){
        int min=t[0];
        for(int i=0;i<LOL;i++){
            if(t[i]<min){
                min=t[i];
            }
        }
        cout<<min<<endl<<endl;
    }
    
     void max(){
        int max=t[0];
        for(int i=0;i<LOL;i++){
            if(t[i]>max){
                max=t[i];
            }
        }
    	cout<<max<<endl<<endl;
    }
    
     void suma(){
        int sum=0;
        for(int i=0;i<LOL;i++){
            sum+=t[i];
        }
        cout<<sum<<endl<<endl;
    }
        
    void zeruj(){
        for(int i=0;i<LOL;i++){
            t[i]=0;
        }
    }
    
     void wypisz(){
        for(int i=0;i<LOL;i++){
            cout<<t[i]<<endl;
        }
    }
    
};

int main() {
	
	int wybor;
do{
	cout<<"1.Wprowadzi"<<endl;
    cout<<"2.Min"<<endl;
    cout<<"3.Max"<<endl;
    cout<<"4.Suma"<<endl;
    cout<<"5.Zeruj"<<endl;
    cout<<"6.Wypisz"<<endl<<endl;
    
    tab xd;
    
    cout<<"Wypierz :";
    cin>>wybor;
    
    switch(wybor){
        case 1:
            xd.wprowadz();
        break;
            
        case 2:
        	xd.min();
        break;
        
        case 3:
            xd.max();
        break;
         
        case 4:
            xd.suma();
        break;
        
        case 5:
            xd.zeruj();
        break;
        
        case 6:
            xd.wypisz();
        break;
    };
    
}while(wybor!=0);
    return 0;
};

 

1
komentarz 20 marca 2019 przez Mariusz08 Maniak (62,300 p.)

Ktos pomorze

Nie, Podkarpacie.

Tak na serio: popraw formatowanie, bo tego się czytać nie da ;/ 

1 odpowiedź

0 głosów
odpowiedź 20 marca 2019 przez Ptaszor3 Użytkownik (900 p.)
wybrane 20 marca 2019 przez Maty
 
Najlepsza
Widzę, że po godzinie nikt mądrzejszy nie kwapi się do odpowiedzi więc pozwolę sobie ją napisać. Czytając twój komentarz i kod doszedłem do wniosku, że chcesz aby w rezultacie program wypisał np. największą liczbę, a kiedy ją wpisujesz wyskakują Ci duże liczby? Moim zdaniem może to być spowodowane tym, że w 7 linii definiujesz tablicę typu literowego char. Jeżeli spróbujesz wpisać do takiego typu cyfrę zostanie ona zamieniona na jej odpowiednik w jakimś kodowaniu np. ASCII czyli np. litera 'h' zamienia się na 104 i to samo dzieje się z cyframi np. '0' -> 48, przepraszam, ale nie potrafię tego dobrze wytłumaczyć sprawdź w internecie. Wystarczy, że zamienisz w 7 linii char na int. (Dobra rada -wwypowiedziach na forum pisz z ogonkami, a w kodzie nie rób błędów ortograficznych, ludzie tego nie tolerują + popracuj nad tym jak wygląda twój kod, sprawdź w internecie jak to robić.)
1
komentarz 20 marca 2019 przez Maty Nowicjusz (190 p.)

Dzięki wielkie za pomoc i dobre rady. Postaram się zwracać więcej uwagi na wygląd kodu jak i orografię. 

laugh 

Podobne pytania

0 głosów
1 odpowiedź 320 wizyt
pytanie zadane 27 stycznia 2017 w C i C++ przez vega Użytkownik (510 p.)
0 głosów
1 odpowiedź 71 wizyt
pytanie zadane 28 maja 2016 w C i C++ przez Ninja198 Początkujący (330 p.)
0 głosów
1 odpowiedź 368 wizyt
pytanie zadane 20 stycznia 2016 w C i C++ przez Lukasz95 Bywalec (2,160 p.)

92,452 zapytań

141,262 odpowiedzi

319,084 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...