CodBlocks sous linux - Programme s'arrete
Smily
-
Smily91 Messages postés 3 Statut Membre -
Smily91 Messages postés 3 Statut Membre -
Bonjour,
J'ai un programme à créer en C pour mes cours sous CodeBlocks. C'est un logiciel que je connais, il n'y a pas de soucis.
J'ai codé le tout sur mon pc sur windows, tout fonctionne parfaitement, seulement je dois le passer sous linux, le système d'exploitation des pc de mon école.
En testant cet apres-midi sur un des postes, le programme ce lance bien, mais "s'arrete" en plein milieu! Pourtant, il ne s'achève pas, le programme n'est pas terminer mais il s'arrete.
On a la possibilité de taper des choses mais il n'y a aucun scan et ca ne fait rien du tout!
J'ai essayer de trouver d'où provient le problème mais impossible: en printant un peu partout pour voir où il bloquait, il s'avère que le programme ne s'arrete pas pour ce qui le précède! J'ai supprimé la boucle while mais le programme s'arrete quand meme!
Je n'arrive pas à comprendre, est-ce un problème de mémoire? Pour se "bloquer" sans signaler d'erreur, ni de fin du programme?
Merci de vos réponses
J'ai un programme à créer en C pour mes cours sous CodeBlocks. C'est un logiciel que je connais, il n'y a pas de soucis.
J'ai codé le tout sur mon pc sur windows, tout fonctionne parfaitement, seulement je dois le passer sous linux, le système d'exploitation des pc de mon école.
En testant cet apres-midi sur un des postes, le programme ce lance bien, mais "s'arrete" en plein milieu! Pourtant, il ne s'achève pas, le programme n'est pas terminer mais il s'arrete.
On a la possibilité de taper des choses mais il n'y a aucun scan et ca ne fait rien du tout!
J'ai essayer de trouver d'où provient le problème mais impossible: en printant un peu partout pour voir où il bloquait, il s'avère que le programme ne s'arrete pas pour ce qui le précède! J'ai supprimé la boucle while mais le programme s'arrete quand meme!
Je n'arrive pas à comprendre, est-ce un problème de mémoire? Pour se "bloquer" sans signaler d'erreur, ni de fin du programme?
Merci de vos réponses
A voir également:
- CodBlocks sous linux - Programme s'arrete
- Programme demarrage windows - Guide
- Linux reader - Télécharger - Stockage
- Comment mettre en veille un programme sous windows 10 - Guide
- Toutou linux - Télécharger - Systèmes d'exploitation
- Programme word gratuit - Guide
5 réponses
Voila le code! C'est un menu, je vous ai mis la 4e option, cette d'ajouter une grille d'horaires à un arret!
if(choix==4)
{
Nom ligne;
Temps table[10];
printf("La ligne %s contient %d arrets.\n", ligne, r[resactu].res[i].nbrarrets);
printf("Rentrez les heures des arrets successivement : \n");
int j=0;
while(j<r[resactu].res[i].nbrarrets)
{
printf("Entrez un horaire pour l'arret %s : \n", r[resactu].res[i].parcours[j].nom);
printf("\nHeure : ");
table[j].heure=lireEntier();
printf("\nMinutes : ");
table[j].minutes=lireEntier();
j=j+1;
/*si on print le j ici, toutes les valeurs y sont!*/
}
/*si on print qlq chose ici, il l'apparait pas!,c'est ici que le programme "bloque"*/
if(ajouteHoraire(&r[resactu], ligne, table))
{
printf("Les horaires ont bien été ajoutés\n");
}
printf("\nRetour au menu principal....\n");
system("pause");
}
Que contient ta fonction lireEntier()? (Le scanf est connu pour causer quelques problèmes si l'on y rentre pas des données correctes)
int lireEntier () {
int entierLu;
int nbEntiersLus;
char videTampon;
do {
nbEntiersLus = scanf( "%d",&entierLu);
if (nbEntiersLus != 1) {
printf ("Saisie incorrecte. Recommencez : \n");
}
/* vidage du reste de la ligne (si plusieurs entiers ou autres acracteres */
do {
scanf ("%c",&videTampon);
} while (videTampon != '\n');
} while (nbEntiersLus != 1);
return (entierLu);
}
Mais je pense avoir trouvé le probleme...
Je dois retester demain et je te dis!
Mais la fonction lireEntier est bonne non?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question