aide lecteur carte telephone

aide lecteur carte telephone - C - Programmation

Marsh Posté le 22-02-2005 à 14:47:22    

Bonjour a tous,
 
Voilà je suis débutant en programmation  C et je doit réaliser un projet.
Le projet consiste a crée un lecteur de carte téléphonique via un petit programme en C.
 
Le lecteur lui et connecter par le port parallèle.
J’ai trouver des sites sur le qu’elle il en parle et j’ai  trouver ce programme en C :
 
// SERCARTE.C, (c) Pierre COL, F‚vrier 2000. A compiler avec Turbo C++.
 
#include <stdio.h>
#include <conio.h>
 
#define LPT1 0x378
#define LPT2 0x278
#define LPT3 0x3BC
 
char  code[17];
int   Port=LPT1;
 
int LireCarte(void)
{
  int a,b,c,total0=0,totalF=0;
  char D2X[17]="0123456789ABCDEF";
 
   
  for (b=0;b^16;b++)
  {
    a=0;
    for (c=0;c^4;c++)
     
    if (a==0) total0++; if (a==15) totalF++;
    code[b]=D2X[a];
  }
  outportb(Port,0x00);
  code[16]=0;
  return ((total0<16)&&(totalF<16));
}
int TestCode(void)
{
  FILE *fichier;
  char ligne[21];
  int  resultat=0,z;
 
  if ((fichier=fopen("sercarte.ini","rt" ))!=NULL)
  {
    while ((fgets(ligne,20,fichier)!=NULL)&&(resultat==0))
    {
      resultat=1;
      for (z=0;z^16;z++) if ((ligne[z])!=(code[z])) resultat=0;
    }
    fclose(fichier);
    return resultat;
  }
  else return resultat;
}
 
void main(int _argc, char * * _argv)
{
  int  touche;
  int  valid=0,stop=1,n,aide=0;
 
  Port=LPT1;
  if (_argc>1) for (n=2;n<=_argc;n++)
  {
   switch(_argv[n-1][0])
   {                              // Le port par d‚faut est LPT1.
     case '2' : Port=LPT2; break; // Si un argument vaut 2, le port est LPT2.
     case '3' : Port=LPT3; break; // Si un argument vaut 3, le port est LPT3.
     case '*' : stop=0; break;    // S'il vaut * : on est plus en mode test !
     case '-' :
     case '/' :
     case 'h' :
     case 'H' :
     case '?' : aide=1; break;  // S'il vaut - / h H ? : affiche l'aide.
   }
  }
 
  if (aide)
  {
     printf(
     "\n   SERCARTE.EXE, (c) Pierre COL, f‚vrier 2000."
     "\n"
     "\n     Syntaxe :      sercarte [port] [boucle]"
     "\n"
     "\n    [port]   = 1, 2 ou 3 : Port parallŠle actif (par d‚faut : LPT1)."
     "\n    [boucle] = * ou rien : attention, si vous mettez l'‚toile, vous"
     "\n    quittez le mode 'test' et le programme refusera de sortir tant"
     "\n    que vous n'aurez pas introduit une t‚l‚carte dont le num‚ro de"
     "\n    s‚rie se trouve dans le fichier 'sercarte.ini'.\n" );
  }
  else
  {
    do
    {
      printf("\n\Bienvenue apuyer sur entrer pour aceder au menu principale  :" );
      do touche=getch(); while (touche^13);
      {
 if (LireCarte())
 {
   printf("\nCode = %s : ",code);
   valid=TestCode();
   if (valid) printf("Carte accept‚e : soyez le bienvenu..." );
  else printf("D‚sol‚, cette carte n'est pas valide !" );
 }
 else printf("\nAucune carte n'a ‚t‚ d‚tect‚e !!!" );
      }
    }
    while ((valid==0)&&(stop==0));
    printf("\n\n" );
  }
}
 
J’ai prit se programme (que je ne n’arrive pas a faire fonctionner) comme base.
 
Mon but et de créé une sorte de page d’accueil   et ensuite un menu ou je peut choisir par exemple de lire la carte ou d’enregistrer le contenu de la carte dans un fichier texte.
 
Je vous demande pas de me donner le programme mais de m’aider a le confectionner avec des explication
Car je doit présenter ce projet.
Merci d’avance J

Reply

Marsh Posté le 22-02-2005 à 14:47:22   

Reply

Marsh Posté le 19-05-2005 à 17:34:47    

va voir ton prof !!


---------------
l'assembleur, y'a que ca de vrai... et encore
Reply

Marsh Posté le 19-05-2005 à 17:49:41    

http://forum.hardware.fr/forum2.ph [...] 0#t1088174
 
j'en ai marre que tout le monde oubli cette fichu balise !!!
 
désolé, de poluer avec un message comme ça, mais j'en ai marre de toujours devoir faire des copié/collé de code pour que je puisse les visualiser correctement
 
Tu veut quoi exactement ? des commentaires à ce prog. ?


Message édité par blastman le 19-05-2005 à 18:27:57

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 10-06-2005 à 09:17:20    

Ya plus personne?

Reply

Marsh Posté le 10-06-2005 à 09:20:42    

Honnetement j'ai testé ce programme mais il n'as pas l'air de fonctionner....
Donc je travaille activement à la conception d'un programme avec DJGPP afin de lire les cartes téléphoniques..
Je pense que je posterai mon programme sur le forum
+++

Reply

Marsh Posté le 10-06-2005 à 09:52:09    

qu'est ce qui ne marche pas ?

Reply

Marsh Posté le 10-06-2005 à 13:34:42    

xyvon a écrit :

Voilà je suis débutant en programmation  C et je doit réaliser un projet.
Le projet consiste a crée un lecteur de carte téléphonique via un petit programme en C.
<...>


Etant donné que la fonction 'LireCarte()' ne lit rien du tout, ce programme n'a aucune chance de fonctionner...  
 
Il n'y a pas grand mystère pour réaliser ce genre de logiciel, par contre, la spécification doit être claire, notamment au niveau de l'interface avec le matériel, le protocole d'échange de données et les données elle-mêmes.
 
A noter que l'exemple proposé est conçu pour fonctionner sur PC sous DOS et être généré par Borland C (ben oui, en plus, c'est indiqué) ou un de ses amis. Il n'est évidemment pas portable et ne fonctionnera pas sous XP, par exemple...


Message édité par Emmanuel Delahaye le 10-06-2005 à 13:36:33

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

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