Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************
- Welcome to GDB Online.
- GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
- C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS
- Code, Compile, Run and Debug online from anywhere in world.
- *******************************************************************************/
- #include <stdio.h>
- int error_check(char OIB[])
- {
- int i;
- int digit_counter = 0;
- int control_number = 0;
- int x = 10;
- //printf("Testni ispis: %s", OIB);
- for(i=0; i < OIB[i]; i++)
- {
- digit_counter++;
- }
- //Provjera razmaka
- for(i=0; i < OIB[i]; i++)
- {
- if(OIB[i] == ' ')
- {
- return 1;
- }
- }
- //Provjera duzine
- if(digit_counter < 11)
- {
- return 2;
- }
- else if(digit_counter > 11)
- {
- return 3;
- }
- //Provjera slova
- for(i=0; i < OIB[i]; i++)
- {
- if ((OIB[i] >= 'A' && OIB[i] <= 'Z') || (OIB[i] >= 'a' && OIB[i] <= 'z'))
- {
- return 4;
- }
- }
- //Provjera znakova
- for(i=0; i < OIB[i]; i++)
- {
- if(OIB[i] > '9' || OIB[i] < '0')
- {
- return 5;
- }
- }
- control_number = OIB[10] - '0';
- printf("kontrolni broj %d", control_number);
- //Provjera kontrolne znamenke
- for (i=0;i<=9;i++) {
- x+=(OIB[i] - '0');
- if (x%=10);
- else x=10;
- x=x*2%11; }
- x= x==1 ? 0 : 11-x;
- printf ("\nThe control digit is: %d\n\n", x);
- if(x!=control_number)
- {
- return 6;
- }
- printf("kontroli izracun = %d", x);
- return 0;
- }
- int main()
- {
- int i;
- char OIB[15];
- int error_code = 0;
- printf("Unesite OIB: ");
- scanf("%12[^\n]", &OIB[i]);
- error_code = error_check(OIB);
- printf("Vraceno = %d ", error_code);
- switch(error_code)
- {
- case 0:
- printf("\nOIB je ispravan");
- break;
- case 1:
- printf("\nUnesen razmak, neispravan OIB!");
- break;
- case 2:
- printf("\nUneseno premalo znamenki, neispravan OIB!");
- break;
- case 3:
- printf("\nUneseno previse znamenki, neispravan OIB!");
- break;
- case 4:
- printf("\nSvi elementi OIB-a nisu znamenke, neispravan OIB!");
- break;
- case 5:
- printf("\nNedozvoljeni znak u OIB-u, neispravan OIB!");
- break;
- case 6:
- printf("\nOIB neispravan, kontrolna znamenka nije dobra!");
- break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement