Pomoc przy zadaniu – problem ze wskaźnikiem

0

Chciałbym was poprosić kolejny raz o pomoc. Staram się żeby wskaźnik "miesiac" chodził po tablicy i wypisywał miesiące podane liczbowo przez użytkownika a on na złość cały czas wypisuje mi grudzień jeżeli widzicie jakiś błąd bardzo prosiłbym o pomoc. Z góry pozdrawiam

#include <iostream>

using namespace std;

int main()
{
    int numerMiesiaca;
    cout << "Podaj numer miesiaca:"<<endl;
    cin >> numerMiesiaca;
    struct Data{
    short d;
    string m[];
    short r;
    };
   string m[13] = ("Styczen","Luty","Marzec","Kwiecien","Maj","Czerwiec","Lipiec",
                   "Sierpien","Wrzesien","Pazdziernik","Listopad","Grudzien");
   string *miesiac;
   miesiac =&m[numerMiesiaca];
   cout <<endl<<*miesiac;




    cout << "Hello world!" << endl;
    return 0;
}

Przepraszam za złą nazwę tematu.

1
#include <iostream>

using namespace std;

int main()
{
    int numerMiesiaca;
    cout << "Podaj numer miesiaca:"<<endl;
    cin >> numerMiesiaca;
    struct Data{
    short d;
    short r;
    };
   string m[12]  {"Styczen","Luty","Marzec","Kwiecien","Maj","Czerwiec","Lipiec",
                   "Sierpien","Wrzesien","Pazdziernik","Listopad","Grudzien"};
   string *miesiac;
   miesiac =&m[numerMiesiaca - 1];
   cout <<endl<<*miesiac;

    return 0;
}

resztę popraw sobie sam lub rozszerz pytanie

0

Nie do konca o to mi chodziło to wyciągnąłem z treści zadania to że w strukturze musi być tablica na którą wskazuje wskaźnik. Przepraszam że od razu nie umieściłem treści zadania ale mialem nadzieję że będzie mi potrzebna tylko mała porada. O to treśc całego zadania:
1.Używając struktury Data, napisz program, który wczyta datę w postaci 3 liczb i wypisze ją zastępując numer miesiąca tekstem nazwy miesiąca, np. 23 pazdziernika 2010 r.
2.W programie użyj zainicjowanej statycznej tablicy struktur zawierających wskaźnik na tekst z nazwą miesiąca i liczbę dni tego miesiąca.
Dzięki za każdą radę. Może nie do konca dobrze zrozumiałem treść ale z tego co rozumiem w strukturze musi byc tablica.

0

Ciekawe co się stanie gdy...

Podaj numer miesiaca:
25

0

Nie wydrukowało nic. Dopiero się dzieje jak wpiszę 15.

1

nie, w strukturze ma być wskaźnik na nazwę miesiąca i chyba wskaźnik na liczbę dni, czyli robisz tablicę struktur Data { string* nazwa; int* liczbaDni }; a potem printujesz wskazane dane

0

ciekawe co się stanie gdy w końcu przestaniesz być taki wścibski dla początkujących

@gośćabc: Sprawdź https://sjp.pl/wścibski, mój komentarz jest uszczypliwy (może trochę złośliwy). Po drugie mój komentarz tyczy się także Twojego kodu, nie tylko kodu pytającego, a poważne błędy w kodzie warto zaznaczać już na samym początku nauki.
Jeśli ktoś zabiera się za manipulowanie wskaźnikami to uważam, że warto nauczyć go, by walidował miejsca, na które wskazuje wskaźnik.

edit: @gośćabc Po drugie sprawdź proszę moje posty w dziale Newbie i C/C++ i znajdź te, w których jestem uszczypliwy wobec początkujących, skoro twierdzisz, że: "w końcu przestaniesz (…)".

0

Proszę nie kłóćcie się z mojego powodu to że jestem kaciałą w programowaniu to ja sam wiem nie musisz mi tego uświadamiać powtórzę wskaźniki i wtedy jeżeli oczywiście można poproszę was o pomoc. Miłego dnia ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1