Bonjour! Je voudrais vous poser une question qui va peut-être sembler bizarre mais je vais essayer de m'expliquer. Je souhaite réaliser un programme de vente de produits alimentaires, dans lequel le consommateur pourra se connecter pour commander des produits. Jarrive à gérer l'inscription, mais le problème que j'ai concerne la connexion. A l'inscription est généré un code-client par l'intermédiaire d'une fct aléatoire, ce code client accompagné du nom de l'utilisateur est envoyé dans un fichier.dat . Et c'est grâce à ce code client que l'utilisateur pourra se connecter. Je veux donc rechercher ce code client dans mon fichier.dat a partir de mon programme principal pour permettre à l'utilisateur de se connecter, mais je n'arrive pas à le trouver, j'ai un message d'erreur. J'aimerais savoir pourquoi... J'ai peut-être un début de réponse. Dans mon cours, le code client est un caractere il me semble, moi j'ai choisi un integer parce que je ne sais pas générer de caracteres aléatoirement.



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
options/extend_source
        program recherche
        implicit none
 
        include 'client.f'
        integer*8 CLE
        integer*4 IOS
        integer*8 V
 
        record /CLIENT/ NOM
 
 
        open(unit=10, file='CLIENT.DAT', STATUS='UNKNOWN',
        1 organization='INDEXED', recordtype='FIXED', form='UNFORMATTED',
        1 recl=SIZEOF(NOM)/4,
        1 access='KEYED', iostat=IOS)
 
        V=1
        IOS=1
 
        do while(V .eq. 1)
 
                         read(*,20,iostat=IOS) CLE
20              format(I) ! Recherche du client par son code client
 
                read(unit=10, keyid=0, key=CLE, iostat=IOS) NOM.CLE
 
 
 
 
                if (IOS .eq. 0) then
                        close(unit=10,iostat=IOS)
                        V=0
 
                else if (IOS .gt. 0) then
                        write(*,*)'Mauvaise saisie'
                        V=1
 
                else if (IOS.eq.-1) then
                        write(*,iostat=IOS)'Merci d''avoir utilise ce prog'
                        V=0
                end if
      end do
       end

Merci par avance