Aide sur une application

Aide sur une application - C - Programmation

Marsh Posté le 03-06-2013 à 11:48:58    

Bonjour  :) ,
 
Je recherche un petit coup de main pour une programmation surement rapide et facile à faire pour vous ^^
 
J'ai commencé à écrire quelques lignes à l'aide d'un ami qui en sait un peu plus que moi.
 
Je vous explique en gros ce que je souhaiterais obtenir ^^, je souhaiterais produire un petit programme avec pour introduction un petit texte, puis qui s'enchaine sur une petite enigme avec trois tentatives de réponses, si une réponse est fausse un petit indice viendrait s'ajoutay ^^, et si la bonne réponse a été trouvé un email lui serait envoyé ( au pire je lui envérré tout seul mon email hein =p)
 
donc voila comment on a construit ca :
 

Spoiler :

Rep = false
 
Cp=0
 
While (Cp<3) and (Rep=false)
 
R=input("texte" )
 
 
  If R="réponse"
 
  rep=true
 
else Cp=Cp+1
 
if rep = true
 
[send mail]
 
else : I=input("Indice" )
 
if I="réponseé :
 
[send mail]
 
else : print("vous etes le maillon faible" )


 
En vous remerciant pour votre aide =)
 
Cordialement Luciøl
 
 
 

Reply

Marsh Posté le 03-06-2013 à 11:48:58   

Reply

Marsh Posté le 04-06-2013 à 15:36:49    

J'te répond ici au MP que tu m'a envoyé parce que tu m'a ignoré :D  
 
T'es bien sûr d'avoir les bases en C ?
Là ce que je vois, c'est qu'il manque pas mal d'accolade, que plein de parenthèses ne sont pas fermés, et d'autre trucs. :/
Sleep n'a jamais permit d'effacer du texte, il met ton programme en pause le temps donné (en millisecondes sur Windows je crois).
 
Sinon, j'ai pas bien pigé ton histoire de faire défiler, un défilement genre banderole ou le texte affiché progressivement ? Si tu souhaites faire des fondus sur le texte, ça sera pas possible avec la console :D (A moins de joueur avec la couleur, mais je sais pas si tu as un contrôle total de la couleur du texte sur la console..)
 
Enfin là ce que je vois, c'est qu'avant de commencer ton truc, tu dois revoir tes cours de C, et recommencer progressivement :
 
D'abord le pendu hyper simplifié, et ensuite tu pourras ajouter des truc comme un chrono (qui, je pense, nécessitera l'usage de Threads) ou des animations textuelles.
 
Pour ce qui est d'envoyer un mail, il y a probablement une librairie pour ça mais je ne saurais te conseiller :D
 
Et utilise les balises [ code ] [ / code], ça évite les smilies en plein milieu du code et l'affichage est plus propre.
 
Pense à me virer de l'ignore list, ou alors fait ta demande direct sur le forum :jap:


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 04-06-2013 à 23:19:18    

Pour te dire, je n'ai jamais programmer ^^, enfin ca serait mentir, j'ai été a la fac en info mais j'en ai rien retenu x) et la c'est juste un délire que je veux faire avec des enigme originaux débutant par ce petit programme ^^.
 
Oui j'ai faisp as mal de faute j'ai fais ca assez rapidement car j'étais au boulot je les ai rectifiés à l'instant ^^ mais le compilateur a vu treize erreurs ^^ bref je continuerai a faire des recherches demain merci pour ta réponse et je poste tout de meme ce que j'ai fais au cas ou quelqu’un aurait une idée ^^
 
Donc mon projet : faire une enigme toute simple, la personne doit trouvé le mot, avec 3 essais, si elle echoue un petit indice viendrait l'aidait, si elle trouve ou pas au final elle recevra quand meme un email pour une prochaine enigme ^^ jai un peu baclé le texte pour faire court. j'aimerais rajouté un chrono mais c'est pas nécéssair jai vu a peu pres ce que ca donné et je ne vois pas trop ou le placé ^^ puis un petit timng pour mettre la pression ^^ bref en gros c'est ca ^^ merci de votre aide


Message édité par luciøl le 05-06-2013 à 11:52:12
Reply

Marsh Posté le 05-06-2013 à 10:36:49    

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4. #include <string.h>
  5. #include <windows.h>
  6. #include "dico.h"
  7. int gagne(int MotTrouve[]);
  8. int rechercheMot(char Mot, char MotSecret[], int MotTrouve[]);
  9. char lireCaractere();
  10. int main(int argc, char* argv[])
  11. {
  12.     char Mot = 0;
  13.     char MotSecret[100] = {0};
  14.     int *MotTrouve = NULL;
  15.     long coupsRestants = 3;
  16.     long i = 0;
  17.     printf("Bienvenue mlle charlon, je te remercie d avoir activer le timing hahaha" );
  18.     fflush(stdout);
  19.     Sleep(30000);
  20.     printf("Voila un petit code cnsg celui ci sign" );
  21.     for (i=0; i < 7; i++);
  22.     if(MotSecret[i])
  23.     printf("%c", MotSecret[i]);
  24.     else
  25.     printf("*" );
  26.     while (coupsRestants > 0 && !gagne(MotSecret))
  27.     {
  28.     printf("\n\nIl ne te reste plus que %ld coups a jouer", coupsRestants);
  29.     fflush(stdout);
  30.     Sleep(10000);
  31.     printf("\n Un ti indice ? il peut s ecrire aussi 0010100101010 n/n" );
  32.     if(!rechercheMot(MotSecret, MotSecret, MotTrouve))
  33. {
  34.     coupsRestants--;
  35.         }
  36. }
  37.     if(gagne(MotTrouve))
  38.     printf("\n\nFelicitation !! Mais je n en ai pas encore finis avec toi !! Jettes un coup d oeil à tes emails, le jeu poursuis son court ! mouhahaha..." );
  39.     else
  40.     printf("\n\nSuppression des donnees informatiques............." );
  41.     printf("\n\nc:/windows/system..............................................removed." );
  42.     printf("\n\nc:/windows/system32..............................................removed." );
  43.     fflush(stdout);
  44.     Sleep(10000);
  45.     printf("\n\nHaha plaisanterie mise a part, je vois que tu as echoues hein ! Bien, je te laisse une seconde chance, tu viens de recevoir un email, jettes y un coup d oeil..." );
  46.     fflush(stdout);
  47.     Sleep(10000);
  48. int rechercheMot(char Mot, char MotSecret[], int MotTrouvee[])
  49. {
  50.     long i = 0;
  51.     int bonMot = 0;
  52.     for (i = 0 ; MotSecret[i] != '\0' ; i++)
  53.     {
  54.         if (Mot == MotSecret[i])
  55.         {
  56.             bonMot = 1;
  57.             MotTrouvee[i] = 1;
  58.         }
  59.     }
  60. }
  61.     return 0;
  62. }


Message édité par luciøl le 08-06-2013 à 13:14:29
Reply

Marsh Posté le 08-06-2013 à 12:58:39    

Donc j'ai réparé quelques soucis mais ceretaines erreurs reste les meme :
 
undefined reference to `gagne' (ligne 39 et 61)
 
undefined reference to "rechercheMot' (ligne 52)
 
note: expected 'int *' but argument is of type 'char *' (ligne 9)
 
warning: passing argument 1 of 'rechercheMot' makes integer from pointer without a cast [enabled by default] (ligne 52)
 
note: expected 'char' but argument is of type 'char *' (ligne 10)
 
 
Merci de votre aide :)


Message édité par luciøl le 08-06-2013 à 13:11:58
Reply

Marsh Posté le 08-06-2013 à 19:24:23    

Salut !  
 
Qu'est-ce que c'est moche ce code ! (désolé :D )
 
- Ta fonction rechercheMot() est déclarée dans la fonctions main() ! Il faut la mettre en dehors
- Ta fonction gagne() a un prototype, certes, mais pas de corps ! tu devras la définir en dehors de main()
- Ton warning ligne 52 vient du fait que dans le prototype, le 1er argument de recherche mot est de type char, et pas char[]
 
Et qu'est-ce que ceci est censé faire ? :

Code :
  1. for (i=0; i < 7; i++);
  2.     if(MotSecret[i]) /** MotSecret ne contient que des 0, on ne rentrera jamais dans cette condition **/
  3.         printf("%c", MotSecret[i]);
  4.     else
  5.         printf("*" );


 
J'aurais compris si c'était dans une boucle, mais non.
Relis tes cours de C, et réécris ce programme à tête reposée, ça ira mieux.
 
Bonne chance !  :hello:

Reply

Marsh Posté le 10-06-2013 à 10:06:27    

Haha... Désolé de démontré ma monstruosité mais je la trouve plutôt jolie pour ma première programmation ^^  
 
Ceci est censé masqué le mot avec des etoiles...
 
Hmm c'est un peu compliqué mais je vais tenté de comprendre en fonction de ce sue tuas dis. Merci beaucoup

Reply

Marsh Posté le 10-06-2013 à 12:59:34    

Si tu débute, c'est nomal hein. Allez, je t'aide un peu pour les fonctions (J'ai pas trop compris toutes tes variables genre Mot bonMot etc... je te laisse corriger ça)

 
Code :
  1. int rechercheMot(char Mot[], char MotSecret[], int MotTrouvee[])
  2. {
  3.     int i = 0; // Pas besoin d'un long
  4.     int bonMot = 0;
  5.     for (i = 0 ; MotSecret[i] != '\0' ; i++)
  6.     {
  7.         if (Mot[i] == MotSecret[i])
  8.         {
  9.             bonMot = 1;
  10.             MotTrouvee[i] = 1;
  11.             return 1;
  12.         }
  13.     }
  14.     return 0;
  15. }
  16. void afficherCorrectChar(char MotSecret[])
  17. {
  18.     int i;
  19.     for (i = 0 ; i < 7 ; i++);
  20.     if(MotSecret[i])                    // Si différent de '\0'
  21.         printf("%c", MotSecret[i]);
  22.     else
  23.         printf("*" );
  24.     printf("\n" );
  25. }
 


Message édité par 29jm le 10-06-2013 à 13:00:11
Reply

Marsh Posté le 10-06-2013 à 14:04:34    

for (i = 0 ; i < 7 ; i++);
Faudrait quand même lui signaler les erreurs les plus flagrantes quand on prétend l'aider...
A+,


Message édité par gilou le 10-06-2013 à 14:05:06

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 10-06-2013 à 16:54:12    

@gilou J'ai passé dessus trop vite, ma faute :ange: . Il l'aurait vu lui même je suppose.

Reply

Marsh Posté le 10-06-2013 à 16:54:12   

Reply

Marsh Posté le 10-06-2013 à 18:09:35    

Oui je viens de le remarquer... Je vais continué c un peu plus tard, je vous tiendrez au courant.
 
En tout cas je te remercie de ton aide :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed