#1 2011-02-16 15:29:45

 pszonka

Administrator

1708501
Zarejestrowany: 2011-01-25
Posty: 113
Punktów :   

16 luty 2011

NIP to numer 10-cio cyfrowy odpowiednio dzielony myślnikami (np. 768-000-24-66).
Wagi to cyfry reprezentujące tablicę, które wyglądają tak: 6, 5, 7, 2, 3, 4, 5, 6, 7


1. Teraz każdą cyfrę NIP (prócz ostatniej) mnożymy zgodnie z cyfrą wagi:
NIP:      7 6 8 0 0 0 2 4 6 6<== suma kontrolna, którą na tym etapie nie bierzemy pod uwagę;
WAGI:   6 5 7 2 3 4 5 6 7

_ _ _ _ _ _ _

7x6=42; 6x5=30; .............................................


2. Teraz sumujemy wyniki: 42+30+..............................=204


3. Teraz dzielimy sumę modulo przez 11:
204 mod 11 = 6

Jeśli modulo liczby wynosi 10, wówczas liczbą kontrolną jest 0


4. Wynik porównujemy z sumą kontrolną: 6 = 6.

Wynik taki sam jak suma kontrolna, a więc numer jest prawidłowy.


Napisz program, który dla podanego ciągu 10 liczb, sprawdzi czy mogą być one numerem NIP.

W zależności jakie zostaną wpisane trzy pierwsze cyfry numeru NIP oznaczające kod Urzędu Skarbowego ma pojawić się komunikat:

Dla 223 – Urząd Skarbowy w Olkuszu

Dla 257 - Urząd Skarbowy Kraków-Krowodrza

Offline

 

#2 2011-02-16 15:35:47

 pszonka

Administrator

1708501
Zarejestrowany: 2011-01-25
Posty: 113
Punktów :   

Re: 16 luty 2011

/*
16.II.2011
*/

#include<iostream.h>

int main()
{
int nip[10], wagi[9]={6,5,7,2,3,4,5,6,7}, i, suma=0, mod;
for(i=0;i<10;i++)
  {
  do
    {
    cout<<"podaj "<<i+1<<" cyfrę NIP: "<<endl;
    cin>>nip[i];
    }
  while((nip[i]<0)||(nip[i]>9));
  }
//sumowanie
for(i=0;i<=8;i++)
  {
  suma=suma+(nip[i]*wagi[i]);
  }
cout<<"suma wynosi: "<<suma<<endl;
//dzielenie sumy przez 11
mod=suma%11;
if(mod==10)
  {
  mod=0;
  }
cout<<"mod wynosi "<<mod<<endl;
//sprawdzenie poprawności
if(mod==nip[9])
  {
  cout<<"NIP poprawny"<<endl;
  }
else
  {
  cout<<"NIP niepoprawny"<<endl;
  }
//Olkusz lub Kraków-Krowodża
if((nip[0]==2)&&(nip[1]==2)&&(nip[2]==3))
  {
  cout<<"NIP dla Urzędu Skarbowego w Olkuszu"<<endl;
  }
if((nip[0]==2)&&(nip[1]==5)&&(nip[2]==7))
  {
  cout<<"NIP dla Urzędu Skarbowego w Krakowie-Krowodrzy"<<endl;
  }
system("pause");
}

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.telefoniki.pun.pl www.zewkrwi.pun.pl www.wb2.pun.pl www.cupfifa.pun.pl www.cs-desant.pun.pl