pesel

0

Witam, napisałem działający program, który sprawdź czy podaliśmy poprawne numery wchodzące w skład numeru pesel. Jestem początkujący ale ten kod nie satysfakcjonuje mnie, a szczególnie linia gdzie dodaje każdy element tablicy1 do zmiennej suma. Czy jest jakaś łatwiejsza metoda, aby to zrobić.

#include <iostream>
#include <math.h>
#include <windows.h>
#include <cstdlib>
using namespace std;
int pesel[11];
int pesel1[11];
int suma;
int main()
{
    cout << "Witaj drogi uzytkowniku potrzebuje twojego peselu" << endl;

    for (int i = 0; i < 11; i++) {
        cout << "Podaj prosze " << i + 1 << " liczbe peselu: ";
        cin >> pesel[i];
    }
    pesel1[0] = pesel[0] * 1;
    pesel1[1] = pesel[1] * 3;
    pesel1[2] = pesel[2] * 7;
    pesel1[3] = pesel[3] * 9;
    pesel1[4] = pesel[4] * 1;
    pesel1[5] = pesel[5] * 3;
    pesel1[6] = pesel[6] * 7;
    pesel1[7] = pesel[7] * 9;
    pesel1[8] = pesel[8] * 1;
    pesel1[9] = pesel[9] * 3;
    pesel1[10] = pesel[10] * 1;

    suma = pesel1[0] + pesel1[1] + pesel1[2] + pesel1[3] + pesel1[4] + pesel1[5] + pesel1[6] + pesel1[7] + pesel1[8] + pesel1[9] + pesel1[10];

    if (suma > 0) {
        if (suma % 10 == 0) {
            cout << "Podales dobry pesel" << endl;
        }
        else {
            cout << "Zly pesel" << endl;
        }
    }
    else {
        cout << "nie poprawny pesel" << endl;
        system("cls");
    }
    return 0;
}
0

Czemu masz dwie tablice w ogóle?

Do sumowania użyj std::accumulate

0

Chciałem w jednej tablicy zapisać to co użytkownik wpisze a w drugiej wyniki pomnożonych cyfr o podane w programie wartości.

0

Ale racja nie potrzebnie druga tablica tutaj jest

0

A działa w ogóle, Testowałeś?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.