I dont seem to compile it. Please help me to check and guide me through. Please. Help really needed.
Question:

Write a program to show the operation of the random number generator.
The program will generate a specified number of random numbers in a given range.
It will count the number of times each number occurs.
It will display on the screen how many times each number occurred, in the form:
0 occurred 100 times
1 occurred 102 times
2 occurred 98 times
etc.
It will calculate the minimum number of occurrences, the maximum number of occurrences and the number of times each number could be expected.
e.g.
Minimum count =98, maximum count =102, expected count =100.
Use date_time_seed() and rand() (see example program below)
The prpgram will accept the following single keystroke commands from the keyboard ..
• ‘R’ to run the program, prompting for the number range and the number of numbers to generate. After running it prompts for either R or Q again.
• ‘Q’ to quit the program.







Code:
#include <stdlib.h>
#include <stdio.h>
#include <DBOS\LIB.h>
#include <CLIB.H>

void count_nums(int *a, int range, int num);
int my_rand(int);
int get_max(int *a, int s);
int get_min(int *a, int s);

int main(void)
{
    int range, num;
    /*!! foo.c:14: warning: implicit declaration of function ‘date_time_seed’ */
    date_time_seed();
    /*!! foo.c:15: warning: ISO C90 forbids mixed declarations and code */
    int a[50], t[50];
    char c;
    int s, i;

    printf(" * Please press r/R to run or press q/Q to exit *\n");
    /*!! foo.c:20: warning: implicit declaration of function ‘getch’ */
    c = getch();
    /*run by pressing r and exit by pressing q */

    if (c == 'r' || c == 'R') { /*accept both lower and upper case */
        /*move to next statment only if the input in range 1 to 20 */
        do {
            printf("Enter the range size(max=20)");
            scanf("%d", &range);
        }
        while (range < 0 || range > 20);

        printf("How many numbers do you wish to generate?");
        scanf("%d", &num);
        date_time_seed;
        count_nums(a, range, num);
        for (i = 0; i < range; i++)
            printf("%d:%d\n", i, t[i]); 
        printf("Maximum count:%d\n", get_max(a, range));
        
        printf("Minimum count:%d\n", get_min(a, range));
        printf("Expected: %d\n", (int) (num / range));
    }
    if (c == 'q' || c == 'Q')
        exit(1);

    return (0);
}

int my_rand(int range)
{
    int r;
    date_time_seed();
    r = 1 + rand() % range;
    return r;
}

void count_nums(int *a, int range, int num)
{
    int i; 
    
    int t[50];
    for (i = 0; i <= num; i++)
    {
        a[i] = my_rand(range);
        t[i] = 0; 
        t[a[i]]= t[a[i]]+1;
          printf("%d", a[i]);
    }
    
}

/* function to find the max */
int get_max(int *a, int s)
{
    int i, max; 
   max= *a;
    for (i = 0; i < s; i++)
        if (*(a + i) > max)
            max = *(a + i);
    return (max);
}

/*function to find the min */
int get_min(int *a, int s)
{
    int i, min;

    min = *a;
    for (i = 0; i < s; i++)
        if (*(a + i) < min)
            min = *(a + i);
    return (min);
}