debutant - exercices

debutant - exercices - C++ - Programmation

Marsh Posté le 31-10-2003 à 20:45:10    

voila j'essaie d'apprendre le c++ a partir du net et du livre : Le langage C++ de " Le tout en poche" mais je n'ai pas d'idee, je ne sais pas quoi faire pour m'exercer ?
 
pour le moment, j'ai fais la parti C, je ne me suis pas encore aventure dans les classes et autres...

Reply

Marsh Posté le 31-10-2003 à 20:45:10   

Reply

Marsh Posté le 31-10-2003 à 21:27:00    

un jeu 3d?!
 
 
 
 
 
 
-->[]

Reply

Marsh Posté le 31-10-2003 à 21:42:02    

non serieusement essaie dabord des trucs tout simples :  
 
cacculer la somme de x entiers
rentrez un chaine de caracteres la mettre en majuscules lafficher...
 
 
apres tu pourra essayer un jeu peut etre moi c comme ca que jai appris (pong en 2d ascii par exemple)

Reply

Marsh Posté le 01-11-2003 à 13:56:50    

pour transformer les minuscules en majucules il y a des fonctions speciales?
ou je peux trouver toutes les fonctions du c/c++ ?

Reply

Marsh Posté le 01-11-2003 à 14:36:45    

oui il existe ms tu peux te la creer ta fonction  
en ajoutant x à un char pour passer d'un a à A
x vaudra :
 

Code :
  1. int x
  2. x = 'A' - 'a';


dc par exemple pour passer de d à D tu fais  
'a' + x
 
bien entendu une fonction est bien plus élégant :

Code :
  1. void convert_cap (char *lettre)
  2. {
  3.    int x
  4.    x = 'A' - 'a';
  5.    *lettre = *lettre + x
  6. }


la transmission se fait par adresse la pour du C sinon tu fais ca par déférencement ....

Reply

Marsh Posté le 01-11-2003 à 15:46:38    

et la vrai fonction c'est quoi?

Reply

Marsh Posté le 01-11-2003 à 16:12:12    

pourquoi veut tu la vrai fonction ?
comment on ne la connait et que c facile a programmer, on se la fait ....
pourquoi tient tu absolumment à la programmer ....
 
c justement un tres bon entrainement à reprogrammer des fonctions .....
 
 
qd j'ai debuter le c++, on m'avait pas montrer string, ce n'est que par la suite. cela m'a permit ainsi de revoir les pointeur ...

Reply

Marsh Posté le 01-11-2003 à 16:25:29    

weed a écrit :


 
bien entendu une fonction est bien plus élégant :

Code :
  1. void convert_cap (char *lettre)
  2. {
  3.    int x
  4.    x = 'A' - 'a';
  5.    *lettre = *lettre + x
  6. }


la transmission se fait par adresse la pour du C sinon tu fais ca par déférencement ....


 
L'intêret de pas reprogrammer chaque fonction est d'être sur de ne pas se planter.
D'ailleurs ta fonction est nulle, comparée à toupper()

Reply

Marsh Posté le 01-11-2003 à 17:49:49    

sinon, vous utilisez une EDI sous windows?
 
ou on peut trouver les fonctions du cpp ?

Reply

Marsh Posté le 02-11-2003 à 20:47:19    

leneuf22 a écrit :


D'ailleurs ta fonction est nulle, comparée à toupper()


 
Qui parle de comparer? Le but c'est que dRfEll s'entraine!

Reply

Marsh Posté le 02-11-2003 à 20:47:19   

Reply

Marsh Posté le 02-11-2003 à 20:49:31    

Relis le topic.
On parlait de prendre une chaîne de caractères et l'afficher en majuscules.
Et un bon conseil, mieux vaut ne pas utiliser la fonction ci-dessus pour faire ça !

Reply

Marsh Posté le 02-11-2003 à 20:52:57    

Ouais, je sais qu'il a demandé explicitement la fonction mais le topic s'intitule "exercices" alors c'est juste que c'était une bonne occasion, c'est tout...
 
Je suis d'accord avec toi leneuf22 sur le fait qu'il vaut mieux, quand on veut faire un programme sérieux, utiliser de préférence la fonction de la librairie; Mais dans ce cas précis, c'est quoi le probleme? Cette fonction marche, non?

Reply

Marsh Posté le 03-11-2003 à 22:57:44    

pourquoi l'epita programme pas mal de fonctions ?
 
et bien c'est pour s'entrainer  
 
sinon utiliser ds ce cas la fonction deja fourni je vois pas du tout l'interet de programmer un prog qui transformer de minuscule en majuscule ....  

Reply

Marsh Posté le 03-11-2003 à 23:42:14    

J'ai jamais fait de C, mais ça à l'air marrant.
Pourquoi vous utilisez une variable passée par référence (mise à part que c'est soit disant plus rapide, je trouve ça bien plus goret, d'autant plus qu'on ne peut du coup pas conserver la chaîne avant/après)
 
Ca marche pas ça ?
 

Code :
  1. char convert_cap (char lettre)
  2. {
  3.     return (lettre >= 'a' && lettre <= 'z')?'A' - 'a':lettre;
  4. }


Message édité par MagicBuzz le 03-11-2003 à 23:43:15
Reply

Marsh Posté le 03-11-2003 à 23:46:22    

Heureusement pour vous que Taz n'est plus là :D
 
MagicBuzz > le truc avec la belle étoile "*" c'est pas un passage par référence hein :o C'est que tu reçois une valeur de type "pointeur"... Tu passes juste la valeur de l'adresse de la valeur (:D) plutôt que de passer la valeur directement (en C y a que le passage par valeur, en C++ y a aussi le passage par référence)


Message édité par antp le 03-11-2003 à 23:48:01

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 03-11-2003 à 23:52:05    

pq ?
euh non c'est pas par reference que j'ai passé, j'ai passé par adresse ....
 
si je me souviens bien en c++ par reference il faut mettre un &.
 
euhh magicbull, ouia ca a l'air bien mieux ton truc ... surtout que l'on peut réutiliser la variable et dc eviter de redeclarer une variable ...  
lettre = convert_cap ( lettre );

Reply

Marsh Posté le 03-11-2003 à 23:53:29    

arf antp tu as dégainné plus rapidemment que moi


Message édité par weed le 03-11-2003 à 23:53:46
Reply

Marsh Posté le 03-11-2003 à 23:56:54    

MagicBuzz, je comprends pas trop ton prog  
 
si lettre est une minuscule  
  renvoi A - a  
sinon  
  renvoi lettre  
 
 
si tu renvoi A - a, c'est pas bon ....  
il faut faire plutot  : lettre + (A - a)
 
je crois mais je pas sur ...


Message édité par weed le 03-11-2003 à 23:57:12
Reply

Marsh Posté le 04-11-2003 à 00:01:37    

weed a écrit :

MagicBuzz, je comprends pas trop ton prog  
 
si lettre est une minuscule  
  renvoi A - a  
sinon  
  renvoi lettre  
 
 
si tu renvoi A - a, c'est pas bon ....  
il faut faire plutot  : lettre + (A - a)
 
je crois mais je pas sur ...


arf, oui ! :D
 
mise à part cette connerie, ça marche ou pas mon truc ? :D


Message édité par MagicBuzz le 04-11-2003 à 00:01:47
Reply

Marsh Posté le 04-11-2003 à 00:03:26    

si le code ascii du caractère passé en argument est compris entre le code ascii de a minuscule et celui de z minuscule alors on ajoute au code ascii du caractère la différence entre le code acsii de a minuscule et le code ascii de A majuscule, sinon on laisse le caractère inchangé.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-11-2003 à 00:03:40    

antp a écrit :

Heureusement pour vous que Taz n'est plus là :D
 
MagicBuzz > le truc avec la belle étoile "*" c'est pas un passage par référence hein :o C'est que tu reçois une valeur de type "pointeur"... Tu passes juste la valeur de l'adresse de la valeur (:D) plutôt que de passer la valeur directement (en C y a que le passage par valeur, en C++ y a aussi le passage par référence)


Bah ça reviens au passage par référence, puisque tu modifie en live la variable.
 
D'autant plus que le passage par référence ça reviens ni plus ni moins à passer en paramètre l'adresse de la variable, pour bosser dessus directement plutôt que bosser sur sa valeur en local ;)

Reply

Marsh Posté le 04-11-2003 à 00:05:13    

MagicBuzz a écrit :


arf, oui ! :D
 
mise à part cette connerie, ça marche ou pas mon truc ? :D

si on oublie les accents et autres ornementations de lettre, et qu'on se restreint à l'ascii ça fonctionne.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 04-11-2003 à 00:08:55    

MagicBuzz a écrit :


Bah ça reviens au passage par référence, puisque tu modifie en live la variable.
 
D'autant plus que le passage par référence ça reviens ni plus ni moins à passer en paramètre l'adresse de la variable, pour bosser dessus directement plutôt que bosser sur sa valeur en local ;)


oui c'est la meme chose  
=> par adresse => C
=> par reference => C++
 
le C++ est simplement est seulement une couche en plus sur le C. on y ajouter la reference pour eviter d'utiliser les pointeurs ...
c juste pour simplifier le programmeur ....
 

Reply

Marsh Posté le 04-11-2003 à 00:09:17    

nraynaud a écrit :

si on oublie les accents et autres ornementations de lettre, et qu'on se restreint à l'ascii ça fonctionne.


ok, donc ça fonctionne :D

Reply

Marsh Posté le 04-11-2003 à 00:56:26    

weed a écrit :


oui c'est la meme chose  
=> par adresse => C
=> par reference => C++
 
le C++ est simplement est seulement une couche en plus sur le C. on y ajouter la reference pour eviter d'utiliser les pointeurs ...
c juste pour simplifier le programmeur ....


 
 :heink:  :pfff:  
 
Rendez nous Taz et son mojo avec ! :D


Message édité par theshockwave le 04-11-2003 à 00:57:56
Reply

Marsh Posté le 04-11-2003 à 06:42:28    

theShOcKwAvE a écrit :


Rendez nous Taz et son mojo avec ! :D


 
Ah non pitié!  :lol:

Reply

Marsh Posté le 04-11-2003 à 09:36:25    

weed a écrit :


=> par adresse => C
 


 
Le C ne passe pas par adresse, il ne passe que par valeur, du coup faut passer la valeur de l'adresse pour pouvoir modifier la valeur...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-11-2003 à 09:47:58    

antp a écrit :


 
Le C ne passe pas par adresse, il ne passe que par valeur, du coup faut passer la valeur de l'adresse pour pouvoir modifier la valeur...


 
 :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed