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

Problem z zadaniem z książki Język C++ Szkoła programowania

Object Storage Arubacloud
0 głosów
738 wizyt
pytanie zadane 21 marca 2018 w C i C++ przez Junior_plusplus Obywatel (1,130 p.)

Witam,

mam problem z zadaniem z książki "Język C++ Szkoła programowania", które jest ewolucją wcześniejszego.

Polecenie do zadania początkowego:
Załóżmy, że sprzedajemy książkę C++ dla ociężałych. Napisz program, któremu podamy mie­sięczną liczbę sprzedaży (w sztukach). Program powinien użyć pętli do poproszenia o dane za miesiąc, korzystając z tablicy char* (lub tablicy obiektów string) zainicjalizowanej nazwa­mi miesięcy i zapisującej wczytane dane do tablicy liczb typu int. Następnie program ma wyliczyć sumę zawartości tablicy i podać roczną sprzedaż łącznie.

Polecenie do zadania w którym należy zmodyfikować kod z poprzedniego (z którym mam problem):
Ponownie wykonaj ćwiczenie 4 (czyli zadanie podane wyżej), ale użyj dwuwymiarowej tablicy na dane ze sprzedaży miesięcznej za 3 lata. Podaj łączną sprzedaż w każdym roku i dla wszystkich lat.

W związku z powyższym proszę bardzo o:

- pomoc/wskazówkę w rozwiązaniu problemu polegającego na wyświetleniu liczby 24 w pierwszym elemencie tablicy na końcu zadanie gdzie prezentowane są wszystkie wyniki dodam, że pozostałe elementy wczytane z klawiatury są wyświetlane prawidłowo;

- określenie czy moja interpretacja tego zadania jest właściwa;

- ogólną ocenę kodu (wskazanie np. co można poprawić/ulepszyć).

Z góry dziękuję za pomoc.

Poniżej kod:

#include <iostream>
#include <cstdlib>

using namespace std;

const int Miesiace = 12;
const int Lata = 3;
int suma = 0;
int suma_calkowita = 0;
int main()
{
     int tablica[Miesiace][Lata];
     const char * miesiace[Miesiace]=
     {
         "Styczen",
         "Luty",
         "Marzec",
         "Kwiecien",
         "Maj",
         "Czerwiec",
         "Lipiec",
         "Sierpien",
         "Wrzesien",
         "Pazdziernik",
         "Listopad",
         "Grudzien"
     };



     cout << "Ilosc sprzedanych sztuk w miesiacu w ciagu trzech lat\n\n";

 for (int j=1; j<=Lata; ++j)
{
    cout << "Rok "<<j<<endl;
        for (int miesiac = 0; miesiac < Miesiace; ++miesiac)
        {
          cout << miesiace[miesiac] << ":";
          cin >>tablica[miesiac][j];
          suma = suma + tablica[miesiac][j];


        }
        cout <<"Suma to: "<<suma<<endl<<endl;
        system ("pause");
        system("cls");
        suma_calkowita = suma_calkowita+suma;
        suma = 0;



}

cout << "Dane ze sprzedazy z 3 lat:\n\n";

for(int miesiac=0; miesiac<Miesiace; miesiac++)

	          {

	          cout << miesiace[miesiac]<<":\t";
	          for(int j = 0; j < Lata; j++)
                 cout <<tablica[miesiac][j] <<"\t";
                 cout<<endl;

	          }


cout << "Ilosc calkowita: "<<suma_calkowita<<endl;

     return 0;
}

 

1 odpowiedź

+1 głos
odpowiedź 21 marca 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)
wybrane 21 marca 2018 przez Junior_plusplus
 
Najlepsza
for (int j=1; j<=Lata; ++j)

Tablice indeksuje się od zera. W ostatnim obiegu wychodzisz poza zakres.

Nie ma żadnej potrzeby, aby w tym programie były jakiekolwiek zmienne globalne.

komentarz 21 marca 2018 przez Junior_plusplus Obywatel (1,130 p.)
Dziękuję bardzo za pomoc.

Czy poza wskazaniami, które muszę poprawić można uznać moją interpretację zadania za poprawną zgodną z poleceniem ?
komentarz 21 marca 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)
Wygląda ok.
komentarz 21 marca 2018 przez Junior_plusplus Obywatel (1,130 p.)
W takim razie jeszcze raz wielkie dzięki za pomoc :)

Podobne pytania

0 głosów
1 odpowiedź 373 wizyt
0 głosów
1 odpowiedź 218 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!

...