le redémarrage d'un programme en C, lorsque les “si” est utilisé

Je continue à apprendre la programmation en C, et aujourd'hui j'ai rencontré un problème.
Dans mon programme, l'utilisateur doit entrer une valeur de temps, en minutes, et mon programme va calculer secondes(très simple, en fait). Mais je veux mettre une règle, que le temps ne peut pas être négative. J'ai utilisé ce code:

    if(a<=0)
    {
        printf("Time cannot be equal to, or smaller than zero, so the program will now terminate\n");
        exit(EXIT_FAILURE);
    }

mais maintenant, je ne veux pas mettre fin à mon programme, je veux retourner à l'état lorsqu'un utilisateur doit entrer une valeur.

J'ai eu un problème avec la résiliation de mon programme, mais quelques recherches m'ont aidé, cependant je n'ai pas le résultat de la recherche comment redémarrer mon programme.

Ceci est le texte de mon programme(je travaille sur Linux):

#include<stdio.h>
#include<stdlib.h>
main()
{
    float a;
    printf("\E[36m");
    printf("This program will convert minutes to seconds");
    getchar();
    printf("Now enter your time in minutes(e.g. 5):");
    scanf("%f", &a);
    printf("As soon as you will press the Enter button you`ll get your time in seconds\n");
    getchar();
    getchar();


    if(a<=0)
    {
        printf("Time cannot be equal to, or smaller than zero, so the program will now terminate\n");
        printf("\E[0m");
        exit(EXIT_FAILURE);
    }
    else
    {
        float b;
        b=a*60;
        printf("\E[36m");
        printf("The result is %f seconds\n", b);
        printf("Press Enter to finish\n");
        getchar();
    }
    printf("\E[0m");
}

P. S. je ne sais pas comment correctement le nom de cette fonction, je l'appelle redémarrer, peut-être qu'il a un nom différent?

Utiliser une boucle avec a <= 0 pour sa condition d'arrêt.
Une idée: garder la lecture d'entrée while le programme n'a pas obtenir une entrée valide.

OriginalL'auteur 454b | 2012-07-30