Turbo pascal

tpw -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
je debute avec turbo pascal et je n'arive pas a utiliser l'instruction case of avec une variable de type string
y'aurait il une autre instructionque je pouré utilisé merci de votre aide

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Non tu ne peux pas, case ne s'applique qu'à des types simples (byte, char, integer...)
    Tu ne peux pas faire pareil avec un string, utilise des if successifs.
    0
  2. tpw
     
    mais le probleme c'est que avec des if je n'arive pas a faire exactement ce que je veut
    c'est du genre
    var rep: dtring;
    begin
    repeat
    writeln('ete vous marier');
    readln(rep);
    if sex=('homme') then writeln('patati patata');
    if sex=('femme') then writeln('patata patati')
    else writeln('veyé repondre par oui ou non');
    until rep=oui or rep=non

    donne moi la forme corecte s'il te plé enfin ci il y'a une solution merci
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Ceci ne peut pas marcher, car sex n'est pas défini, de plus dtring n'existe pas, et il ne faut pas mettre de parenthèses autour des chaînes de caractères, l'apostrophe suffit.
      0
  3. tpw
     
    c'est juste des faute de frape en vré c'est
    var rep: string;
    begin
    repeat
    writeln('ete vous marier');
    readln(rep);
    if rep='homme' then writeln('patati patata');
    if rep='femme' then writeln('patata patati')
    else writeln('veyé repondre par oui ou non');
    until rep=oui or rep=non
    0
  4. KX Messages postés 19031 Statut Modérateur 3 020
     
    Comment veux que ça marche, ton until fais des comparaisons de rep avec 'oui' et 'non' (n'oublie pas les apostrophes) or tu utilises cette même variable rep pour la comparaison homme ou femme !

    De plus, il te faut un begin. à a fin du programme, et un ; avant le else
    0