Comment effacer l’écran du programme C simple?

#include  #include  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; } 

J’utilise des blocs de code mais je ne sais pas comment effacer l’écran. J’ai cherché puis trouvé le system("cls"); dans le fichier d’en-tête #include , mais il indique l’erreur cstdlib: no such file of directory . Que devrais-je faire ?

Effacer l’écran ne relève pas du programme C normal. Cela dépend du système d’exploitation.

Pour les fenêtres, vous devriez regarder dans conio .

Pour unix, cherchez des malédictions ou des termios .

system() lance toujours un sous-shell qui peut avoir ou non un effet sur l’environnement du programme parent. Vous avez besoin d’un appel système , mais pas d’ un appel system() .


Je n’ai pas toujours su ça. Une fois (il y a longtemps), j’ai suggéré dans comp.lang.c que quelqu’un devrait essayer system("exit"); pour fermer la fenêtre autour du programme DOS. Mais cela ne peut bien sûr pas fonctionner. Et on m’a rapidement conseillé de tester mon code avant de poster. 🙂

Changement

 #include  

à

 #include  

cstdlib est un fichier d’en-tête C ++ et sera donc inutilisable en C.

vous avez beaucoup de problèmes dans votre code ….

mais pour le problème spécifique, essayez #include

utilisez le #include qui définit la fonction d’écran clair.

Pour utiliser system("cls") vous avez besoin de l’en-tête . Cela permettra à tous les types system() de s’exécuter. Je ne sais pas s’il s’agit d’un fichier d’en-tête C ++, mais cela fonctionne pour le compilateur que j’utilise.