CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme en C...

kuwabara
kuwabara
Niveau 9
02 novembre 2008 à 17:32:21

Bonjour j'ai un probleme dans l'utilisation du langage C.
En effet, je dois comparer deux horaires et verifier qu'il n'y a pas plus de 30 minutes d'ecart entre les deux.
Comment fait on?

Merci :)

Legendsnake
Legendsnake
Niveau 10
02 novembre 2008 à 17:35:03

donne nous ton code source et sur quoi tu bloque exactement dans ce code pour qu'on puisse t'aider parce qu'on va pas résoudre ton problème à ta place puisqu'avec une correction prête, tu ne pourras jamais t'améliorer

kuwabara
kuwabara
Niveau 9
02 novembre 2008 à 17:43:15

Je veux bien mais mon code source est hyper long lol

kuwabara
kuwabara
Niveau 9
02 novembre 2008 à 17:46:20

// projprojbis.cpp : définit le point d'entrée pour l'application console.
//

  1. include "stdafx.h"
  2. include "stdlib.h"
  3. include "string.h"

typedef char CH15[16];

struct LIBELLE
{
CH15 lib;
int occ;
};
struct AFFICHAGE
{
char quai;
int num;
CH15 lib;
int heure;
};

void main ()
{
AFFICHAGE Taffich[8];//Tableau d'affichage des trains
LIBELLE Tlib[12]; //Tableau stockant les differents libellés saisis ainsi que le nombre de fois ou ils sont apparus au cours des mises a jour.
int i,
c=0, //compteur mesurant le nombre de fois qu'un libellé donné est affiché
j,
nbq=0,
numlu,
nbTaffich,
heuremod,
nb;

char lettre;
CH15 liblu;
printf (" SAISIE DES DONNEES DU JOUR \n\n");
printf ("Quel est le nombre de quais utilisables aujourd'hui?");
scanf ("%d",&nb);
if (nb>=1 && nb<=6)
{
printf ("Quel est le nombre de provenances?");
scanf ("%d",&nb);
if (nb>=1 && nb<=12)
{
j=0;
printf("Veuillez entrer le libelle de chaque provenance\n");
do
{
gets (liblu);
for(i=0;i<j && strcmp(Tlib[i].lib,liblu)!=0;i=i+1);
if (i==j)
{
for (i=j-1; i>=0 && strcmp(liblu,Tlib[i].lib)<0; i=i-1)
{
Tlib[i+1]=Tlib[i];
i=i-1;
}
i=i+1;
strcpy (Tlib[i].lib,liblu);
Tlib[i].occ=0;

}
else
printf("ce libellé est déja connu");
j=j+1;
}
while (j<nb);
switch (lettre)
{
case 'R':
{
nbq=0;
printf ("entrez le numero du train");
scanf ("%d",& numlu);
for (i=0;i<nbTaffich && numlu!=Taffich[i].num;i=i+1);
if (i==nbTaffich)
{
printf ("Ce train n'est pas annoncé");
break;
}
for (j=0; j<nbTaffich; j=j+1)
{
if(Taffich[i].quai==Taffich[j].quai && j!=i)
{
Taffich[j]=T3[nbq];
nbq=nbq+1;
}
}
for (j=0; j<nbq && 30 min entre Taffich[i].heure et T3[j];j=j+1);
if (j<nbq)
Taffich[i].quai=NULL;
Taffich[i].heure = heuremod;
for (j=nbTaffich-1;j>=0;j=j-1)
{
if(Taffich[i].heure>Taffich[j].heure)
{
T2[0]=Taffich[i];
while (j>i)
{
Taffich[i]=Taffich[i+1];
i=i+1;
}
Taffich[i]=T2[0];
j=0;
}
else
{
if(Taffich[i].heure==Taffich[j].heure)
{
if (Taffich[j].quai<=Taffich[i].quai)
{
T2[0]=Taffich[i];
while(i<j)
{
Taffich[i]=Taffich[i+1];
i=i+1;
}
Taffich[j]=T2[0];
j=0;
}
}
}
}

}
case 'V':
{
printf ("Veuillez entrer le libellé de la provenance");
gets (liblu);
for(i=0;i<nb && strcmp(liblu,Tlib[i].lib)!=0;i=i+1);
if (i<nb)
{
printf("%-15s",liblu);
for (j=0;j<nblib;j=j+1)
{
if(strcmp(Tlib[j].lib,liblu)=0)
c=c+1;
}
printf("Il y a %d trains actuellement affichés qui concernent cette provenance",c);
printf("Il y a eu %d trains annoncés concernant cette provenance",Tlib[i].occ);
}
else
printf ("provenance non connue");
break;
}
case 'P':
{
for(i=0; i<nblib; i=i+1)
{
for (j=0,c=0;j<nbTaffich;j=j+1)
{

if(strcmp(Tlib[i].lib,Taffich[i].lib)=0);

c=c+1;
}
printf("Le libellé %15s est actuellement affiché %d fois et à été annoncé en tout %d fois",Tlib[i].lib, c, Tlib[i].occ);
}
break;
}
}
}//fin switch

else
printf ("ce nombre est incorrect");
}
else
printf ("Ce nombre est incorrect");
} //Fin du programme

kuwabara
kuwabara
Niveau 9
02 novembre 2008 à 17:48:53

Je bloqu ea cette ligne la

for (j=0; j<nbq && 30 min entre Taffich[i].heure et T3[j];j=j+1);

Faites ctrl+F pour trouver la ligne ;)

appolo_13
appolo_13
Niveau 9
02 novembre 2008 à 19:01:07

plus lisible :d) http://pastebin.com/m678b918a

for (j=0; j<nbq && Taffich[i].heure<= T3[j]+30 ;j=j+1); :question:

kuwabara
kuwabara
Niveau 9
02 novembre 2008 à 19:37:08

Oui merci apollo il est fort possible que cette solution soit juste :-)

Legendsnake
Legendsnake
Niveau 10
02 novembre 2008 à 20:03:41

je suppose que le code que tu nous a donné n'est pas ton code vu qu'appollo n'a fait que recopier ton code dans "pastebin" pourqu'il soit plus lisible et tu ne l'a pas remarqué
autre chose, comment tu dis que tu bloque dans la boucle que t'as cité tant dit que ton programme va se bloquer en première ligne :hap:
à toi de vérfier comment on déclare les include

Legendsnake
Legendsnake
Niveau 10
02 novembre 2008 à 21:22:55

Bon ton soit disant code renfermait plus de 120 erreurs de compilation, après les avoir toutes corrigés je constate qu'il ne fait rien à l'execution et qu'il se termine après la troisième étape d'où la présence des erreurs dans ton code source lui même(ton calcul, tes boucles....)
et après les avoir corrigé et avoir eu le bon résultat je suis devenu sûr d'une seule chose===> ce code n'est pas le tien et tu ne pourras pas me convaincre du contraire mais aussi celui qui l'a fait ne connait rien à la programmation
Coordinalement

tomtex
tomtex
Niveau 8
02 novembre 2008 à 22:15:51

:rire: owned :sournois:

ba c'est pas bien dur :

tu demandes à l'utilisateur un horaire :
heure1
minutes1

tu demandes à l'utilisateur un second horaire :
heure2
minutes2

tu convertis heure1 et minutes1 en temps1 (nombre total de minutes pour le premier horaire)

tu convertis heure2 et minutes2 en temps2 (nombre total de minutes pour le second horaire)

après une condition :
si temps2-temps1>30 ou temps1-temps2>30
afficher plus de 30 minutes d'ecart
sinon
afficher moins de 30 minutes d'ecart

Voilà je t'ai donné un algo vite fait, maintenant à toi de te débrouiller, et tout seul cette fois :)

dnob700
dnob700
Niveau 10
03 novembre 2008 à 13:25:05

LegendSnake, tu a bien du te rendre compte qu'il te manquait des include pour compiler ça. Ils sont probablement dans stdafx.h qui est un en tête un peu particulier pour visual C++ (un en tête qui n'est pas recompilé à chaque fois, donc parfait pour des grosses bibliothèques).

Si tu as viré ça, pas étonnant qu'il ne se passe rien après. Mais tu ne peut pas dire que ça se bloque sur la première ligne alors que tu n'a pas ce qu'il faut pour le compiler.

Legendsnake
Legendsnake
Niveau 10
03 novembre 2008 à 16:53:50

je parlais des "" qu'il a mis à la place de <> et non de stdafx.h :ok:
Et soit rassuré je ne l'ai pas enlevé.

godrik
godrik
Niveau 30
03 novembre 2008 à 19:57:45

"je parlais des "" qu'il a mis à la place de <> et non de stdafx.h :ok: "

Tu manques un peu de pratique en C LegendSnake, tu peux inclure un header systeme avec la notation guillemet. On ne le fait pas d'habitude, cependant ca devrait marcher. (section 4.11.1 du K&R norme ansi deuxieme edition)

dnob700
dnob700
Niveau 10
03 novembre 2008 à 20:38:12

lorsque l'on met un header avec des guillemets, il est recherché d'abord dans le dossier local, puis dans les dossiers d'en tête standard, et c'est le contraire avec des <>.

kuwabara
kuwabara
Niveau 9
03 novembre 2008 à 21:44:19

Eh oh LegendSnake, je te prierais de te calmer et d'arreter tes accusations de merde. Je suis venu pour demander de l'aide, pas pour subir un procès!

* appolo_13 Voir le profil de appolo_13
* Posté le 02 novembre 2008 à 19:01:07 Avertir un modérateur
* plus lisible :d) http://pastebin.com/m678b918a

for (j=0; j<nbq && Taffich[i].heure<= T3[j]+30 ;j=j+1); :question:
* Lien permanent

* kuwabara Voir le profil de kuwabara
* Posté le 02 novembre 2008 à 19:37:08 Avertir un modérateur
* Oui merci apollo il est fort possible que cette solution soit juste :-)

Ca va t'as compris la :hap: ??
Tu peux relire cette citation autant que tu veux sinon, tu te rendras vite compte que ta réponse a ce post fut totalement déplacée et débile de surcroit.

Et puis sache que ce BOUT de programme est une partie d'un projet, que je n'ai pas encore achevé (j'ai tout écrit dans le désordre...) et donc pas étonnant qu'il ne marches pas pour l'instant. Appolo m'a demandé le code, je l'ait mis c'est tout (Si je ne l'avais pas posté a mon premier message, c'est que je me doutais qu'il ne servait a rien mais bon... vous auriez refusé de m'aider autrement_cf premiere reponse_).

Pff sincèrement si c'est pour faire des remarques déplacées sans meme lire le contenu du topic ne postez pas car les polueurs, c'est vous, et ce quoi que vous en pensiez.

Au passage je te remercie quand même sur les include :hap:

kuwabara
kuwabara
Niveau 9
03 novembre 2008 à 21:47:23

Je suis effectivement sous visual C++ :hap:

Legendsnake
Legendsnake
Niveau 10
04 novembre 2008 à 08:25:30
  1. godrik Voir le profil de godrik
  2. Posté le 03 novembre 2008 à 19:57:45 Avertir un modérateur
  3. Tu manques un peu de pratique en C LegendSnake, tu peux inclure un header systeme avec la notation guillemet. On ne le fait pas d'habitude, cependant ca devrait marcher. (section 4.11.1 du K&R norme ansi deuxieme edition)

====> je l'avoue puisque ça ne fait pas très longtemps que je me suis mis sérieusement sur le C et je croyais qu'on devait déclarer nos fichier headers dans des fichiers .h pour faire leur appel avec #include""

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment