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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Auteur Sujet :

[ C ] deux trois questions de newbie...

n°122332
HappyHarry
Posté le 05-04-2002 à 21:27:42  profilanswer
 

Reprise du message précédent :
ben oui ...

mood
Publicité
Posté le 05-04-2002 à 21:27:42  profilanswer
 

n°122333
lorill
Posté le 05-04-2002 à 21:27:44  profilanswer
 

eniac a écrit a écrit :

arf, oui, mais c'est justement le but de ma petite routine de savoir si j'entre bien un chiffre, et sinon, de proposer à l'utilisateur un nouvel essai....
 
pour l'exécution ultérieure de mon programme, j'aimerais m'assurer que l'utilisateur a bien entré un nombre et pas une lettre (si tu entres une lettre à la place d'un chiffre, scanf("%d",&chiffre) plante  :(  




 
Comme te l'as dit le monsieur plus haut, ben tu lis un char et pis comme ca t'es tranquille. Après tu joues avec isdigit(), tu devrais en etre capable, non ?
 
Sinon, juste une petite question en HS : pourquoi tu as peur de pas avoir ton diplome si tu es major de promo ? Ah, on me siffle que c'était juste pour se faire mousser...

n°122336
desb
Posté le 05-04-2002 à 21:39:25  profilanswer
 

Alors la chapeau les gars...
C'est vraiment le forum d'enculés types...
Vous avez raison cous les fous du C, les hackers de première.
Putain vous voulez vous défouler ou koi... Si à votre gout il pose des questions à la con, ben vous y répondez pas...
Moi aussi je suis en prépa, et le début du C j'ai un peu de mal. Si je viens sur ce forum, c'est pour me faciliter la tâche... quoi de plus rebuttant que ces putains de gros livres...
La 3ème question, vu qu'elle fait appel à des notions d'entrée/sortie ben je la trouve pleinement justifiée, et moi non plus je sais pas comment on écrit dans un fichier... Et ca prend trente secondes pour que l'un d'entre vous m'écrive le code demandé... La vous perdez 15 minutes dans vos gamineries...
J'aime bien les remarques du genre :
 
Tanguy : Et tu crois que les gens ont du temps à perdre en répondant à un gugusse qui se donne même pas la peine de lire la documentation qu'on lui indique ?  
ca me fait vomir...  
Qui t'es toi le prof d'info qui ordonne la lecture DU BOUQUIN à sa salle merde délève ?? :fou:  
 
HappyHarry : oui je me rappelle le debutant que j'ai ete, celui qui passait des soirées a lire de la doc quand il avait un gros probleme, pas le genre a venir emm*** le monde avec 3 pov' questions stupides...  
Les questions con t'es pas obligés d'y répondre... Mais bon si ca t'éclates de perdre ton temps...
 
Legreg : bon je cherche pas specialement a envenimer les choses  
mais je pense "sincerement" que tu pars d'un mauvais principe.  
Tu ferais ta remarque dès le début et tu lèverais ce putain de sourire à la con  :lol:  qui fou la merde, ca passe tout de suite !!!
Ta remarque est justifiée et tu fais chier personne, mais SVP arrêtez de prendre les gens de haut !!!!
Je le redis, c'est pareille dans toutes les rubriques, ce forum pu la merde...

n°122339
lorill
Posté le 05-04-2002 à 21:42:34  profilanswer
 

tu crois vraiment que devoir passer par un outil interactif (edit) et donc gerer des relations interprocessus ca sera plus simple que d'ecrire directement dans un fichier ?

n°122340
HappyHarry
Posté le 05-04-2002 à 21:42:39  profilanswer
 

et ben n'y vient pas ... ca fera des vacances a tout le monde ...
 
et pour info, y a un livre tres bien qu'est pas gros du tout, et y a tout ce qu'il faut pour bien debuter dedans ... (Le langage C norme ANSI de Kernighan et Ritchie aux editions Dunod, a peine 250 pages ...)
 
si maintentn lire de la doc c pas ton truc, ben change de branche, t'as rien a faire la

 

[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]

n°122343
lorill
Posté le 05-04-2002 à 21:45:52  profilanswer
 

HappyHarry a écrit a écrit :

 
si maintenant lire de la doc c pas ton truc, ben change de branche, t'as rien a faire la  




 
[+]
 
honnetement, je mate ce forum depuis deux jours seulement, ben ca fait peur, le nombre de questions qui ont leur réponse en premiere page d'un google...

n°122344
HappyHarry
Posté le 05-04-2002 à 21:46:57  profilanswer
 

et je dirais meme plus, qui ont leur reponse 2 ou 3 pages plus bas dans le forum ...

n°122345
desb
Posté le 05-04-2002 à 21:47:09  profilanswer
 

T'inquiètes pas bébé... J'aides facilités... pas besoin de livres... Je suis autodidactes, et oui je m'éloigne des cons qui pense ne rien avoir à apprendre des autres... Retournes regarder ton nombril et ton front boutonneux :) :fuck:

n°122347
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 21:48:06  profilanswer
 

je sens que ça va chauffer :)
 
Faut relativiser, c'est vrai que j'ai pas trop aimé dès le départ qu'on me prenne pour un con qui venait ici en espérant qu'on résolve tous ses problèmes, car c'est tout le contraire, malgré ce que vous avez pensé...
 
C'est l'effet boule de neige.  Y'en a un qui commence à taper, les autres ne se gênent plus... c'est bien connu, avec quelques années d'hardware-fr dans les pattes, on s'habitue.
 
C'est gentil de me rejoindre dans mon combat, mais c'est inutile d'insulter les autres pour leur faire comprendre le message que tu essayes de faire passer.
 
 
Pour revenir dans le sujet, non, je suis incapable de me servir de isdigit().  Je répète encore une fois.  Ce que je veux faire, de la manière la plus simple et la moins sophistiquée possible, c'est simplement une fonction qui me demande une chiffre, qui vérifie si c'est bien un chiffre.  Si non, elle me redemande.
Ma fonction DOIT retourner un ENTIER et pas un char.  
 
A+


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122348
HappyHarry
Posté le 05-04-2002 à 21:48:19  profilanswer
 

oh bien, t'as appris des mots aujourd'hui ? zont bien fait de te laisser sortir de ton centre spécialisé ...

mood
Publicité
Posté le 05-04-2002 à 21:48:19  profilanswer
 

n°122349
desb
Posté le 05-04-2002 à 21:49:59  profilanswer
 

Jarod, c'est moi en personne... :ange:

n°122350
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 21:50:32  profilanswer
 

lorill a écrit a écrit :

tu crois vraiment que devoir passer par un outil interactif (edit) et donc gerer des relations interprocessus ca sera plus simple que d'ecrire directement dans un fichier ?  




 
tu crois vraiment qu'un débutant est sensé savoir le nom des fonctions qui font ça automatiquement, les librairies où ça se trouve, et l'idée principale pour savoir comment ça marche ?


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122351
HappyHarry
Posté le 05-04-2002 à 21:51:32  profilanswer
 

moi j'veux bien rendre service, mais eniac tu admettras toi meem que tu as changé d'attitude depuis tes premiers posts dans ce topic
 
quant a l'autre abruti, puisk'il est si malin, pkoi ne donne t il pas de solution au lieu de venir foutre sa merde et remettre de l'huile sur le feu ? ne contribue-t-il pas a faire de ce forum un 'forum qui pue la merde' ?

n°122352
HappyHarry
Posté le 05-04-2002 à 21:52:19  profilanswer
 

eniac a écrit a écrit :

 
 
tu crois vraiment qu'un débutant est sensé savoir le nom des fonctions qui font ça automatiquement, les librairies où ça se trouve, et l'idée principale pour savoir comment ça marche ?  




 
au risque de me repeter, en general la doc c fait pour ca ...

n°122353
desb
Posté le 05-04-2002 à 21:52:27  profilanswer
 

Et les gars juste par curiosité, vous et toues vos connaissances en C, vous programmez quoi, des IA ??
Des prog de maths ??

n°122354
lorill
Posté le 05-04-2002 à 21:53:25  profilanswer
 

eniac a écrit a écrit :

je sens que ça va chauffer :)
Pour revenir dans le sujet, non, je suis incapable de me servir de isdigit().  Je répète encore une fois.  Ce que je veux faire, de la manière la plus simple et la moins sophistiquée possible, c'est simplement une fonction qui me demande une chiffre, qui vérifie si c'est bien un chiffre.  Si non, elle me redemande.
Ma fonction DOIT retourner un ENTIER et pas un char.  




 
tu sais que :
bon, on va y aller avec les gros sabots :
 
en C, la seule différence entre un int et un char est la taille allouée pour la mémoire : 1 octet pour char et 2 ou 4 selon les implémentations pour int.
 
donc faire  
 
char c = 'a';
int i = c;
 
ne pose pas de probleme...
 
alors tu lis un char (car c'est ce que tu veux, même si tu as pas l'air de t'en rendre compte) et tu le retourne en entier, y'a pas de probleme.
 
si tu veux verifier sans isdigit(), tu regarde le code ascii..
 
if(c>='0' && c<='9';)
 
 
Si la tu y arrives toujours pas, je vois pas ce qu'on peut faire a part te demander ton sujet et faire l'exo a ta place...

n°122355
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 21:54:45  profilanswer
 

J'ai fait un pas pour comprendre votre position.
Seulement pour qu'on se serre la main, il faudrait vous aussi que vous fassiez un pas vers moi.
 
 
Sinon, s'il ne répond pas, c'est sans doute pask'il doit pas s'y connaître beaucoup plus que moi.  Ou bien il a été plus interpellé par votre attitude que par mes questions...  faudrait lui poser la question :)


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122356
lorill
Posté le 05-04-2002 à 21:54:52  profilanswer
 

eniac a écrit a écrit :

 
 
tu crois vraiment qu'un débutant est sensé savoir le nom des fonctions qui font ça automatiquement, les librairies où ça se trouve, et l'idée principale pour savoir comment ça marche ?  




 
non, mais accepter l'idee que se baser sur un autre programme qu'il devra piloter a partir du sien est plus compliqué que de lire un fichier UNE FOIS QU'ON LUI A DIT !

n°122357
lorill
Posté le 05-04-2002 à 21:55:50  profilanswer
 

desb a écrit a écrit :

Et les gars juste par curiosité, vous et toues vos connaissances en C, vous programmez quoi, des IA ??
Des prog de maths ??  




 
Tu rigoles ? On n'a pas que ca a foutre, nous !
On aurait plus le temps pour répondre des conneries sur HFR...

n°122358
HappyHarry
Posté le 05-04-2002 à 21:56:04  profilanswer
 

Citation :

char c = 'a';
int i = c;
 
ne pose pas de probleme...
 
alors tu lis un char (car c'est ce que tu veux, même si tu as pas l'air de t'en rendre compte) et tu le retourne en entier, y'a pas de probleme.
 
si tu veux verifier sans isdigit(), tu regarde le code ascii..
 
if(c>='0' && c<='9';)

 
 
ptet que je m'y suis mal pris , mais il veut pas comprendre pourkoi si  
 
char c='5';
int i = c;
printf("%d",i) affiche 54 ... (pask'il veut faire que ca ...

n°122359
HappyHarry
Posté le 05-04-2002 à 21:57:17  profilanswer
 

desb a écrit a écrit :

Et les gars juste par curiosité, vous et toues vos connaissances en C, vous programmez quoi, des IA ??
Des prog de maths ??  




 
des maths ? sort de ton banc de je ne sais quelle ecole et tu t'apercevras que des progs de maths tu n'as absolument aucune raison d'en faire ...

n°122361
desb
Posté le 05-04-2002 à 21:58:03  profilanswer
 

:pt1cable:  :pt1cable:

n°122362
desb
Posté le 05-04-2002 à 21:59:14  profilanswer
 

T'as quoi comme connaissances en maths pour sortir de telles conneries... Ca prouve bien à quel point tu peux avoir l'esprit fermé !! :sweat:

n°122365
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 21:59:59  profilanswer
 

lorill a écrit a écrit :

 
 
tu sais que :
bon, on va y aller avec les gros sabots :
 
en C, la seule différence entre un int et un char est la taille allouée pour la mémoire : 1 octet pour char et 2 ou 4 selon les implémentations pour int.
 
donc faire  
 
char c = 'a';
int i = c;
 
ne pose pas de probleme...
 
alors tu lis un char (car c'est ce que tu veux, même si tu as pas l'air de t'en rendre compte) et tu le retourne en entier, y'a pas de probleme.
 
si tu veux verifier sans isdigit(), tu regarde le code ascii..
 
if(c>='0' && c<='9';)
 
 
Si la tu y arrives toujours pas, je vois pas ce qu'on peut faire a part te demander ton sujet et faire l'exo a ta place...  




 
oui, d'accord avec ça, mais au début, quand je demande à l'utilisateur d'entrer une valeur chiffrée, je dois lire un char et par un int (pour pas que ça plante si jamais c'est une lettre) alors que je dois à la fin arriver à retourner un int...
Le problème, c'est pas le test, c'est la "conversion"


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122368
HappyHarry
Posté le 05-04-2002 à 22:01:50  profilanswer
 

ben pourkoi tu te sers pas de isdigit ? tu sais pas comment ca marche ? si c le cas, faut inclure ctype.h il me semble

n°122369
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 22:01:57  profilanswer
 

HappyHarry a écrit a écrit :

Citation :

char c = 'a';
int i = c;
 
ne pose pas de probleme...
 
alors tu lis un char (car c'est ce que tu veux, même si tu as pas l'air de t'en rendre compte) et tu le retourne en entier, y'a pas de probleme.
 
si tu veux verifier sans isdigit(), tu regarde le code ascii..
 
if(c>='0' && c<='9';)

 
 
ptet que je m'y suis mal pris , mais il veut pas comprendre pourkoi si  
 
char c='5';
int i = c;
printf("%d",i) affiche 54 ... (pask'il veut faire que ca ...  




 
si, mtnt j'ai capté  :D il a fallu le temps, je sais  :D


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122370
HappyHarry
Posté le 05-04-2002 à 22:02:44  profilanswer
 

eniac a écrit a écrit :

 
 
si, mtnt j'ai capté  :D il a fallu le temps, je sais  :D  




 
autant pour moi, mais t'avais pas repondu a l'epoque de mon post

n°122371
desb
Posté le 05-04-2002 à 22:02:58  profilanswer
 

La ou j'apprend le plus c'est en étudioant des progz bien compliqués ou la tu prend connaissance de l'utilité des fonctions...
Je suis allé sur le site ftp que tu donnais en début, celui de mr cassagne... Et ben c'est top voila encore une floppée de fonction sans application concrêtes...
C'est vraiment top d'avoir la tête pleine...

n°122374
HappyHarry
Posté le 05-04-2002 à 22:03:35  profilanswer
 

desb a écrit a écrit :

T'as quoi comme connaissances en maths pour sortir de telles conneries... Ca prouve bien à quel point tu peux avoir l'esprit fermé !! :sweat:  




 
je n'est pas l'esprit particulierement borné (ptet un peu tetu il est vrai)
mais sauf ton respect, j'ai autre chose a foutre que de me b****er la nouille avec des programmes de maths

 

[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]

n°122375
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 22:03:37  profilanswer
 

HappyHarry a écrit a écrit :

ben pourkoi tu te sers pas de isdigit ? tu sais pas comment ca marche ? si c le cas, faut inclure ctype.h il me semble  




 
tout ce que je sais, c'est que isdigit returns a non-zero value if c is a decimal digit (0 ? 9).
 
c'est bien ctype.h qu'il faut inclure


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122376
lorill
Posté le 05-04-2002 à 22:05:00  profilanswer
 

eniac a écrit a écrit :

 
 
oui, d'accord avec ça, mais au début, quand je demande à l'utilisateur d'entrer une valeur chiffrée, je dois lire un char et par un int (pour pas que ça plante si jamais c'est une lettre) alors que je dois à la fin arriver à retourner un int...
Le problème, c'est pas le test, c'est la "conversion"  




 
super...
alors si le test est correct, un petit :
int plop = c - '0';
 
explication :
un caractere est en fait représenté par son code ASCII.
comme on a de la chance, les caractères 0 à 9 sont contigus.
On peut donc faire la difference de cette manière.
 
Sinon happyharry a cité atoi() précédement...

n°122378
HappyHarry
Posté le 05-04-2002 à 22:05:17  profilanswer
 

ben oui donc tu fais if(!isdigit(c)) --> redemande la saisie
 
la au moins t sur d'avoir un nombre
 
apres tu petes ca dans un char * et tu fais un atoi

 

[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]

n°122380
Eniac
Da Mourfis' King
Posté le 05-04-2002 à 22:07:53  profilanswer
 

je crois que la pièce viens de tomber :)
 
ce coup ci j'ai compris ça devrait aller  
 
Merci beaucoup...  j'espère que je vous ai pas trop épuisé :)


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122381
lorill
Posté le 05-04-2002 à 22:07:55  profilanswer
 

HappyHarry a écrit a écrit :

 
apres tu petes ca dans un char * et tu fais un atoi  




 
ouais, enfin la tu sors quand même le tank pour ecraser une mouche...

n°122383
HappyHarry
Posté le 05-04-2002 à 22:09:33  profilanswer
 

lorill a écrit a écrit :

 
 
ouais, enfin la tu sors quand même le tank pour ecraser une mouche...  




 
j'aime les challenges  :D
et pis il veut absoluement un entier (int donc) ...

 

[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]

n°122385
HappyHarry
Posté le 05-04-2002 à 22:13:03  profilanswer
 

reste plus que les I/O sur les fichiers :)

n°122515
Eniac
Da Mourfis' King
Posté le 06-04-2002 à 12:13:40  profilanswer
 

tu as parlé trop vite...
 
J'ai écrit ça (valable pr un essai slmnt, je ferai bien la boucle après)
 
char *valeur_qcq ;
 int valeur_ch ;
 
 scanf("%c",&valeur_qcq) ;
 if(isdigit(valeur_qcq)!=0)
 { printf("%c est un chiffre.\n",valeur_qcq) ;
  //valeur_ch = atoi(valeur_qcq) ; }
 else
 { printf("%c n'est pas un chiffre.\n",valeur_qcq);
 }

 
Si je tire la ligne rouge, j'ai déjà un problème.  Si j'écris 5 ça va, il me dit que 5 est un chiffre.  Mais si j'écris 60, il m'écrit que 6 est un chiffre.  Idem si j'écris 6abc.  Prq ce  :gun: scanf ne lit que le premier caractère  :??:  
 
Si je rajoute la ligne rouge, ça foire.  Ca compile mais dès que je lance, ça plante (msg : la mémoire ne peut être "read" blablabla )
 
J'en ai marre  :sweat:


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
n°122528
youdontcar​e
Posté le 06-04-2002 à 12:39:38  profilanswer
 

>> Prq ce    scanf ne lit que le premier caractère  
 
parce que c'est ce que tu lui demandes :
 
scanf("%c",&valeur_qcq) ;  
 
%c = un seul caractère (un byte).
 
solution HappyHarry : scanf("%s", tableau) (tableau = char tableau[256] par ex)
 
puis atoi.

n°122546
HappyHarry
Posté le 06-04-2002 à 13:45:03  profilanswer
 

youdontcare a écrit a écrit :

>> Prq ce    scanf ne lit que le premier caractère  
 
parce que c'est ce que tu lui demandes :
 
scanf("%c",&valeur_qcq) ;  
 
%c = un seul caractère (un byte).
 
solution HappyHarry : scanf("%s", tableau) (tableau = char tableau[256] par ex)
 
puis atoi.  




 
en ayant pris soin de verifier que chaque char de ta chaine est bien un chiffre ...
 
ralalalala on en sortira jamais ...

n°122557
Jar Jar
Intaigriste
Posté le 06-04-2002 à 13:59:37  profilanswer
 

Code :
  1. char dassaut;
  2. int egrale;
  3. while(scanf("%c",&dassaut),isdigit(dassaut)==0)
  4.   printf("Je veux un chiffre !\n" );
  5. egrale=dassaut-'0';
  6. printf("chiffre = %d",egrale);


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
n°122561
HappyHarry
Posté le 06-04-2002 à 14:03:12  profilanswer
 

Jar Jar a écrit a écrit :

Code :
  1. char dassaut;
  2. int egrale;
  3. while(scanf("%c",&dassaut),isdigit(dassaut)==0)
  4.   printf("Je veux un chiffre !\n" );
  5. egrale=dassaut-'0';
  6. printf("chiffre = %d",egrale);

 




 
bravo pour les jeux de mots magnifiques jar jar, mais amha il arrivera pas a adapter ca a son cas ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3

Aller à :
Ajouter une réponse
 

Sujets relatifs
Newbie---------> Need help[plus que newbie inside] créer un exe à partir d'un raccourci et autre
QUESTION d'un NEWBIE... Sur code des jeux :)[Java] Problème avec int et Object vi encore une question de newbie :D
[CNAM / informatique / EAD] questions à qui le font / l'ont faitnewbie : comment tracer une grille sous dos en C
Diverses questions hypra importantes en VB[PHP] Plusieurs questions !
[Newbie]Besoin d'aide pour du batch scripting....Quelques petites questions urgentes pour ASP/SQL : Help !
Plus de sujets relatifs à : [ C ] deux trois questions de newbie...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)