no widzę, że dyskusja się rozwinęła dość mocno;-) no a ja może wyjaśnie sprawę do końca, bo myślałem , że będę miał problem tylko z wczytaniem danych. No więc rozchodzi się o program sprawdzający NIP, ale po tym co mi poradziliście potem jeszcze napotkałem kilka problemów. Więc po pierwsze rozchodzi się tu o 10 cyfr, a nie 9 - mój błąd :-/ A oto moje wypociny:
Jakby ktoś nie pamiętał ja to działa:
Program sprawdzający NIP. Ostatnie pozycja to suma kontrolna. Sumujemy 9 pierwszych liczb pomnożonych przez określone współczynniki: 657234567. Wynik dzielimy przez 11 i wyznaczamy resztę z dzielenia. Reszta powinna być identyczna z ostatnią cyfra NIP.
No i jest teraz tak, że odpala, ale nie liczy jak trzeba i jeszcze na koniec pokazuje się windowsowe okienko o raportowaniu błędów. A poza tym wypisując kontrolnie sume albo wynik za każdym razem pokazuje 0.
PODKREŚLAM - dopiero zaczynam z c++, więc wybaczcie proste błędy.
Z góry dziękuję za pomoc.
Pozdrawiam
Kod:
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int a[10];
string nip;
float wynik;
int i, suma;
int main()
{
cout << "Podaj NIP ";
cin >> nip;
for(i = 0; i < 10; i++);
{
a[i] = nip[i];
}
suma=(a[1]*6)+(a[2]*5)+(a[3]*7)+(a[4]*2)+(a[5]*3)+(a[6]*4)+(a[7]*5)+(a[8]*6)+(a[9]*7);
wynik=suma%11;
if (wynik==a[10])
{
cout<<"Twoj nip jest prawidlowy";
}
else
{
cout<<"Twoj nip jest nieprawidlowy";
}
getchar();
}
Jakby ktoś nie pamiętał ja to działa:
Program sprawdzający NIP. Ostatnie pozycja to suma kontrolna. Sumujemy 9 pierwszych liczb pomnożonych przez określone współczynniki: 657234567. Wynik dzielimy przez 11 i wyznaczamy resztę z dzielenia. Reszta powinna być identyczna z ostatnią cyfra NIP.
No i jest teraz tak, że odpala, ale nie liczy jak trzeba i jeszcze na koniec pokazuje się windowsowe okienko o raportowaniu błędów. A poza tym wypisując kontrolnie sume albo wynik za każdym razem pokazuje 0.
PODKREŚLAM - dopiero zaczynam z c++, więc wybaczcie proste błędy.
Z góry dziękuję za pomoc.
Pozdrawiam