Problème de boucle dans un prog en pascal

-papinou- Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   -  
 attoui djamel -
Bonjour,

Voilà mon problème, je débute tout juste en programmation et j'ai un problème avec un petit programme que j'ai réalisé et que voici en résumé :

program qui_es_tu ;
uses crt ;
var prenom : string ;
var reponse : char ;
begin
repeat
clrscr ;
write('entrez votre prenom : ') ;
readln(prenom) ;
if prenom = 'gustave' then
begin
write('vous vous appelez justin tartenpion, vous avez 52 ans et bla bla bla ....') ;
readkey ;
end
else
if prenom = 'jeannette' then ;
{et on recommence exactement la meme sequence plusieurs fois jusqu' à}
...
else
write('vous etes inconnu de ce programme.') ;
readln ;
clrscr ;
write('continuez [o,n] ? : ') ;
read(reponse) ;
if reponse = 'o' then
continue
else
until reponse = 'n' ;

end.

Voilà... surement une horreur pour un specialiste mais j'apprends tout seul avec un tuto sur le net et c' est tout nouveau pour moi alors j'essaiede trouver les solutions que je peux memes si elles sont loin d'etre elegantes :) .
Bref voilà mon problème : tout se passe bien jusqu' à ce que je choisisse 'o' à la question continuez où là ca recommence bien mais à la suite de la phrase 'entrez votre prenom' j ai affiché 'vous etes inconnu de ce programme' alors que je voudrais qu' elle ne s affiche, bien entendu, que quand un prenom non repertorié est saisi.
j espere avoir été clair et merci par avance de votre aide ou simplement de vos remarque su ce petit programme qui pourrait m'aider à progresser.
A voir également:

5 réponses

kmanber Messages postés 543 Date d'inscription   Statut Membre Dernière intervention   256
 
Hello

Supprime

if reponse = 'o' then
continue
else
0
-papinou- Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   37
 
Bonsoir kmanber,
Effectivement c'était inutile et j' ai supprimé ce que tu m' a dis mais ca ne résoud pas le problème...
merci quand mçeme de ta réponse.
0
tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
Si j'ai bien compris: il y a une chaine de caractères qui s'affiche en plus, donc je pense que le problème est que vous avez ajouter un ; quelque part, il faut restructurer votre code pour qu'il soit plus lisible:

program qui_es_tu ;
 
uses crt ;
 
var 
        prenom : string ; 
        reponse : char ; 
begin 
       repeat 
                  clrscr ; 
                  write('entrez votre prenom : ') ; 
                  readln(prenom) ; 
                  if prenom = 'gustave' then 
                       begin 
                              write('vous vous appelez justin tartenpion, vous avez 52 ans et bla bla bla ....') ;  
                              readkey ; 
                       end 
                  else 
                        if prenom = 'jeannette' then 
                                            


L'erreur doit être microscopique!
0
-papinou- Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   37
 
Merci beaucoup, je vais essayer de mieux structurer et je post si je trouve l'erreur, merci encore à tous pour votre aide !!!
0
mamk Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
ecrire un prog pascal qui permet d'afficher le nombre d'occurence des lettres de A a Z dans une chaine de caractere g besoin d'un solution c urgent
0

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

Posez votre question
attoui djamel
 
Hi;
desoler pour la mal utulisation de la lange francai;
voutre probleme est que vous chercher des noms conus par vous programme et le message 'vous....inconus....''
voutre solution est de utiluser la boucle case of
0