Aide pour un TP en C

Fermé
£udo Messages postés 455 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 19 décembre 2006 - 1 déc. 2005 à 20:01
 Lupin - 2 déc. 2005 à 19:17
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

£udo Messages postés 455 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 19 décembre 2006 16
2 déc. 2005 à 16:23
personne pour m'aider ?
(¯`·.¸¸.-> £udo <-.¸¸.·´¯)
0
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
£udo Messages postés 455 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 19 décembre 2006 16
2 déc. 2005 à 16:54
cest( gentil mais cest en C++, moi je veux en C
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
£udo Messages postés 455 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 19 décembre 2006 16
2 déc. 2005 à 18:28
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
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