Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : critere d'arret boucle while [ Archives / Divers ] (developvbdebut)

lundi 24 avril 2006 à 08:59:40 | critere d'arret boucle while

developvbdebut

Membre Club

Bonjour tout le monde

J'ai un probleme avec le critere d'arret d'une boucle while.

je ne sais pas quoi mettre, je souhaite que la boucle s'arrette quand on entre saise vide dans section.

Voici le code:

while(c.section!=0){
printf("Entrer le numero de la section\n");
scanf("%d",&c.section);

fwrite( &c.section, sizeof(int) ,sizeof(c.section), fich );

printf("Entrer le nom\n");
scanf("%s",&c.nom);

fwrite( &c.nom, sizeof(char) ,sizeof(c.nom), fich );

printf("Entrer le Prenom\n");
scanf("%s",&c.prenom);

fwrite( &c.prenom, sizeof(char) ,sizeof(c.prenom), fich );
}

cwhile(c.section==-1){
printf("Entrer le numero de la section\n");
scanf("%d",&c.section);

fwrite( &c.section, sizeof(int) ,sizeof(c.section), fich );

printf("Entrer le nom\n");
scanf("%s",&c.nom);

fwrite( &c.nom, sizeof(char) ,sizeof(c.nom), fich );

printf("Entrer le Prenom\n");
scanf("%s",&c.prenom);

fwrite( &c.prenom, sizeof(char) ,sizeof(c.prenom), fich );
}

Pouvez vous m'aider.

Merci

Cordialement

A bientôt


lundi 24 avril 2006 à 11:14:04 | Re : critere d'arret boucle while

meech

Membre Club
Salut,

Vérifier si le caractère c.section est un retour chariot, c'est-à-dire s'il a la valeur 13.

Ciao.

lundi 24 avril 2006 à 12:05:19 | Re : critere d'arret boucle while

developvbdebut

Membre Club

Rebonjour tout le monde

Desolé, mai notre enseignent nous ne a pas expliqué le retour chariot.

Pouriez vous me l'expliqué.

Merci

Cordialement

A bientôt

lundi 24 avril 2006 à 12:58:55 | Re : critere d'arret boucle while

ymca2003

code ASCII recu lorsque la touche [ENTER] est tapée
vaut 13 (0x0D) CARRIAGE RETURN (CR)

Dans certain cas mappé en 10 (0x0A) pour LINE FEED (LF)

Et des fois on a les 2 CR LF 0xD 0xA

Il s'agit également d'un retour à la ligne
les différences dépendent des choix d'implémentation (DOS, UNIX, Windows)

lundi 24 avril 2006 à 19:18:42 | Re : critere d'arret boucle while

developvbdebut

Membre Club
Bonsoir tout le monde

donc, c'est certainement pour ca que lorsque je tape un nombre dans c.section que ca m'envois des symbol dans mon fichier texte.

Le probleme viens de là.

Que puis je faire pour y remedier svp.

Merci

Cordialement

A bientôt

mardi 25 avril 2006 à 09:04:19 | Re : critere d'arret boucle while

ymca2003

printf("Entrer le nom\n");
scanf("%s",&c.nom);

c'est pas bon

nom doit être déclaré comme cela :
char nom[64];

récupérer comme cela :
printf("Entrer le nom\n");
scanf("%s",c.nom);

écrit comme cela :
fwrite( c.nom, 64*sizeof(char) ,1, fich );


mercredi 26 avril 2006 à 09:12:51 | Re : critere d'arret boucle while

developvbdebut

Membre Club
Bonjour tout le monde

ok, je vais le changer

Pour mon critere d'arret comment puis je faire.

Merci

Cordialement

A bientôt

jeudi 27 avril 2006 à 09:35:09 | Re : critere d'arret boucle while

turnerom

A mon avis tu met tout simplement ca (en reprenant les idées de tout le monde) :

char nom[64], prenom[64];
...
while(strcmp(c.section,"") != 0){
  printf("Entrer le numero de la section\n");
  scanf("%d",&c.section);

  fwrite( &c.section, sizeof(int) ,1, fich );

  printf("Entrer le nom\n");
  scanf("%s",c.nom);

  fwrite( c.nom, sizeof(char)*64 ,1, fich );

  printf("Entrer le Prenom\n");
  scanf("%s",c.prenom);

  fwrite( c.prenom, sizeof(char)*64 ,1, fich );
}



TuRn3r

jeudi 27 avril 2006 à 09:38:00 | Re : critere d'arret boucle while

turnerom

Oups désolé, j'ai oublié la condition de sortie  :

char nom[64], prenom[64];

...


while(1){
  printf("Entrer le numero de la section\n");
  scanf("%d",&c.section);
 
  if (strcmp(c.section,"") != 0)
    break;


  fwrite( &c.section, sizeof(int) ,1, fich );

  printf("Entrer le nom\n");
  scanf("%s",c.nom);

  fwrite( c.nom, sizeof(char)*64 ,1, fich );

  printf("Entrer le Prenom\n");
  scanf("%s",c.prenom);

  fwrite( c.prenom, sizeof(char)*64 ,1, fich );
}

TuRn3r

jeudi 27 avril 2006 à 09:40:02 | Re : critere d'arret boucle while

turnerom

Bon faut que j'aprenne a ecrire moi

  if (strcmp(c.section,"") != 0)
est bien sur a remplacer par:
  if (strcmp(c.section,"") == 0)

TuRn3r


1 2

Cette discussion est classé dans : printf, entrer, section, sizeof, prenom


Répondre à ce message

Sujets en rapport avec ce message

probleme en langage C - URGENT!!!!! [ par mazo0012 ] bonjourjai un gros pb en C, si quelq'un pouvait m'aider apidement je commence a devenir dingue!!!!!!jexplike:tout simplement, j'essaye de saisir le ch regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio instruction if qui ne veut pas passer !!!!!! [ par superbaloo78 ] voila j'ai un code qui ressemble a ca !!!!int test1;int test2;void main(void){ printf("entrer test1(1 ou 0)"); while((test1 = getchar()) != '\n' Demande d'aide [ par mikak ] J'ai un probleme avec le MALLOC de ce programme,aidez moia trouver une soltion pour qu'on puisse lister par ordre alphabétiquevoid trie_affiche(){ int demande d'aide pour un carnt d'adresses avec liste chaînée [ par titoune85 ] bonsoir à tous!je vous demande un peu de temps et beaucoup d'aide pour ce pg qui consiste a creer un carnet d'adresse classé par ordre alphabetique. J fonction supprime tous!! [ par juju0612 ] bonjour à tous!!!voila ma fonction supprimer doit supprimer que le nom que je lui donne mais il supprime tous!!et je ne vois pas pourquoi!!comment res smtp en socket [ par XKaliBur ] J'ai essayer de faire le plus simple possible mais ça marche pas... est-ce que quelqu'un aurais une idée... Parce que quand je le fait en telnet ça ma Chaine de caractère ! [ par rems14 ] Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu problème de fonction [ par norton ] voila j'aimerai savoir pk mon compilateur me dit :"ain.cpp(41) : warning C4551: function call missing argument list"je débute en C++ voila mon code :# allez a la ligne avec \\n [ par xkindool ] Bonjour, déjà je m'excuse car je sais que ma question va vous paraitre un peu bidon mais bon j'ai commencé le c il y a une heure :pDonc enfait j'aimer


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,718 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.