IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Programme de conversion entre bases : erreur 104


Sujet :

Turbo Pascal

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Programme de conversion entre bases : erreur 104
    Bonjour ! J'obtiens une erreur 104 avec le programme suivant. D'où cela peut-il venir ?

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    program convertion;
    uses wincrt;
    type fe=file of integer;
    var
    f:text;
    f1:fe;
    function verif(ch:string):boolean;
    var i,v,e:integer;
    test:boolean;
    begin
    i:=1;
    repeat
    i:=i+1;
    val(ch[i],v,e);
    if (v in[0,1])then
    test:=true
    else 
    test:=false;
    until (i=length(ch)) or (test=false);
    verif:=test;
    end;
    {procedure saisie(var ch:string);
    begin
    repeat 
    write('ch : ');
    readln(ch);
    until (verif(ch));
    end;}
     
    procedure remplir_f(var f:text);
    var ch:string;
    begin
    rewrite(f);
    while (not eof(f)) do 
    begin 
    repeat
    write('ch : ');
    readln(ch);
    until (verif(ch));
    writeln(f,ch);
    end;
    close(f);
    end;
     
    function puis(x,y:integer):integer;
    begin
    if y=0 then 
    puis:=1
    else 
    puis:=puis(x,y-1)*x;
    end;
    function conv2_10(ch:string):integer;
    var i,s,v,e:integer;
    begin
    s:=0;
    for i:=1 to length(ch) do 
    begin
    val(ch[i],v,e);
    s:=s+(puis(2,length(ch)-i))*v;
    end; 
    conv2_10:=s;
    end;
    procedure remplir_f1(var f:text;var f1:fe);
    var n:integer;
    ch:string;
    begin
    rewrite(f1);
    reset(f);
    while (not eof(f)) do 
    begin
    readln(f,ch);
    n:=conv2_10(ch);
    write(f1,n);
    end;
    close(f);
    close(f1);
    end;
    procedure affiche(var f1:fe);
    var nb:integer;
    begin
    reset(f1);
    while (not eof(f)) do 
    begin
    read(f,nb);
    writeln(nb);
    end;
    close(f1);
    end;
     
    begin
    assign(f,'C:\Users\Bouzezi\Desktop\bac\prog\convertion entre base\convertion_2_10\par un fichier\bin.txt');
    assign(f1,'C:\Users\Bouzezi\Desktop\bac\prog\convertion entre base\convertion_2_10\par un fichier\dec.dat');
    {saisie(ch);
    n:=conv2_10(ch);
    write(ch, ' EN DECIMALE : ',n);}
    remplir_f(f);
    remplir_f1(f,f1);
    affiche(f1);
    end.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 404
    Points : 5 790
    Points
    5 790
    Par défaut
    salut

    il y a un souci dans cette méthode
    regarde bien le handle de fichier dont tu te sers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure affiche(var f1:fe);
    var 
      nb:integer;
    begin
      reset(f1);
      while (not eof(f)) do 
      begin
        read(f,nb);
        writeln(nb);
      end;
      close(f1);
    end;
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/09/2014, 11h33
  2. [TPW] Conversion entre bases de 2 à 36
    Par forum dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 15/11/2011, 20h45
  3. Exception ou erreur 104 lors de l'exécution d'un programme
    Par RahmaZayoud dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 22/05/2010, 16h40
  4. Conversion de base entre Access 97 & 2003
    Par perraced dans le forum Access
    Réponses: 1
    Dernier message: 24/07/2007, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo