Débutante en C - C - Programmation
Marsh Posté le 07-10-2004 à 22:22:56
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 ?
Marsh Posté le 07-10-2004 à 22:25:22
ouputain Taz a pété un cable
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
Marsh Posté le 07-10-2004 à 22:37:39
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);
}
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
Marsh Posté le 07-10-2004 à 22:39:38
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.
Marsh Posté le 07-10-2004 à 22:41:52
Citation : |
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.
Marsh Posté le 07-10-2004 à 22:43:58
Taz a écrit : bongour |
oh my fucking god!
Marsh Posté le 07-10-2004 à 22:44:53
attend, quand tu te pointes avec un pseudo 133+ comme ça ...
Marsh Posté le 07-10-2004 à 22:47:47
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)
Marsh Posté le 07-10-2004 à 22:48:39
i$@ a écrit : |
à savoir '0' et '9' en C dans le texte
Marsh Posté le 07-10-2004 à 22:49:24
#define CHIFFRE(X) (( (x) >= '0' ) && ( (x) <= '9' ) ? true : false )
ca devrait etre ca
Marsh Posté le 07-10-2004 à 22:49:30
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
Marsh Posté le 07-10-2004 à 22:50:05
Taz : je pense que c'est pas le but de 'lexo malheureusement
Marsh Posté le 07-10-2004 à 22:50:37
Joel F a écrit : #define CHIFFRE(X) (( (x) >= '0' ) && ( (x) <= '9' ) ? true : false ) |
allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc
#define CHIFFRE(X) isdigit(X)
Marsh Posté le 07-10-2004 à 22:51:21
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.
Marsh Posté le 07-10-2004 à 22:52:26
ben oui ais là ils DEBUTENT, la quasi totalité touchent à un compilo pr la premiere fois ...
perso moi je ferais comme ça aussi.
Marsh Posté le 07-10-2004 à 22:56:44
ReplyMarsh Posté le 07-10-2004 à 22:57:23
roooo ptain, ce topic, faudrait le mettre en sticky
Marsh Posté le 07-10-2004 à 23:13:18
Taz a écrit : allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc |
suffit de definir deux macros de plus
A+,
Marsh Posté le 07-10-2004 à 23:34:19
Je le crois pas, Taz qui est doux et gentil avec quelqu'un !!!
Marsh Posté le 07-10-2004 à 23:35:52
Rasthor a écrit : Je le crois pas, Taz qui est doux et gentil avec quelqu'un !!! |
[mode=maternelle][section=1]Taz il a une amoureuze[/section][/mode]
Marsh Posté le 08-10-2004 à 00:25:43
Taz a écrit : allez va-t-en y a pas de booléen en C ... et superbe pléonasme ton truc |
et le type _Bool c'est Christophe Lambert en 3D
Marsh Posté le 08-10-2004 à 00:27:58
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
Marsh Posté le 08-10-2004 à 00:32:06
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
Marsh Posté le 08-10-2004 à 00:35:31
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 ...
Marsh Posté le 08-10-2004 à 00:37:11
Il risque d'avoir les bool
(bon, elle était facile celle-là )
Marsh Posté le 08-10-2004 à 00:38:42
Citation : saisit (en utilisant scanf) un texte |
j'en tremble encore
Marsh Posté le 08-10-2004 à 07:28:20
Bon ben voilà, on sait comment poser une question à Taz en C/C++ sans se faire envoyer bouler.
Marsh Posté le 08-10-2004 à 08:33:36
el muchacho a écrit : Bon ben voilà, on sait comment poser une question à Taz en C/C++ sans se faire envoyer bouler. |
C surtout. Si elle avait sorti ses macros pourries avec du c++, Taz aurait été impitoyable.
Marsh Posté le 08-10-2004 à 09:44:31
perduE... reconnaissantE...désespéréE...
Rien que ça suffit
Et puis faut être gentil et ça passe tout seul
Marsh Posté le 08-10-2004 à 09:51:33
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.
Marsh Posté le 08-10-2004 à 09:54:22
Tu oublies débutantE.
Et il faut être gentilLE et ça passe tout seul.
Marsh Posté le 08-10-2004 à 12:20:57
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 ... |
Morceaux cocasses ...
Marsh Posté le 08-10-2004 à 12:59:18
Bonjour les gars
Je bosse tjrs le C et je galère toujours.
A +
Marsh Posté le 07-10-2004 à 22:20:36
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