C do{} while(function(argumen)==1) in I/O FILES : <p>So i need to enter ID(int)(it has to be a 3 digit format) argument and make a check function if there is same ID in FILE datoteka.txt that i made.
Thanks for help</p>

<pre><code>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
struct struktura{
    int ID;
    char imeprezime[20];
    int placa;
    int godina;
};

int clear_input_buffer(void) {
    int ch;
    while (((ch = getchar()) != EOF) &amp;&amp; (ch != '\n')) /* void */;
    return ch;
}
</code></pre>

<p>ID check :cant get it to return flag = 1;</p>

<pre><code>//function that should check if there is same ID as the one you enter
//returning 1 if there is same ID or 0 if there is not
int provjera(int IDprovjera){
    int flag=0;
    int datID;
    FILE *datprovjera = NULL;
    datprovjera = fopen("datoteka.txt","r");
    if(datprovjera == NULL){
        printf("Nema datoteke!");
        exit(2);
    }
    while(fscanf(datprovjera,"%d#%[^#]#%d#%d#",&amp;datID)==4){
        if (datID == IDprovjera){
            flag=1;
            break;
        }

    }
    fclose(datprovjera);
    return flag;
}
</code></pre>

<p>Main</p>

<pre><code>int main()
{
    int i,M;
    int provjera_2;

  struct struktura radnik;

  FILE *datoteka = NULL;
  datoteka = fopen("datoteka.txt","w");
  if (datoteka == NULL){
    printf("Greska!");
    exit(1);
  }
    printf("Unesi broj radnika:\n");
    scanf("%d",&amp;M);
    for(i=0;i&lt;M;i++){
            //ID
            do{
                do{
                printf("Unesi ID\n");
                scanf("%d",&amp;radnik.ID);
                clear_input_buffer();
                }while(
                       provjera(radnik.ID)!=0);

            }while(
                   radnik.ID/100&gt;9 || radnik.ID/100&lt;1);
                fprintf(datoteka,"%d",radnik.ID);
                fprintf(datoteka,"%c",'#');

            //Ime Prezime
            printf("Unesi ime i prezime radnika:\n");
            gets(radnik.imeprezime);
            fprintf(datoteka,"%s",radnik.imeprezime);
            fprintf(datoteka,"%c",'#');

            //Placa
            printf("Unesi placu radnika:\n");
            scanf("%d",&amp;radnik.placa);
            fprintf(datoteka,"%d",radnik.placa);
            fprintf(datoteka,"%c",'#');

            //Godine
            do{
                printf("Unesi godinu pocetka rada:\n");
                scanf("%d",&amp;radnik.godina);
                clear_input_buffer();
            }while(
                   radnik.godina&lt;1970 || radnik.godina&gt;2016);
            fprintf(datoteka,"%d",radnik.godina);
            fprintf(datoteka,"%c\n",'#');
        }
    fclose(datoteka);
</code></pre>
