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

  FORUM HardWare.fr
  Programmation
  C

  Débutante en C

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Débutante en C

n°867563
i$@
Posté le 07-10-2004 à 22:20:36  profilanswer
 

Bonjour tout le monde
Je viens de commencer la programmation en C à l'université et je me sens complètement perdue... On a déjà un premier exo à faire qui n'a pas l'air bien dur, mais pourtant je bloque dessus. Si vous pouviez m'aider je vous en serai très reconnaissante...  :( Je suis un peu désespérée...
 
Voici l'énnoncé:
 
Ecrire un programme qui :  
saisit (en utilisant scanf)  un texte, ligne par ligne,  
remplace dans la ligne chaque lettre par la lettre qui la suit dans l'alphabet (a suit z).  
et chaque chiffre par le chiffre qui le précéde (9 précéde 0).  
puis l'affiche (en utilisant printf) en faisant précéder chaque ligne par son numéro suivi de 2 points (:) et d'un espace.  
On supposera que le nombre maximal des lignes de textes à traiter est de 10, et que le nombre maximal de caractères par ligne est de 80. La fin de ligne est indiquée par \n et la fin de texte par un point (.).  
Indication:  
Une macro qui permet CHIFFRE(X) qui renvoie vrai si X est un CHIFFRE  
Une macro LETTRE_MAJ(X) qui renvoie vrai si X est une lettre majuscule  
Une macro LETTRE_MIN(X) qui renvoie vrai si X est une lettre minuscule  
Une macro LETTRE(X) qui renvoie vrai si X est une lettre  
Une macro SUIVANT(X,INF,SUP) qui donne le suivant de X, si  INF<=X<=SUP  
Une macro PRECEDENT(X,INF,SUP) qui donne le precedent de X, si  INF<=X<=SUP  
Une macro LIRE_LIGNE(X) qui lit une ligne (par scanf) et la stocke sous forme de chaine dans X
 
Merci beaucoup  :jap:  

mood
Publicité
Posté le 07-10-2004 à 22:20:36  profilanswer
 

n°867565
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:21:11  profilanswer
 

bongour :love:

n°867568
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:22:56  profilanswer
 

t'en ai ou de ton programme là ? tu bloques sur quoi ? la structure principale où la transformation à faire sur chaque ligne ?
 
les macros, c'est à tua des les écrire ?

n°867569
Profil sup​primé
Posté le 07-10-2004 à 22:23:20  answer
 
n°867572
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 22:25:22  profilanswer
 

ouputain Taz a pété un cable [:wam]
 
fille + demande réalisation d'exo complet, ca lui a grillé le cerveau :/
 
Isa -> il faut nous dire sur quoi tu as besoin d'aide exactement, la réalisation d'exercices ou de programmes complets est "inderdit" par la charte du forum


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867587
i$@
Posté le 07-10-2004 à 22:37:39  profilanswer
 


 
Merci de m'avoir répondu aussi vite Taz
 
Oui les macros c'est à moi de les écrire.
 
Voilà où j'en suis:
 
#include <stdio.h>
#include <string.h>
 
#define MAX 100
 
 
main()
{
  char text[MAX];
  printf("entrez un texte\n" );
  scanf("%[a-z,A-Z,0-9]40c",text);
  /*remplace(text);*/
  printf("\t Texte entre:\t %40c",text);
}
 
 :sweat:  
 
J'ai écrit une fonction remplace mais je crois que c complètement faux.
Je vous demande pas de m'écrire le programme mais de m'expliquer, si possible... :??:  
 
MErci beaucoup  

n°867594
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:39:38  profilanswer
 

tu veux pas commencer par écrire une par une les macros ? si on te parle de macros (même si les macros c'est sale), c'est pour que tu décomposes le problème.

n°867597
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 22:41:52  profilanswer
 

Citation :


Une macro qui permet CHIFFRE(X) qui renvoie vrai si X est un CHIFFRE  
Une macro LETTRE_MAJ(X) qui renvoie vrai si X est une lettre majuscule  
Une macro LETTRE_MIN(X) qui renvoie vrai si X est une lettre minuscule  
Une macro LETTRE(X) qui renvoie vrai si X est une lettre  
Une macro SUIVANT(X,INF,SUP) qui donne le suivant de X, si  INF<=X<=SUP  
Une macro PRECEDENT(X,INF,SUP) qui donne le precedent de X, si  INF<=X<=SUP  
Une macro LIRE_LIGNE(X) qui lit une ligne (par scanf) et la stocke sous forme de chaine dans X  


 
Je passe sur le fait que des fonctions c'est mieux et que c'est débile de vous faire traavilel comme ça ..
 
Soit :
Pour ttes les macros qui teste les caractéres, je te propose de te documenter sur le code ASCII et de regarder comment les minuscules/majuscules sont différenciées.
 

n°867598
schnapsman​n
Zaford Beeblefect
Posté le 07-10-2004 à 22:43:58  profilanswer
 


oh my fucking god! [:rofl2]


Message édité par schnapsmann le 07-10-2004 à 22:44:40

---------------
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°867599
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:44:53  profilanswer
 

attend, quand tu te pointes avec un pseudo 133+ comme ça ...

mood
Publicité
Posté le 07-10-2004 à 22:44:53  profilanswer
 

n°867604
i$@
Posté le 07-10-2004 à 22:47:47  profilanswer
 

J'ai justement commencé par écrire les macros, mais je pense que c'est faux ce que j'ai écrit... donc si je comprends bien, il faut que je connaisse la table ASCII
 
par exemple pour la macro qui vérifie les chiffres ça s'écrirait comme ça?
 
#define CHIFFRE(X) ((x>=0)&&(x<=9)?true:false)
 
(en remplacant 0 et 9 par leurs code ASCII)

n°867608
schnapsman​n
Zaford Beeblefect
Posté le 07-10-2004 à 22:48:39  profilanswer
 

i$@ a écrit :


(en remplacant 0 et 9 par leurs code ASCII)


à savoir '0' et '9' en C dans le texte  :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°867610
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 22:49:24  profilanswer
 

#define CHIFFRE(X) (( (x) >= '0' ) && ( (x) <= '9' ) ? true : false )
ca devrait etre ca :)

n°867611
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:49:30  profilanswer
 

faut voir ce que tu as comme marge de manoeuvre. Il se trouve dans la bibliothèque standard du C, y a déjà des fonctions pour faire pas mal de trucs
 
http://www.dinkumware.com/manuals/ [...] ctype.html
 
notemment pour déterminer si un caractère représente un chiffre et faire des conversion min/maj_uscules

n°867614
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 22:50:05  profilanswer
 

Taz : je pense que c'est pas le but de 'lexo malheureusement

n°867615
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:50:37  profilanswer
 

Joel F a écrit :

#define CHIFFRE(X) (( (x) >= '0' ) && ( (x) <= '9' ) ? true : false )
ca devrait etre ca :)

allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc :o
 
 
#define CHIFFRE(X) isdigit(X)
 
:P

n°867616
Taz
bisounours-codeur
Posté le 07-10-2004 à 22:51:21  profilanswer
 

Joel F a écrit :

Taz : je pense que c'est pas le but de 'lexo malheureusement

je sais pas, si j'étais prof, c'est des points direct à celui qui réutilise au lieu de réinventer.

n°867620
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 22:52:26  profilanswer
 

ben oui ais là ils DEBUTENT, la quasi totalité touchent à un compilo pr la premiere fois ...
 
perso moi je ferais comme ça aussi.

n°867625
i$@
Posté le 07-10-2004 à 22:55:39  profilanswer
 

Merci à vous tous
Merci pour le lien Taz

n°867630
Joel F
Real men use unique_ptr
Posté le 07-10-2004 à 22:56:44  profilanswer
 

Taz a écrit :

allez va-t-en y a pas de booléen en C


 
le C a 22h du soir c pas ca >.<

n°867631
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-10-2004 à 22:57:23  profilanswer
 

roooo ptain, ce topic, faudrait le mettre en sticky :eek2:


---------------
J'ai un string dans l'array (Paris Hilton)
n°867657
gilou
Modérateur
Modzilla
Posté le 07-10-2004 à 23:13:18  profilanswer
 

Taz a écrit :

allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc :o
 
 
:P


suffit de definir deux macros de plus :whistle:  
A+,


Message édité par gilou le 07-10-2004 à 23:13:30

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°867669
Rasthor
Posté le 07-10-2004 à 23:34:19  profilanswer
 

Je le crois pas, Taz qui est doux et gentil avec quelqu'un !!! :ouch:

n°867672
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 23:35:52  profilanswer
 

Rasthor a écrit :

Je le crois pas, Taz qui est doux et gentil avec quelqu'un !!! :ouch:


[mode=maternelle][section=1]Taz il a une amoureuze[/section][/mode]
 [:cupra]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867702
printf
Baston !
Posté le 08-10-2004 à 00:25:43  profilanswer
 

Taz a écrit :

allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc :o
 
 
#define CHIFFRE(X) isdigit(X)
 
:P


 
et le type _Bool c'est Christophe Lambert en 3D :??:

n°867703
Taz
bisounours-codeur
Posté le 08-10-2004 à 00:27:58  profilanswer
 

ben comme tu vois, c'est du C99, et le milieu scolaire découvre à peine les subtilités de l'ANSI. le _Bool montre bien que c'est un fonctionnalité de démonstration pour le moment.
 
Le C99 c'est bien, mais quand tu débutes, t'as souvent du mal à faire la différence entre extension du compilateur et vraie norme, donc c'est bien de coller à l'ANSI :)

n°867705
printf
Baston !
Posté le 08-10-2004 à 00:32:06  profilanswer
 

D'accord, mais il n'empêche que le C99 est une vraie norme, et que c'est la norme ANSI.
 
 
J'espère qu'ils vont sortir une troisième édition du K&R C99 et Embedded C :(


Message édité par printf le 08-10-2004 à 00:33:38
n°867708
Taz
bisounours-codeur
Posté le 08-10-2004 à 00:35:31  profilanswer
 

tu me feras pas dire le contraire. C'est juste que quand tu découvres qu'il y a une norme, s'il y en a plusieurs ...
 
du reste, imagine la tête de son prof si elle se pointe avec des 'bool' ... déjà que son enseignant est sans doute ignorant de la moitié des fonctions de la bibliothèque standard définies par l'ANSI ...

n°867711
printf
Baston !
Posté le 08-10-2004 à 00:37:11  profilanswer
 

Il risque d'avoir les bool :D
 
 
 
(bon, elle était facile celle-là :o)

n°867712
Taz
bisounours-codeur
Posté le 08-10-2004 à 00:38:42  profilanswer
 

Citation :

saisit (en utilisant scanf)  un texte

j'en tremble encore :/

n°867737
matafan
Posté le 08-10-2004 à 03:20:56  profilanswer
 

OMG

n°867739
el muchach​o
Comfortably Numb
Posté le 08-10-2004 à 07:28:20  profilanswer
 

Bon ben voilà, on sait comment poser une question à Taz en C/C++ sans se faire envoyer bouler. [:ddr555]


Message édité par el muchacho le 08-10-2004 à 07:57:20
n°867750
verdoux
And I'm still waiting
Posté le 08-10-2004 à 08:33:36  profilanswer
 

el muchacho a écrit :

Bon ben voilà, on sait comment poser une question à Taz en C/C++ sans se faire envoyer bouler. [:ddr555]


C surtout. Si elle avait sorti ses macros pourries avec du c++, Taz aurait été impitoyable.

n°867785
Fishes
Posté le 08-10-2004 à 09:44:31  profilanswer
 

perduE... reconnaissantE...désespéréE...  
 
Rien que ça suffit :D
 
Et puis faut être gentil et ça passe tout seul :)
 

n°867786
Lam's
Profil: bas.
Posté le 08-10-2004 à 09:51:33  profilanswer
 

En plus ça marche pour les autres langages:
http://forum.hardware.fr/hardwaref [...] 8501-1.htm
 
Tiens, je vais me créer un multi pour quand j'aurais des questions. :)

n°867788
sircam
I Like Trains
Posté le 08-10-2004 à 09:54:22  profilanswer
 

Tu oublies débutantE.
 
Et il faut être gentilLE et ça passe tout seul.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°867920
Zzozo
Un peu, passionément, à la fol
Posté le 08-10-2004 à 12:20:57  profilanswer
 

Taz a écrit :

tu me feras pas dire le contraire. C'est juste que quand tu découvres qu'il y a une norme, s'il y en a plusieurs ...
 
du reste, imagine la tête de son prof si elle se pointe avec des 'bool' ... déjà que son enseignant est sans doute ignorant de la moitié des fonctions de la bibliothèque standard définies par l'ANSI ...


Morceaux cocasses ... [:joce]

n°867921
pains-aux-​raisins
Fatal error
Posté le 08-10-2004 à 12:24:36  profilanswer
 

printf a été plus rapide que toi :o

n°867945
i$@
Posté le 08-10-2004 à 12:59:18  profilanswer
 

Bonjour les gars  :hello:  
Je bosse tjrs le C et je galère toujours.
A +

n°867952
Fishes
Posté le 08-10-2004 à 13:06:19  profilanswer
 

Quoique pour un premier exo, c'est pas si simple... :)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  Débutante en C

 

Sujets relatifs
ASP debutante lancer .bat[java] [Débutante]JinternalFrame et JOptionPane
[Débutante] Coloration de la barre de défilementutilisation de dynazip32 - débutante-[résolu]
Aidez une débutante à se connecter sur une BD MySql !!!!!! HELPconseiller moi un editeur mysql , simple , enfin pour une débutante!
Aide pour une débutante en prog .NETcoorigez moi svp , pour une debutante en c++ , merci à tous........
[perl - debutante] fseek?aide à une débutante en VB6.0
Plus de sujets relatifs à : Débutante en C


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