• 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
756 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ź 385 wizyt
0 głosów
1 odpowiedź 227 wizyt

92,757 zapytań

141,679 odpowiedzi

320,429 komentarzy

62,101 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

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!

...