Program "Sierpien"

Odpowiedz Nowy wątek
Świetny Krawiec
2015-08-23 14:39
Świetny Krawiec
0

Napisalem program, ktory dotyczy terazniejszego miesiaca. Uzytkownik podaje dzien (Pn-Ndz), a komputer wyswietla w jakie dni miesiaca przypada dany dzien tygodnia. Oto kod zrodlowy:

#include <iostream>
using namespace std;

int main()
{
    int sierpien_dni[6][7] = {
        {0, 0, 0, 0, 0, 1, 2},
        {3, 4, 5, 6, 7, 8, 9},
        {10, 11, 12, 13, 14, 15, 16},
        {17, 18, 19, 20, 21, 22, 23},
        {24, 25, 26, 27, 28, 29, 30},
        {31}
    };

    cout<<"Podaj dzien tygodniu od 1 (Pn) do 7 (Ndz): ";
    int dzien;
    cin>>dzien;

    cout<<"\n"<<"Twoj wybrany dzien tygodnia wypada w nastepujace dni w sierpniu: "<<endl;
    cout<<sierpien_dni[0][0]+dzien-1<<endl;
    cout<<sierpien_dni[1][0]+dzien-1<<endl;
    cout<<sierpien_dni[2][0]+dzien-1<<endl;
    cout<<sierpien_dni[3][0]+dzien-1<<endl;
    cout<<sierpien_dni[4][0]+dzien-1<<endl;
    cout<<sierpien_dni[5][0]+dzien-1<<endl;

 cin.get();
 cin.get();
 return 0;

} 

Ktos wie w jaki sposob moglbym to poprawic? Bo przy poniedzialku na przyklad program liczy tez pierwszy wiersz, wyswietla ze wtorek przypada tez na 32 itd. Jak wystrzec sie takich bledow?

Pozostało 580 znaków

2015-08-23 15:24

Rejestracja: 7 lat temu

Ostatnio: 2 minuty temu

0

Przejść z tablicy na algorytm.

Mianowicie:
Wiemy, że 1 sierpnia to była sobota.
Czyli jeśli reszta z dzielenia dnia przez 7 wynosi 1 to jest sobota (1 % 7 = 1, 8 % 7 = 1, 15 % 7 = 1 itp.)
Analogicznie dla innych dni.

Pozostało 580 znaków

2015-08-23 16:01

Rejestracja: 16 lat temu

Ostatnio: 1 minuta temu

0
#include <iostream>
using namespace std;

int main()
{
    cout<<"Podaj dzien tygodnia od 1 (Pn) do 7 (Ndz): ";
    int dzien;
    cin>>dzien;
    dzien = (dzien+1) % 7 + 1;

    cout<<"\n"<<"Twoj wybrany dzien tygodnia wypada w nastepujace dni w sierpniu: "<<endl;
    while (dzien <= 31)
    {
        cout << dzien << endl;
        dzien+=7;
    }
}
edytowany 1x, ostatnio: Azarien, 2015-08-23 16:02

Pozostało 580 znaków

Odpowiedz

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