Aide pour un TP en C

£udo Messages postés 455 Statut Membre -  
 Lupin -
Bon voila jai des questions que je ne vois pas trop comment résoudre alors jai besoin d'aide.
1)
Je voudrais faire apparaitre des étoiles quand on tapes un password. Je ny arrive pas , ce que que saisis est ecrit et non crypté. Comment faire ?

2) Mon TP consiste a notifier les abscences, retad, retenues des eleves. Ma methode consistait a faire un fichier pour chaque periode mais pour daire un cumul de toutes les periodes ca sera trop compliqué. Jai donc pensé a un tableau a 2 dimensions qui serait un cham de la structure eleve. ca serait du genre


    int tab [11][2] //11 representes les mois et 2 les abscences, retard et retenues.



Je sais pas si cest une bonne idée ? Que me conseillez vous ?
(¯`·.¸¸.-> £udo <-.¸¸.·´¯)

6 réponses

  1. £udo Messages postés 455 Statut Membre 16
     
    personne pour m'aider ?
    (¯`·.¸¸.-> £udo <-.¸¸.·´¯)
    0
  2. Lupin
     
    Bonjour,

    Pour le point 1, voici un exemple :

    Il faut capturer le caractère sans l'afficher, une fois le caractère
    valider, tu affiche ce que tu veux !

    Voici une partie de code qui donne un début de solution :

    n.b. ce code a été coder sous msvisualc++ et n'est que partiel !

    int main()
    {
        int i=0, numeromot=0, flag=0;
        char reponse=0, drapeau=0;
        string SeqMot;
    
        numeromot = (rand ()% 30);	// Genere numero mot aléatoire
        SeqMot =  MotRecherche[numeromot] ;	// Capture mot recherché
    //
        nombreCar = SeqMot.length();	// Tranfert d'un type string vers un type char[]
        for (i=0 ; i < nombreCar ; i++)	// Propriété longeur (Length()) de l'objet string
    {			// Permet un transfert parfait du nombre exacte de
        Solution[i] = SeqMot[i];		// caracteres.
        Resultat[i] = '-';
    };
    
    AffichageEntete();	// Affichage entete
    AffichageSelectif();	// Affichage /Solution /Resultat /Alphabet ... 
    AffichageQuestion();	// Affichage Question?
    
    'Ici on capture la saisie sans l'afficher
    while (( (entree = getch()) != '*') && ( flag == 0 ))	// Capture au clavier et
     { // commande indirecte (flag)
        if ( compteurCar < 26) // Ne peut utiliser une lettre plus d'une fois
    {// D'ou le nombre maximum de 26 lettres
    if ( (entree >= 'A' ) && (entree <= 'Z'))	// Caractere majuscule seulement
    {
        drapeau = InsereDonnee();	// Insertion de la saisie
        if ( drapeau != 0)flag++;	// Si mot trouvé commande indirecte arret saisie
    }									
    else
    {
        cout << "\n\nCaractere Invalide !\n\n";
        cout << "Avez-vous activer les majuscules ?\n\n";
    }
    if ( flag == 0 )
    {
        AffichageSelectif();	// Affichage /Solution /Resultat /Alphabet ...
    }
    } 
    else
    {
       flag++;
      cout << "\n\nVous avez tapez toutes les lettre de l'alphabet !\n\n" << endl;
      cout << "Vous vous devez relancer l'application !\n\n" << endl;
    }; // Fin si compteur > 25
    };
    
    return (0);
    };
    
    


    Lupin
    0
  3. £udo Messages postés 455 Statut Membre 16
     
    cest( gentil mais cest en C++, moi je veux en C
    0
  4. Lupin
     
    re:

    c'est a peu de chose pres la même chose : ( outch, ca va déplaire
    a certain cette comparaison) !!!

    il suffit de faire fonctionner la ligne :

    while ((entree = getch()) != '*')

    en c, comme en c++, il existe plus d'une variante de
    "getchar".

    L'une d'elle permet de capturer la saise au clavier
    avant l'affichage, ainsi on peut afficher ce que l'on
    veut après la capture du clavier !

    Lupin
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. £udo Messages postés 455 Statut Membre 16
     
    jte remercie. Jai testé ca mais impossible de voir si ça marche. Jai Visual Studio C++ et il sort 0 erreurs et 0 warning et quand jle lance il me met une pop up me disant ke l'application doit fermer et impossible de voir si ça marche.
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #include <stdlib.h>
    
    void main (void)
    {
    
     int compteurPass = -1;
      char *pass=NULL; 
      char *rep="pwd";
      char car;
    
    
      while (  (++compteurPass<3) && (strcmp(pass,rep)!=0) ){
            car = getch();
            //strcpy(pass,car);
            printf("*");
       }
    
       if ( strcmp(pass,rep)==0 ) 
          printf ("\n\n\tconnexion ok \n");
       else    
    
       getch();
    
    
    }


    Est ce que ca passe ?
    Sinon pour ma 2eme question y a til plus simple comme solution ?
    (¯`·.¸¸.-> £udo <-.¸¸.·´¯)
    0
  7. Lupin
     
    RE:

    voila, j'ai remodifier le tout et chez moi ca passe !

    //*************************************************************************************
    //
    #include <iostream>	  // Charge pour les instructions cin,cout,endl
    #include <strstream> // Charge pour l'instruction strstr()
    #include <string>	 // Charge pour l'instruction length()
    #include <conio.h>	 // Charge pour l'instruction getch()
    #include <cstdlib>	// Chargé pour l'instruction rand()%
    
    //*************************************************************************************
    // déclaration des abréviations
    using std::cout;		// utilisation de cout
    using std::cin;			// utilisation de cin
    using std::endl;		// utilisation de endl
    using std::string;		// utilisation de string
    
    //*************************************************************************************
    // déclaration des variables
    char entree=0;
    
    //*************************************************************************************
    
    void main(void)
    {
      int i=0, numeromot=0, flag=0;
      char reponse=0, drapeau=0;
      string SeqMot;
    
    
      while ( (entree = getch()) != '*') 	// Capture au clavier et
      {
        if ( (entree >= 'A' ) && (entree <= 'Z'))	// Caractere majuscule seulement
          {
            cout << entree;
          }									
        else
         {
            cout << "\n\nCaractere Invalide !\n\n";
            cout << "Avez-vous activer les majuscules ?\n\n";
         }
      };
    return;
    };
    
    //*************************************************************************************
    
    


    Il faut ouvrir un nouveau projet :

    //File // New // Win32 Console Application
    // File // New // C++ File Source

    tu y colle le code et ça devrait rouler !

    Pour le point 2 je dois prendre plus de temps,
    désolé je ne peux le faire pour l'instant !

    Peut-être plus tard !!!

    Amicalement
    Lupin
    0