KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Lundi 12 mai 2008 - 17:33:48

Langage c comment fonction gets??

Rechercher : dans
langage c comment fonction gets??
par yoda
 Fil de Discussions
Statut : Non résolu
vendredi 3 décembre 2004 à 13:48:58
salut a ts

je crois que la reponse sera simple mais c'est un probleme pour la quel j ai passer plus 1 heure je vais devenir fou!!
{
char *tmp=NULL;
tmp=(char*) malloc(sizeof(char)*300);
memset(tmp, '\0', sizeof(char));

printf("taper la correction\n");
gets(tmp);
n=strlen(tmp);
printf("\n n vaut %d",n);
printf("\n tmp vaut %s",tmp);
}
et la quand je l execute, apres l'affichage du printf("taper la correction\n"); , il affiche directement n vaut zero et ensuite il bug.
le gets se met en marche sans que je puisse taper quelque chose?

d'ou vien le probleme, aidez moi svp!!

merci
Répondre à yoda  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Ravachol, le vendredi 3 décembre 2004 à 14:33:05 Fil de Discussions
Salut,
Je ne vois pas la déclaration de n dans le code que tu as posté.

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
Répondre à Ravachol

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par yoda, le vendredi 3 décembre 2004 à 15:26:14 Fil de Discussions
pardon , il y est normalement ds la vraie version, a vrai dire la vraie version est un peu plus complexe mais je suis ur que le probleme vien des ces ligne
Répondre à yoda

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Guki, le vendredi 3 décembre 2004 à 15:57:12 Fil de Discussions
Salut!

N'oublie pas de vider le flux d'entrée stdin si tu appliques une boucle sur gets.
Répondre à Guki

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Ravachol, le vendredi 3 décembre 2004 à 16:00:31 Fil de Discussions
Je viens de copier ton code et chez moi ça passe sans pb après avoir ajouté la déclaration de n.

A++

C'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont raison! (COLUCHE)
Répondre à Ravachol

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par yoda, le vendredi 3 décembre 2004 à 20:47:56 Fil de Discussions
"de vider le flux d'entrée stdin si tu appliques une boucle sur gets"

voila qui a l aire interessant mais je comprend pas se que tu a dis, sa veut dire quoi ou du moin comment je fait???

j ai l impression que gets lit ce qui a dans un buffer et que le mien est deja rempli, du coup il gets autre chose!! donc je croi que je doi vider quelque chose mais comment??
(fflush???)

c'est ca que tu a voulu dire non??!!??
Répondre à yoda

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Guki, le samedi 4 décembre 2004 à 13:14:58 Fil de Discussions
fflush(stdin);


;-)
Répondre à Guki

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lolosynytariny, le lundi 8 octobre 2007 à 17:03:50 Fil de Discussions
Bonjour,
je fai une programmation mai c ne marche po

#include <string.h>
#include <stdio.h>

typedef enum{Printemps,Ete,Automne,Hiver}Saison;
typedef enum{janvier, fevrier, mars, avril, mai, juin, juillet, aout, septembre, octobre, novembre, decembre}Mois;

int main(void){
Saison s;
Mois m;
char moi[10];
printf("Introduire un mois:");
gets(moi);
printf("");

if ( (moi=="janvier")|| (moi=="JANVIER") ) m=janvier;
if ( (moi=="fevrier") ||(moi=="FEVRIER") ) m=fevrier;
if ( (moi=="mars")|| (moi=="MARS") ) m=mars;
if ( (moi=="avril")|| (moi=="AVRIL") ) m=avril;
if ( (moi=="mai")|| (moi=="MAI") ) m=mai;
if ( (moi=="juin") ||(moi=="JUIN") ) m=juin;
if ( (moi=="JUILLET")|| (moi=="juillet") ) m=juillet;
if ( (moi=="aout")||(moi=="AOUT") ) m=aout;
if ( (moi=="SEPTEMBRE")|| (moi=="septembre") )m=septembre;
if ( (moi=="octobre")|| (moi=="OCTOBRE") ) m=octobre;
if ( (moi=="NOVEMBRE")|| (moi=="novembre") ) m=novembre;
if ( (moi=="decembre")|| (moi=="DECEMBRE") ) m=decembre;

else printf("ERREUR");

switch(m){

case janvier :
case fevrier :
case mars : printf("c'est la saison d'hiver");break;
case avril :
case mai :
case juin :printf("c'est la saison du printemps");break;
case juillet:
case aout :
case septembre: printf("c'est la saison d'été");break;
case octobre :
case novembre :
case decembre:printf("c'est la saison d'automne");
}
return ;
}
Répondre à lolosynytariny

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par skay, le mardi 29 avril 2008 à 19:11:44 Fil de Discussions
En C le switch case ne fonctionne pas avec des char, le test ne s'effectue que sur un entier il me semble...
Répondre à skay

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lami20j, le mardi 29 avril 2008 à 22:40:08 Fil de Discussions 
Salut,

pour l'info

On peut utliser :
- les entiers
- les caractères
- les énumérations

Dans son cas il s'agit d'une énumération 106485010510997108
Répondre à lami20j

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cm-t, le lundi 26 novembre 2007 à 15:51:17 Fil de Discussions
peu etre essay de mettre des break; a chaque nouvelles saison dans ton switch
Répondre à cm-t

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par cm-t, le lundi 26 novembre 2007 à 16:01:33 Fil de Discussions
oué euh, en fait oubli ça.
-_-t
Répondre à cm-t

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Sans pseudo, le lundi 28 janvier 2008 à 18:34:45 Fil de Discussions
Essaye de mettre des "struct" entre "typedef" et "ennum"
Répondre à Sans pseudo
Discussions pertinentes trouvées dans le forum
18/01 04h33[lang C] fonction pour quitter la console??Programmation18/01 10h083
13/05 00h19[langage c] fonction - tableauProgrammation18/10 17h196
08/02 19h45langage C: fonction :aideProgrammation18/03 10h534
14/12 00h07Langage C / Fonction récursiveProgrammation31/03 21h4318
Plus de discussions sur « langage c comment fonction gets?? » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide