Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 10 Jul 2003 07:47:02

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Pourquoi ça provoque des erreurs?

Salut tout le monde!

Voilà le code:

Code:

#include "conio.h"
#include "stdio.h"

float size_total,size_one,size_left;                    // Les tailles considérées.
int percent,down_rate;                                  // Variables.
long time_left[12],time_h[12],time_m[12],time_s[12];    // Les temps (time_left -> en secondes).

void calc()                                             // Calcul les durées et les tailles.
{
 size_one=size_total/100;                               // 1% = xMo.
 size_left=size_total-(size_one*percent);               // Nombre de Mo restant à d/l.
 for(down_rate=1;down_rate!=13;down_rate++)             // Calcul des durées suivant le bitrate (varie de 1 à 13 ko/s).
 {
     time_left=(size_left*1000)/down_rate;
     time_h[down_rate]=time_left/3600;
     time_m[down_rate]=(time_left-((time_h[down_rate])*3600))/60;
        time_s[down_rate]=(time_left-(((time_h[down_rate])*3600)+((time_m[down_rate])*60)));
 };
};

void main()                                             // Fonction principale.
{
    clrscr();                                       // Efface l'écran.
    printf("Enter total files size: ");             // Taille totale du fichier à télécharger.
    scanf("%f",&size_total);
    printf("nEnter current percent:  ");           // % du fichier déjà d/l.
    scanf("%d",&percent);

        calc();                                         // Effectue les calculs.

    clrscr();                                       // On re-efface l'écran.
    printf("Total files size: %.1f MBn",size_total);  // Rappelle des données.
        printf("1/100 size:       %.2f MBn",size_one);
        printf("Current percent:  %d%n",percent);
        printf("Left to download: %.1f MBnn",size_left);
        printf("Time left:n");                            // Tableau des temps en fonction du downrate.
        printf("+----+----------+n");
        for(down_rate=1;down_rate!=13;down_rate++)         // Affichage ligne par ligne.
        {
            printf("| %2d kB/s | %2d:%2d:%2d |n",down_rate,time_h[down_rate],time_m[down_rate],time_s[down_rate]);
        };
        printf("+----+----------+n");
        printf("nnnPress a key to finish...");          // Attente...
        while(kbhit()!=-1);                                // OK!
        exit(1);                                           // On ferme.
};

Les erreurs:

Code:

Error h:g100devdowndown.c 14: Illegal use of floating point in function calc
Error h:g100devdowndown.c 15: Illegal use of pointer in function calc
Error h:g100devdowndown.c 16: Illegal use of pointer in function calc
Error h:g100devdowndown.c 17: Nonportable pointer conversion in function calc

Ca concerne donc les lignes suivantes de la fonction calc():

Code:

time_left=(size_left*1000)/down_rate; 
   time_h[down_rate]=time_left/3600; 
   time_m[down_rate]=(time_left-((time_h[down_rate])*3600))/60; 
   time_s[down_rate]=(time_left-(((time_h[down_rate])*3600)+((time_m[down_rate])*60)));

Maintenant la question: Ils sont où les pointeurs qu'il me dit incorrecte???


Au départ, c'était une connerie, maintenant, c'est une source d'énervement, je ne pige pas pourquoi ça marche pas...


No matter where you are, everyone is always connected...

Hors ligne

 

#2 10 Jul 2003 08:12:58

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Pourquoi ça provoque des erreurs?

euh
je voudrais bien t' aider, mais je vais pas chercher la ligne ou s' est alors que le compilo te l' indique!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#3 10 Jul 2003 08:55:33

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Pourquoi ça provoque des erreurs?

vi c'est un peu mal vu de donner son code comme ça cash !


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#4 10 Jul 2003 11:26:41

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Re: Pourquoi ça provoque des erreurs?

X-Thunder28 -> Oups! Désolé! J'ai pas tout collé, et j'ai pas tout vérifié avant de poster...

C@siomax -> "un peu mal vu" => Pourquoi? C'est moi qui l'ai fait, et je me fiche qu'on me prenne le code!


Le post a été édité...


No matter where you are, everyone is always connected...

Hors ligne

 

#5 10 Jul 2003 11:30:38

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Re: Pourquoi ça provoque des erreurs?

Merde! Je viens de m'apercevoir  que mon code était bordélique...  lol
Je re-éditerai le post quand j'aurais mis un peu d'ordre...


No matter where you are, everyone is always connected...

Hors ligne

 

#6 10 Jul 2003 11:34:32

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Pourquoi ça provoque des erreurs?

timeleft:il s' agit d' un tableau :
long time_left[12]

Or on voit ceci:
    time_left=(size_left*1000)/down_rate;
   time_h[down_rate]=time_left/3600;
   time_m[down_rate]=(time_left-((time_h[down_rate])*3600))/60;
        time_s[down_rate]=(time_left-(((time_h[down_rate])*3600)+((time_m[down_rate])*60)));

Enfin bref une utilisation en variable, alors que tu met le nom du tableau entier timeleft! Il faut mettre timeleft[X] ou X est l' élement de la case X du tableau.

"Error h:g100devdowndown.c 17: Nonportable pointer conversion in function calc"
   time_s[down_rate]=(time_left-(((time_h[down_rate])*3600)+((time_m[down_rate])*60)));

Meme remarque qu' au dessus!

Quand a cette erreur:
"Error h:g100devdowndown.c 14: Illegal use of floating point in function calc "
Elle est la parce que tu mélange floating point  et entier!

Voila  wink


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#7 10 Jul 2003 11:44:55

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Re: Pourquoi ça provoque des erreurs?

Oki!

Merci!

J'suis con parfois... (Même souvent...)


No matter where you are, everyone is always connected...

Hors ligne

 

#8 10 Jul 2003 12:02:06

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Re: Pourquoi ça provoque des erreurs?

Ca fonctionne... Un petit peu à moitié...

Je m'explique:
Les heures & les secondes s'affichent correctement, mais pas les minutes...
A chaque fois, c'est tel que time_m=0.

La ligne est bonne non?


No matter where you are, everyone is always connected...

Hors ligne

 

#9 10 Jul 2003 12:07:22

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Pourquoi ça provoque des erreurs?

time_m[down_rate]=(time_left-((time_h[down_rate])*3600))/60;

Si on dévellope l' expression on obtien ca( en théorie, je supose que tous sont des floats wink ):

timeleft /60 - (time_h[down_rate])*60

C' est ce que tu veu ?
Apperement ca semble bon!
Je comprend pas pk ca bug!
(c un chrono le progr au fait?)


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#10 10 Jul 2003 13:25:20

Spesiel
Testeur G100
Lieu: Le Mans
Date d'inscription: 06 Feb 2002
Messages: 598
Site web

Re: Pourquoi ça provoque des erreurs?

Moi non plus je ne comprend pas...

Non, c'est pas un chrono (enfin, si l'on veut...)
J'utilise BitTorrent pour downloader de gros fichiers, et en général, il se plante dans le temps de téléchargement, alors j'ai fait ce programme pour avoir une idée du temps restant, sous forme de tableau, et suivant une vitesse variant de 1 à 13 ko/s.

Au départ, ça devait prendre 10 minutes... J'adore la programmation, on prend de ces fou-rires!


No matter where you are, everyone is always connected...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr