Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1707 connectés 

  FORUM HardWare.fr
  Programmation
  C

  question toute simple d'un nioub en la matiere... =)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question toute simple d'un nioub en la matiere... =)

n°802150
sanosuke
JEHUTY
Posté le 21-07-2004 à 16:56:52  profilanswer
 

Salut les gens !!
 
Voila une question toute simple qui risque de faire rire certains et pleurer d'autre..  
Je voudrai savoir commen on fait pour afficher une chaine de caractere qu'on a precedemmen saisie ?
voila mon code (fameux non ?)
 

Code :
  1. #include <stdio.h>
  2. int main()
  3. {
  4.   char name;
  5.   printf("hi mec ! Quel est ton nom ?\n" );
  6.   name = getc( stdin );
  7.   printf("ton nom est %c \n", name);
  8.   system("pause" );
  9.   return 0;
  10. }


 
j'ai cherché la reponse a ma question avan de venir quemander de l'aide ms j'y arrive pa ... j'ai cru comprendre qu'il fallai utiliser %s au lieu de %c ms lorsque j'execute le programme et qu'il en arive a cette ligne ca fe planter le programme :/ je suppose ke ca vien du code ...
Jsui un futur etudiant d'une ecole d'informatique (EPITECH) et je souhaite m'avancer sur le programme qu'ils dispensent .. notamen sur leurs 12h de programmation C par jour pendant 1mois... Dc vouala ! Merci les gens !!   :hello:

mood
Publicité
Posté le 21-07-2004 à 16:56:52  profilanswer
 

n°802156
masklinn
í dag viðrar vel til loftárása
Posté le 21-07-2004 à 16:58:24  profilanswer
 

t'as déclaté name en tant que caractère, une chaine de caractères (string) c'est char *, tableau de chars.
 
Par contre il faudra changer ta fonction de saisie car (si je me souviens bien) getc sert juste à la saisie de caractères uniques


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°802160
lint
O_O
Posté le 21-07-2004 à 16:59:46  profilanswer
 

te fais pas chier avec le C t'en boufferas bien assez en octobre
profite de tes vacances


---------------
\@/
n°802164
sanosuke
JEHUTY
Posté le 21-07-2004 à 17:02:55  profilanswer
 

arf scuse masklinn G pa compri gd chose a propos du tableau ... :/ ms bon .. merci de m'avoir mi sur la voie =)
 
Lint -> Tu la connai comme ecole ? Si oui es ce ke ce k'on ma di dessus es vrai (genre ta pa un momen de repis et presk pa de vie social ....)

n°802165
masklinn
í dag viðrar vel til loftárása
Posté le 21-07-2004 à 17:04:44  profilanswer
 

char c -> stocke 1 caractère
char c[15] -> tableau de 15 caractères, donc chaîne de 15 caractères max
char * c -> pointeur sur un caractère, en effectuant des allocations mémoires ca sert de chaîne de caractères de longueur variable (ou tout du moins non définie à l'origine)
 
documentes toi sur les chaines de caractère/strings en C


Message édité par masklinn le 21-07-2004 à 17:05:37

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°802172
lolofora
Posté le 21-07-2004 à 17:08:00  profilanswer
 

sanosuke a écrit :


 
Jsui un futur etudiant d'une ecole d'informatique (EPITECH) et je souhaite m'avancer sur le programme qu'ils dispensent .. notamen sur leurs 12h de programmation C par jour pendant 1mois... Dc vouala ! Merci les gens !!   :hello:


 
Ils t'ont offerts une corde a ton inscription j'espère, pk déjà 6 heures de C dans la semaine çà te gave bien !!!

n°802176
masklinn
í dag viðrar vel til loftárása
Posté le 21-07-2004 à 17:11:57  profilanswer
 

lolofora a écrit :

Ils t'ont offerts une corde a ton inscription j'espère, pk déjà 6 heures de C dans la semaine çà te gave bien !!!


[troll]http://www.mangaclub.ch/urd/ebichuley/avatars/ebichu054.jpg
ca pourrait être pire, ca pourrait être du java[/troll]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°802192
lint
O_O
Posté le 21-07-2004 à 17:19:18  profilanswer
 

sanosuke a écrit :

arf scuse masklinn G pa compri gd chose a propos du tableau ... :/ ms bon .. merci de m'avoir mi sur la voie =)
 
Lint -> Tu la connai comme ecole ? Si oui es ce ke ce k'on ma di dessus es vrai (genre ta pa un momen de repis et presk pa de vie social ....)

je sais pas il parait qu'ils se sont calmés sur le programme cette année
m'enfin t'inquiète t'auras quand meme du taf
si tu veux t'occuper pendant tes vacances installe toi une debian  [:chacal_one333] (www.debian.org + http://people.via.ecp.fr/~alexis/f [...] inux.html)


---------------
\@/
n°815272
BoB_le_Pan​da
Posté le 04-08-2004 à 20:35:36  profilanswer
 

hey moi ossi je rentre a epitech tu t'appelles comment sanosuke? Moi aussi donc j'apprends le C pendant les vacances avant de devoir affronter la piscine :|( C cool on va pouvoir s'entraider sur ce forum =)) Je voudrais savoir quel bouquin t'as acheté pour le C moi perso g " Le Langage C (Tony Zhang)" de la collection "tout en poche" éditions CampusPress. Je c pas si qqn le connaît j'aimerais savoir si il est bien, si yen a des mieux que les autres et si oui lesquels. On t'en a conseillé un spécial sanosuke?
PS: Euh en ce qui concerne l'EPITECH on m'a dit que c'était minimum 15h/jour pendant la piscine... dc attends-toi a encore un peu plus de taf ke ce que tu imaginais :s ( à mon avis ^^ )

n°815302
Taz
bisounours-codeur
Posté le 04-08-2004 à 21:43:34  profilanswer
 

« " Le Langage C (Tony Zhang)" de la collection "tout en poche" éditions CampusPress. »
 
 
vomitif. si vous savez pas programmer, tapez vous le "apprendre à programmer avec python" de Swimmen

mood
Publicité
Posté le 04-08-2004 à 21:43:34  profilanswer
 

n°815340
Sve@r
Posté le 04-08-2004 à 22:22:48  profilanswer
 

Certains ici vont te "mettre sur la voie" en te donnant des semi-infos
Voici ton code rectifié
 

Code :
  1. #include <stdio.h>
  2. int main()
  3. {
  4.   char name[15];
  5. /* Tu as ici un tableau "name" de 15 caractères*/
  6. /* Tu peux stocker 14 caractères significatifs */
  7. /* Le dernier caractère est réservé pour le '\0' final */
  8.   printf("hi mec ! Quel est ton nom ?\n" );
  9.   scanf("%s", name);
  10.   /* Tu fais saisir une chaîne que tu stockes dans "name"
  11.      Je sais, le "scanf %s" va faire hurler "taz" mais le jour où il  
  12.      arrivera à se mettre dans la peau du débutant il aura alors
  13.      certainement un peu évolué !!! */
  14.   printf("ton nom est %s \n", name);
  15.   /* Il faut un "%s" à "printf" pour qu'il sache qu'il s'agit  
  16.      d'une chaîne */
  17.   system("pause" );
  18. /* pause inutile puisque le pgm s'arrête après */
  19.   return 0;
  20. }


 


Message édité par Sve@r le 04-08-2004 à 22:25:24

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°815344
Taz
bisounours-codeur
Posté le 04-08-2004 à 22:24:44  profilanswer
 

scanf("%s", name);  
 
 
fgets(name, sizeof name, stdin); :o

n°815348
Sve@r
Posté le 04-08-2004 à 22:27:40  profilanswer
 

Taz a écrit :

scanf("%s", name);  
 
 
fgets(name, sizeof name, stdin); :o


 
Et si "name" est déclaré en "char *" (par exemple s'il est alloué dynamiquement avec "malloc" ), sizeof(name) donne "2"
Bravo le pro !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°815353
Taz
bisounours-codeur
Posté le 04-08-2004 à 22:30:21  profilanswer
 

déjà je doute que tu aies un processeur 16bits, d'autre part, faut pas me prendre pour un con. Me prends pas la tête avec tes conneries, tu viens de fournir un code pourri et dangereux alors tes considérations à la con dont se fou le débutant qui est a des années-lumières des pointeurs et années lumières ...
surtout que je suis sur que toi meme tu patauge allègrement entre pointeurs et tableau.

n°815354
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-08-2004 à 22:30:28  profilanswer
 

Sve@r a écrit :

Et si "name" est déclaré en "char *" (par exemple s'il est alloué dynamiquement avec "malloc" ), sizeof(name) donne "2"
Bravo le pro !!!


euh, tu viens de te louper royalement là !!!
dans un tableau alloué statiquement, char[] représente un pointeur sur le 1er caractère, tout comme char * en cas d'allocation dynamique !!


---------------
J'ai un string dans l'array (Paris Hilton)
n°815356
Sve@r
Posté le 04-08-2004 à 22:31:27  profilanswer
 

Et un pointeur a une taille de 2 octets !


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°815358
darkoli
Le Petit Dinosaure Bleu
Posté le 04-08-2004 à 22:31:48  profilanswer
 

Sve@r a écrit :

Et si "name" est déclaré en "char *" (par exemple s'il est alloué dynamiquement avec "malloc" ), sizeof(name) donne "2"
Bravo le pro !!!

Les pointeur sont plutôt sur 4 octets je crois. :D
 
Mais en fait sizeof(name) marche bien avec les chaînes allouées dynamiquement ! => Non c'était une blague  :cry: :smiley_du_gars_qui_dit_des_conneries_et_qui_va_se_coucher:


Message édité par darkoli le 04-08-2004 à 22:40:00

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°815362
Taz
bisounours-codeur
Posté le 04-08-2004 à 22:33:04  profilanswer
 

bon alors on reprendre.
 
- un pointeur a une taille dépendante du système
- sizeof variable mais sizeof(Type)
- ici name est un tableau, y a rien à dire, mon exemple est canonique

n°815365
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-08-2004 à 22:34:28  profilanswer
 

Sve@r a écrit :

Et un pointeur a une taille de 2 octets !

tu codes en 16 bits toi ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°815366
schnapsman​n
Zaford Beeblefect
Posté le 04-08-2004 à 22:35:31  profilanswer
 

Sve@r a écrit :

Et un pointeur a une taille de 2 octets !


 
te laisse pas faire! harko et taz ne sont que deux gros nioubes :o


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°815369
Sve@r
Posté le 04-08-2004 à 22:39:00  profilanswer
 

Mais il a raison... sur unix un ptr a généralement une taille de 4 octets ! J'ai été trop vite sans vérifier
De toute façon Taz est trop vulgaire dans ses réponses. Il a oublié qu'avant d'être aussi connaisseur du langage il a galéré comme les autres !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°815372
Taz
bisounours-codeur
Posté le 04-08-2004 à 22:40:43  profilanswer
 

très peux à voir avec le système d'exploitation. en général taille pointeur == taille mot.
 
 
j'ai rien oublié du tout. seulement quand je savais pas, je fermais ma gueule et j'écoutais Musaran

n°815374
darkoli
Le Petit Dinosaure Bleu
Posté le 04-08-2004 à 22:42:33  profilanswer
 

lolofora a écrit :

Ils t'ont offerts une corde a ton inscription j'espère, pk déjà 6 heures de C dans la semaine çà te gave bien !!!

J'en fait 35h par semaine au boulot (enfin je ne compte pas les heures supplémentaires) et un peu chez moi et je me porte bien. :D Mais c'est vrai que en faire 12h par jour quand tu n'y connais rien ça doit être horrible. Et c'est sûrement la meilleure façon de dégouter les gens du C.


Message édité par darkoli le 04-08-2004 à 22:43:15

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
n°838885
Hurric'
Posté le 01-09-2004 à 17:02:05  profilanswer
 

[citation=815374,0,23] Mais c'est vrai que en faire 12h par jour quand tu n'y connais rien ça doit être horrible. Et c'est sûrement la meilleure façon de dégouter les gens du C.
[/citation]
je confirme...c tres degoutant quand on connait pas et je fais des erreurs de newbie que je ferais pas avec java (<mode troll on> que c tout bien le java< mode troll off> )...faut dire je dois modifier un logiciel réseau en C et je m'y connais pas en C...j'ai deja posté pour un probleme mais je crois que je v reposter pour un probleme de processus avec la fonction execl...j'aurais bien rechercher sur le forum mais c en maintenance


Message édité par Hurric' le 01-09-2004 à 17:02:52
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  question toute simple d'un nioub en la matiere... =)

 

Sujets relatifs
[jsp]ptite question en rapport avec les pop upQuestion bete sur les frame
[js]modification toute simple:affichage dans une frame[Question tordu] Comment détecter une coupure de courant sur portable?
question de style (wxwidgets/winxp)[XPATH] question facile pour les connaisseurs
Question sur vb1Question a la con...
Faire un programme simple en c++Concatenation super simple de chaine de caractere
Plus de sujets relatifs à : question toute simple d'un nioub en la matiere... =)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR