Salut tout le monde,
En fait ça ne concerne pas directement la programmation GP32 puisque je suis en train d' apprendre le C (pour pc) afin de pouvoir m' en resservir pour programmer sur GP32.
Le problème qui suit est simple, quand j' écris un programme il s' execute normalement, le problème c' est que quand on a une fonction printf a la fin il execute tellement vite le code qu' on a rien le temps de voir! Donc ma question est la suivante: peut on définir le temps d' affichage de la derniere fonction? ou au moins y a t' il un moyen pour que le résultat soit lisible.
Je sais pas si je suis très clair, donc j' ai pris un exemple (un programme tout con qui calcule la moyenne d' une classe de 25 élèves et qui indique combien ont au dessus de la moyenne):
main()
{
float notes[25], //tableau prévu pour 25 élèves
somme, //variable somme pour le calcul de la moyenne
moyenne; //moyenne de la classe
int nb, //nombre de nots supp a la moyenne
i, //compteur 1
j; //compteur 2
printf("donnez les 25 notes\n");
for ( i=0 ; i<25 ; i=i+1 )
scanf("%f", ¬es[i]); //lecture des notes des élèves
somme= 0 ; //initialisation de somme
for ( i=0 ; i<25 ; i=i+1 )
somme= somme + notes[i];
moyenne= somme / 25 ;
nb= 0;//initialisation de nombre
for( j=0 ; i<25 ; i=i+1)
if (notes[i] > moyenne) nb=nb+1 ;
printf ("il y a %d notes supperieures a la moyenne %9.2f", nb, moyenne);/*problème, affichage éclair et fermeture quasi instantanée du programme*/
}
Zeph Le 11/02/2005 à 13:56 Il te faut juste une instruction qui fasse une pause en attendant que tu appuies sur une touche, je sais pas trop ce qu'il y a de disponible sur GP32, pause(), sleep(), system("truc"), ... ?
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
PpHd Le 11/02/2005 à 14:10 Lance le dans une console (je suppose que tu es sous windows) : Demarrer/executer command.com
Zeph Le 11/02/2005 à 14:20 Ça s'affiche, d'après lui, et ce n'est pas un return 0 qui va y changer grand chose. J'avais pas vu que c'était pour PC, si t'es sous win tu peux faire system("pause"); après ton printf, par exemple.
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
oups, désolé pour le programme, je l' ai refait en vitesse...
pour le commentaire c t juste pour bien expliciter le programme, je ne commente pas autant d' habitude.
je vais tester avec system("pause")
merci pour vos réponses
ça marche! merci, de plus j' ai fait une petite modif perso, j' ai mis adapté la fonction printf dans la premiere boucle pour entrer successivement la note de chaque élève!
ok merci beaucoup Sanosuke!
en gros, moi je voyais trois possibilites:
- sleep (le programme se met en pause un certain nombre de secondes)
- for (int a;a < 1e5;a++) (le programme fait tourner une boucle assez longue) ou while avec une condition sur l'horloge pour gerer le temps de la pause
- getc, scanf, cin << demandant a l'utilisateur d'appuyer sur une touche pour continuer (system ("pause") fait pareil)
j' avais déja essayé avec do while, mais ça me répetait les instructions de lecture a l' infini, system ("pause") est parfait pour ce que je voulais faire
Tiens, d' ailleurs Sanosuke, si tu avais une source pour le tirage d' un nombre aléatoire je te serais gré si tu pouvais me la passer stp!
sleep (secondes) j'y ai pensé, mais c'est la librairie unistd.h (spécifique unix).
Tu peux aussi faire getchar() tout simplement (si tu es sous gcc).
Tu devras te passer de cette technique (ou de system(pause) ) pour porter sur GP32, parce que c'est incompatible avec le sdk, il me semble... Enfin ca reste à vérifier !
Si tu veux un truc qui marche sur GP32, tu peux faire while (!keydata=GpKeyGet()), ca boucle tant qu'on n'appuie sur aucune touche.
Tout a fait d'accord
Juste pour prévenir qu'au passage sur GP32, ya quelques habitudes à perdre. Enfin c'en est pas encore là...
ouep, c' est vrai qu' il faut déja gagner quelques habitudes, mais bon je vais quand meme essayer de pas trop trainer histoire de faire le simulateur de lancé de dés dans pas trop longtemps!
tiens, d' ailleur, comment on fait pour connaitre les commandes des fonctions du sdk GP??
heu, pour les livres j' ai "le livre du C premier language" par Claude Delannoy si tu parles de ça...
Merci! Mais il n' y a que le deuxième lien qui marche!
ouep, j' ai vu , bah de toutes façon ça peut encore attendre un peu
En tout cas la version 2.1.5 donne beaucoup plus d'info, et dire que je m'en passais... Obligé de récupérer des exemples des fonctions qui n'étaient pas dans la 1ere...