2
#include <stdio.h>
#include <cstdlib>

rec();

main() 
{
    int a, fact;
    char q, n, y;
    printf("\nEnter any number ");
    scanf("%d", & a);
    fact = rec(a);
    printf("Factorial value = %d\n", fact);
    printf("do you want to exit.....(y/n):");
    scanf("%s" ,&q);
    if (q == 'n')
    {
        system("cls");
        main();
    }
    else
        return 0;
}

rec(int x) 
{
    int f;
    if (x == 1) 
        return 1;
    else 
        f = x * rec(x - 1);

    return f;
}

I'm using code blocks but I don't know how to clear the screen. I searched then found system("cls"); within header file #include<cstdlib>, but it shows the error cstdlib: no such file of directory. What should I do ?

4

5 に答える 5

9

変化する

#include <cstdlib>

#include <stdlib.h>

cstdlibC++ ヘッダー ファイルであるため、C では使用できません。

于 2013-02-27T02:13:26.433 に答える
7

画面のクリアは、通常の C プログラムの範囲外です。オペレーティングシステムによって異なります。

Windows の場合は、を調べる必要があります。

UNIX の場合は、またはを調べてください。

system()親プログラムの環境に影響を与える場合としない場合があるサブシェルを常に起動します。system-call必要ですが、呼び出しは必要ありませsystem()


私はいつもこれを知りませんでした。私はかつて (ずっと前に) comp.lang.c で、誰かがsystem("exit");DOS プログラムの周りのウィンドウを閉じようとするべきだと提案しました。しかし、もちろん、それは機能しません。そして、投稿する前にコードをテストするようにすぐにアドバイスされました。:)

于 2013-02-27T05:27:18.303 に答える
4

あなたのコードには多くの問題があります....

しかし、特定の問題については、試してください #include <stdlib.h>

于 2013-02-27T02:13:40.917 に答える