Bonjour,
voila je débute en pascal et pour m'entrainer j'ai décider d'écrire un petit programme pascal pour estimer le prix d'un objet.
mais je bloque sur certains points..mon programme n'a pas l'air correct.

Pourriez vous m'indiquer ou cela ne va pas? j'ai bien séparer toutes les étapes pour une meilleurs compréhension... je blinderai le programme seulement après quand je suis sure que tout fonctionne.
Peut on faire plus simple? merci de votre aide! j'attend surtout des critiques constructives pour me faire avancer dans mon apprentissage.
Ce qui me pose le plus de problème étant le coup du random...
De plus a la fin du programme..comment poser une condition que le prixfinal ne doit en aucun cas dépasser 70% de la valeur initiale? (une sorte de %max de 0.7)
J'ai légèrement remodifier le programme...par contre pour la ligne avec le random voila ce que j'aimerais que le pourcentage soit influencer par la valeur (ici bluff ou diplomatie) avec un facteur aléatoire de 1 a 20
ex:
j'ai 30 en bluff auquel je rajoute une nombre comprit entre 1 et 20 et ensuite seulement je divise le total par 200 qui se rajoute au pourcentage.

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
 
 
program revente;
var marchand,typeobjet,ro,competence,duree,prixfinal,prixinitial: integer;
        pourcentage: real;
begin
     repeat
           writeln ('entrer le prix initial de lobjet a vendre');
           readln (prixinitial);
     until prixinitial>0;
     repeat
     writeln ('indiquer le type dobjet 11-armes classique 12-armes exotique 13-armures 14-bijoux 15-autres');
     readln (typeobjet);
            case typeobjet of
            '11': pourcentage:=0.4;
            '12': pourcentage:=0.3;
            '13': pourcentage:=0.4;
            '15': pourcentage:=0.45;
            '16': pourcentage:=0.5;
            then
                writeln ('mauvais choix');
            end;
     until typeobjet>10 and typeobjet<16;
     repeat
     writeln ('indiquer le type de marchands 1-honnete 2-filou 3-escroc');
     readln (marchand);
            case marchand of
            '1': pourcentage:=pourcentage; {idéalement ici j'aimerai un random entre -0.05 et +0.05 mais je n'ai pas trouver comment faire...)
            '2': pourcentage:=pourcentage-0.05;
            '3': pourcentage:=pourcentage-0.15;
            then
            writeln ('mauvais choix');
            end;
     until marchand>0 and marchand<4;
 
     repeat
           Randomize;
           writeln ('entrer la valeur de diplomatie ou de bluff');
           pourcentage:= pourcentage+((competence+rand(20))/200);
           readln (competence);
     until comp>-1;
     repeat
           writeln ('entrer la duree consacrée en jours a la revente de lobjet');
           readln (duree);
           case duree of
           '0':pourcentage-0.1;
           '>0 and <16' :pourcentage;
           '>15 and <31' : pourcentage:= pourcentage+0.02;
           '>30 and <61' : pourcentage:= pourcentage+0.04;
           '>60 and <91' : pourcentage:= pourcentage+0.07;
           '>90 and <121' : pourcentage:= pourcentage+0.1;
           '>120 and <181' : pourcentage:= pourcentage+0.13;
           '>180 and <361' : pourcentage:= pourcentage+0.20;
           end;
     until duree>-1;
     end;
     writeln (prixinitial*pourcentage);
     readln;
end.