anek971
Messages postés34Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention 6 juillet 2008
-
16 mai 2004 à 17:42
anek971
Messages postés34Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention 6 juillet 2008
-
20 mai 2004 à 17:23
Bonjour a tous
Enfaite je voudrais savoir en mode console comment on fait pr que par exemple le prog :
#include <stdio.h>
int main(void)
{
int choix;
do
{
printf("Les choix\n");
printf(" 1.ajouter.\n");
printf(" 2.afficher.\n");
printf(" 0.Pour quitter.\n");
printf("Votre choix: ");
scanf("%d",&choix);
switch(choix)
{ case 1: blabla;
break;
case 2:blabla;
break;
}
}
while(choix!=0);
}
Pr k'on ait pas a chak fois l'affichage a la suite de ce ki est dans les printf,genre les ecrire je crois dans une nouvelle fenetre en mode console tjs.
Puis un deuxième points j'ai zieuter sur le prog de klk'1 ki proposait la gestion du personnel , et je souhaiterai comme lui pr choisir ne pas avoir a tapez un chiffre mais parcourir les choix a l'aide des touches directionneles et une fois dessus on tape entrer et c bon ca a appelle la fonction correspondante.
merci d'avance..
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 16 mai 2004 à 18:00
suffit d'effacer la fenetre, mais ca depend de l'os, sous win tu pe faire ca en win32, ya des sources qui redefinisse la fonction clrscr() de borland (cherche sconio ou econio)
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004 18 mai 2004 à 11:48
Pour ton affichage tu peux essayer de faire un truc dans ce genre là si t'es sous win:
do
{
printf(...);
scanf("%i",&choix);
fflush(stdin); //si tu l'oublies tu risques d'avoir des pb
system("cls"); //efface le contenu de la console
switch(choix)
{
....
}
}
while(...);
si t'es sous linux (chuis pas du tout expert donc ...)
essaye un truc du genre system("clear");
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004 18 mai 2004 à 11:48
Pour ton affichage tu peux essayer de faire un truc dans ce genre là si t'es sous win:
do
{
printf(...);
scanf("%i",&choix);
fflush(stdin); //si tu l'oublies tu risques d'avoir des pb
system("cls"); //efface le contenu de la console
switch(choix)
{
....
}
}
while(...);
si t'es sous linux (chuis pas du tout expert donc ...)
essaye un truc du genre system("clear");
anek971
Messages postés34Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention 6 juillet 2008 18 mai 2004 à 13:44
Merci bcp pr ton aide mais la j'ai un prb sur mon prog parceke enfaite je vx creer un carnet d'adresse ou cette fois on ecrit les données dans un fichier text avec fprintf et 'kon puisse relire le nom grace a fscanf bah le prob now que j'ai rajouté ca a mon prog qd je vx entrer le nom comme ya plein d'info ca passe bien mais qd je veux afficher ca affiche mais a une vitesse et enfaite après ca m'efface tt avt ke j'ai le tps de voir koi ke ce soit.
je ne met pas tout mon prog parceke je souhaitais le mettre sur le site pr faire style grand informaticien :) mais voici ou ca pose prob now ke j'ai mis ce ke je voulais (effacer tt).
int main (void)
{
struct fiche *p_pers=NULL;
struct fiche *entrer=NULL;
int choix;
do
{
fflush(stdin);
system("cls");
printf("\n ************************ \n");
printf(" * * \n");
printf(" * AGENDAc.VERSION1.6:) * \n");
printf(" * * \n");
printf(" *********************** \n");
printf(" \n \n Vous pouvez: \n");
printf(" 1-ajouter\n");
printf(" 2-enregistrer\n");
printf(" 3-lire\n");
printf(" 4-conseil d'utilisation\n");
printf(" Votre choix: \n");
scanf("%d",&choix);
switch(choix)
{
case 1: ajouter(&p_pers);
break;
case 2:save(p_pers);
break;
case 3:lire();
break;
case 4:conseil();
break;
case 0:quitter(&p_pers);
break;
}
}
while(choix!=0);
}
et merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004 18 mai 2004 à 14:29
Dand ta fonction lire(), je suppose que tu fais une boucle qui lit ton fichier ligne par ligne?
Ca doit ressembler à ca:
while(!feof(fichier))
{
printf(.....);
}
maintenant essaye avec ca:
int i = 1;
while(!feof(fichier))
{
printf(.....);
i++;
if(i%15 == 0)
{
printf("\nappuyez sur une touche pour afficher la suite");
getch();
}
}
printf("\nappuyez sur une touche pour retourner au menu");
getch();
Tu devrais avoir l'affichage d'un peu moins d'un écran à la fois et comme ca tu aurais le tps de lire les infos dt tu as besoin!
shirah3i
Messages postés24Date d'inscriptionmercredi 31 mars 2004StatutMembreDernière intervention10 juin 2004 19 mai 2004 à 14:11
DJL> le fflush(stdin) se fait très bien après ou avant un scanf pcq quand tu as un scanf dans une boucle et que tu vides pas le tapon d'entrée ton scanf va toujours prendre la meme valeur et si tu n'entres pas la valeur qui va te permettre de sortir de ta boucle tu vas boucler sans fin!
anek971
Messages postés34Date d'inscriptiondimanche 23 novembre 2003StatutMembreDernière intervention 6 juillet 2008 19 mai 2004 à 23:58
Oki merci pr les infos bon pr l'instant je peux pas les tester je suis en pleine periode d'exams :'( si g un autre prob je reposerai une kestion mas merci ++