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 kod[])
- {
- int i;
- int digit_counter = 0;
- int control_number = 0;
- int x = 10;
- for(i=0; i < kod[i]; i++)
- {
- digit_counter++;
- }
- for(i=0; i < kod[i]; i++)
- {
- if(kod[i] == ' ')
- {
- return 1;
- }
- }
- if(digit_counter < 11 || digit_counter>11)
- {
- return 2;
- }
- for(i=0; i < kod[i]; i++)
- {
- if ((kod[i] >= 'A' && kod[i] <= 'Z') || (kod[i] >= 'a' && kod[i] <= 'z'))
- {
- return 4;
- }
- }
- for(i=0; i < kod[i]; i++)
- {
- if(kod[i] > '9' ||kod[i] < '0')
- {
- return 5;
- }
- }
- control_number = kod[10] - '0';
- for (i=0;i<=9;i++) {
- x+=kod[i]-'0';
- if (x%=10);
- else x=10;
- x=x*2%11; }
- x= x==1 ? 0 : 11-x;
- if(x!=control_number)
- {
- return 6;
- }
- return 0;
- }
- int main()
- {
- int i;
- char oib_check[15];
- printf("Unesite OIB: ");
- scanf("%12[^\n]", &oib_check[i]);
- printf("Vraceno = %d ", error_check(oib_check));
- switch(error_check(oib_check))
- {
- case 0:
- printf("\nOIB je ispravan");
- break;
- case 1:
- printf("\nUnesen razmak, neispravan OIB!");
- break;
- case 2:
- printf("\nUnesen krivi broj znamenki 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