Adivinar número con tres intentos con funciones en c.

  c, funciones
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int adivinar(int o);
void del1al10(int o); //del 1 al 10
void del1al20(int o); //del 1 al 20
void del1al100(int o); //del 1 al 100
int main(int argc, char** argv) {
    int numero;
    int intentos;
    int opciones;
    //menu 
    do {
        puts("Menu");
        puts("0.Salir");
        puts("1.Introduce un número del 1 al 10");
        puts("2.Adivina el número del 1 al 2 con tres intentos");
        puts("3.Adivina el número del 1 al 100 aleatorio con tres intentos");
        scanf(" %d", &opciones);
        switch (opciones) {
            case 1:
                del1al10(opciones);
                break;
            case 2:
                del1al20(opciones);
                break;
            case 3:
                del1al100(opciones);
                break;
        }
    } while (opciones != 0);

    return (EXIT_SUCCESS);
}

void del1al10(int o) {
    int juego = 0;

    juego = adivinar(o);
    //llamo a la funcion adivinar
    if (juego == 1) {
        printf("Has acertado con el número \n");
    } else {
        printf("Lo sentimos vuelve a jugar \n");
    }
};

void del1al20(int o) {
    int juego = 0;
    juego = adivinar(o);
    //llamo a la funcion adivinar
    if (juego == 1) {
        printf("Has acertado con el número \n");
    } else {
        printf("Lo sentimos vuelve a jugar \n");
    }
};

void del1al100(int o) {
    int juego = 0;
    juego = adivinar(o);
    //llamo a la funcion adivinar
    if (juego == 1) {
        printf("Has acertado con el número \n");
    } else {
        printf("Lo sentimos vuelve a jugar \n");
    }
};

int adivinar(int o) {
    int numero;
    int i = 0;
    int resultado = 0;
    int contador=3;
    /*printf("introduce un numero del 1 al 10 \n");
    scanf("%d", &numero);*/
    // le paso opciones y número introducido
    if (o == 1) {
        int aleatorio = 7;
        printf("introduce un numero del 1 al 10 \n");
        scanf("%d", &numero);
        if (numero == aleatorio) {// si es igual 
            resultado = 1;
            return resultado;
        }
    } else if (o == 2 || o == 3) {
         //codigo del numero aleatorio
        
        int aleatorio;
        int hora = time(NULL);
        srand(hora);
        aleatorio = 1 + rand() % (100 - 1);
        //codigo del numero aleatorio
        for (i = 0; i < 3; i++) {
            if (o == 2) {
                aleatorio = 7;
                //codigo del numero aleatorio
                printf("Introduce un numero del 1 al 20 \n");
            } else if (o == 3) {
                //int aleatorio = 0;
                printf("El numero es: %d \n", aleatorio);
                printf("Introduce un numero del 1 al 100 y te quedan %d intentos\n",contador);
            }
            scanf(" %d", &numero);
            // i es el numero de veces que puedo jugar en opciones 2 y 3
           // printf("Los numeros son :numero es %d aleatorio es %d \n", numero, aleatorio);
            if (numero == aleatorio) {// si es igual 
                resultado = 1;
                return resultado;
                break;
            }
            contador--;
        }//fin for
        return resultado;
    }
};