Как я могу заставить этот код повторить основную функцию - PullRequest
0 голосов
/ 07 октября 2018

Когда на вопрос / основную функцию «Вы хотите выйти» ответили «n», мне нужен код, чтобы затем снова и снова задавать вопрос, пока пользователь не закончит работу с программой.Ака повторяется столько раз, сколько нужно

    int getNumTerms()
    {
    int n;
    printf("Enter the number of terms: \n");
    scanf("%d",&n);
    return n;
}

double coshyper (double x, int n)
{
    int i;
    double sum=1, term=1;
    for (i=1; i<n; i++)
    {
        term=(x*x/(2.0*(double)i*(2.0*(double)i-1.0)))*term;
        sum=sum+term;
    }
    return sum;
}

int main()
{
    char q;
    printf("Do you wish to quit(y/n)?\n");
    scanf("%c",&q);
    if(q=='y')
    {
        printf("Program Terminated\n");
    }
    while(q=='n')
    {
       int n;
       double x;
       printf("Enter x: \n");
       scanf("%lf",&x);
       n=getNumTerms();
       double result = coshyper(x,n);
       printf("The value for cosh(%.3lf) for %d terms is %.6lf\n",x,n,result);
   }

}

1 Ответ

0 голосов
/ 07 октября 2018

Вы можете изменить основной на что-то вроде этого:

int main()
{
    char q = 'n';
    do{
        if(q == 'y'){
            printf("Program Terminated\n");
            break;
        }
        if(q == 'n'){
           int n;
           double x;
           printf("Enter x: \n");
           scanf("%lf",&x);
           n=getNumTerms();
           double result = coshyper(x,n);
           printf("The value for cosh(%.3lf) for %d terms is %.6lf\n",x,n,result);
        }
        else
        {
            printf("Invalid");
        }
        printf("Do you wish to quit(y/n)?\n");
        scanf("%c",&q);
    }while(1);
        return 0;
}
...