2

maxpage = flc/6;
if (!(flc%6))
maxpage--;

peut-etre ?

[edit : le bout de code était faux]

4

Moi, j'enlèverais la première ligne du code d'ExtendeD :
if(!(flc%6))
 maxpage=(flc/6)+1;

J'ai la flemme de tester

5

1. Pour ton problème, la solution la plus simple est:
maxpage=(flc-1)/6;
Pas la peine de mettre floor, on travaille sur des entiers, donc la division est une division euclidienne, et on n'a que le quotient, pas le reste!

2. Si tu veux travailler sur des nombres à virgule, il faut d'abord convertir flc en float:
float temp;
temp=(float)maxpage/6; /*non, il ne manque pas de parenthèse ici! C'est bien maxpage seul qu'il faut transtyper! */
if (temp==floor(temp)) // si temp entier
temp--;
maxpage=temp;

Mais c'est juste pour te montrer comment on travaille avec des nombres à virgule! Ne te complique pas la vie, maxpage=(flc-1)/6; suffit!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

Je pense que tu n'as pas compris que contrairement au BASIC et au Pascal, en C, la division n'est pas automatiquement une division en virgule flottante, mais que si on travaille sur des entiers, c'est une division euclidienne.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

Kevin Kofler a écrit :
1. Pour ton problème, la solution la plus simple est:
maxpage=(flc-1)/6;
Pas la peine de mettre floor, on travaille sur des entiers, donc la division est une division euclidienne, et on n'a que le quotient, pas le reste!


Mais si flc>12, ça ne marche pas, si ? Ou alors je suis complètement à l'ouest...

[edit] J'ai rien dit, je viens de relire le post d'Orion, et en fait, c'est bien ce qu'il cherchait. dsl.