[C] Probleme script
Résolu/Fermé
arthurbest78
Messages postés
66
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
26 juin 2014
-
Modifié par arthurbest78 le 17/04/2010 à 12:24
arthurbest78 Messages postés 66 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 26 juin 2014 - 17 avril 2010 à 13:11
arthurbest78 Messages postés 66 Date d'inscription jeudi 8 avril 2010 Statut Membre Dernière intervention 26 juin 2014 - 17 avril 2010 à 13:11
A voir également:
- [C] Probleme script
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Executeur de script - Télécharger - Édition & Programmation
1 réponse
ghuysmans99
Messages postés
2496
Date d'inscription
jeudi 14 juillet 2005
Statut
Contributeur
Dernière intervention
5 juin 2016
339
Modifié par ghuysmans99 le 17/04/2010 à 12:14
Modifié par ghuysmans99 le 17/04/2010 à 12:14
Le C n'est pas un langage de script, on nomme donc un fichier .c un code source. J'ai remplacé les printf() simples par des puts(). La particularité de cette fonction est qu'elle est plus rapide et qu'elle ajoute systématiquement un \n à la chaine qu'on lui passe en paramètre. J'ai aussi simplifié le code car il y avait des parties redondantes. Voilà le code corrigé :
VB.NET is good ... VB6 is better !
#include <stdio.h> #include <time.h> #include <math.h> #include <windows.h> int DemandeMode() { int ret = 0; printf("A combien de joueurs voulez-vous jouer (1 ou 2) ? "); while (ret < 1 || ret > 2) scanf("%d", &ret); printf("\n"); return ret; } int DemandeNiveau() { int ret = 0; puts("Quel niveau voulez-vous choisir ?"); puts("- Niveau 1, entre 1 et 10"); puts("- Niveau 2, entre 1 et 100"); puts("- Niveau 3, entre 1 et 1000"); puts("- Niveau 4, entre 1 et 10000"); puts("- Niveau 5, entre 1 et 100000"); puts(""); while (ret < 1 || ret > 5) scanf("%d", &ret); puts("\n\n"); return ret; } int main () { int choixMode = DemandeMode(), choixNiveau; int nombreMystere, nombreEntre, choixNombre, max, essais = 0; srand((int)time(0)); if (choixMode == 1) { choixNiveau = DemandeNiveau(); max = pow(10,choixNiveau); nombreMystere = (rand() % max) + 1; } else { puts("Joueur 1, veuillez taper votre nombre et retenez-le !\n"); scanf("%d",&nombreMystere); system("cls"); } do { essais++; printf("%sQuel est le nombre ? ",(choixMode==1?"":"Joueur 2, ")); scanf("%d", &nombreEntre); if (nombreMystere > nombreEntre) puts("C'est plus !\n"); else if (nombreMystere < nombreEntre) puts("C'est moins !\n"); else printf ("Bravo, %s trouve le nombre mystere en %d essai%s\n\n",(choixMode==1?"vous avez":"joueur 2 a"),essais,(essais==1?"":"s")); } while (nombreEntre != nombreMystere); system("pause"); return 0; }
VB.NET is good ... VB6 is better !
Modifié par arthurbest78 le 17/04/2010 à 12:40
le puts me sera très utile =) et je ne trouve pas comment tu a fait pour effacer le texte quand le joueur 1 tape le nombre.
17 avril 2010 à 12:40
Méthode bourrine mais efficace. Je l'ai utilisée ici car ça ne me prend qu'une ligne mais ce n'est pas une façon propre de le faire (spécifique à Windows).
Modifié par arthurbest78 le 17/04/2010 à 18:08
J'ai juste une question comment toi tu a apris la programmation, 10 ans d'étude apres le bac ... car moi j'étudie seul, (et je ne suis pas encore au bac) lol mais pour savoir autant de chose que toi que faut il faire ? =)
Modifié par ghuysmans99 le 17/04/2010 à 13:06
Dis-toi simplement qu'à force de développer et de poser des questions sur les forums on s'améliore ! Après on devient capable d'aider d'autres gens sur les forums et ainsi de suite.
17 avril 2010 à 13:11
Merci pour le conseil sa m'encourage beaucoup et merci aussi de m'avoir aider dans toute mes question.
A bientôt