C++

jims cam Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour ,
je viens de telecharger un compilateur de c++ (le Dev c++).
j'ai un livre du langage que je viens d'acheter mais,j'ai besoins d'une initiation au langage.Avec le livre seulement,je ne peux pas comprendre.
Je veux par exemple que vous me fassiez le programme de: V=pi*r^2*h tout en m'expliquant comment on doit declarer.
V=volume du cylindre
Pi=3.14
r=rayon
h=hauteur
Salut.
jims cam.

5 réponses

jims cam Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,
j'ai fait ce petit programme par exemple.
/* Calcul de l'aire d'un triangle equilateral*/

#include <stdio.h> (a)
#include <math.h> (b)
int main( ) (c)
{
double s, (d)
cote =15.0,
hauteur =10.0;
/*Notons s la surface*/
s=0,433*cote*cote;
printf("s:%f\n",s); (f)
return 0;
}

je n'ai pas compris les lignes a,b.c,d et f .J'ai compilé mon programme mais je veux afficher le resultat 97,425.
Salut .
jims cam
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

si mamiemando était là t'avais sûrement une réponse de sa part.

Je vais essayer de repondre à tes questions - si jamais je me trompe, corrige moi Miss ;)

#include <stdio.h> (a)
#include <math.h> (b)


La directive #include a le rôle de modifier le fichier source avant la compilation.
Les fichiers utiliser par cette directive sont des fichiers qui contient des declarations des constantes, variables et/ou fonctions.

En bref stdio.h et math.h sont des fichiers se trouvant sur ton disque et qui sont nécessaires pour la compilation de ton code source.

int main( ) (c)


c'est le bloc principal du ton code source

La structure d'un programme

Bloc main
L'en-tête du bloc
Déclaration des variables
Instructions
Fin Bloc

double s, (d)

c'est une déclaration de variable de type double
la variable est un conteneur mémoir
double c'est un type réel - valeur comprise dans l'intervalle cpptype

printf("s:%f\n",s); (f)

c'est un affichage formaté (la fonction printf est conçue pour ça)

Dans ton cas printf va afficher la valeur contenu par la variable s en utilisant le format %f ( réel à 6 décimales) et ensuite un saut de ligne \n

lami20j
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Ah oui j'étais en week-end mais me revoici :-) Voici une première version en c++ :
#include <iostream>
const double pi = 3.141592;

int main(){
  double r,h,v;
  std::cout << "R=";
  std::cin >> r;
  std::cout << "h=";
  std::cin >> h;  
  v =  (pi * r * r * h);
  std::cout << " V = Pi * R^2 * h = " << v << std::endl;
  //getchar(); // si tu es sous windows
  return 0;
}

On inclue iostream (et pas iostream.h) pour lire et et écrire sur la console. Notamment l'entrée standard cin (dans le namespace std), pour lire ce qu'on tape, et la sortie standard cout (namspace std), pour écrire les messages, seront utilisées. Par la suite on les appelera std::cin et std::cout.

Ensuite on déclare la fonction main appelée au lancement du programme c++. Pour être standard elle est sensée retourner un code d'erreur entier et 0 si tout va bien. Les opérateurs << et >> servent respectivement à lire l'entrée standard et écrire sur la sortie standard. Enfin std::endl sert à faire un retour à la ligne.

Note que sous windows on rajoute un getchar car sinon la console est tuée dès la fin du programme si tu lance l'exécutable depuis l'explorateur windows.

2ème version, en C
#include <stdio.h>
const double pi = 3.141592;

int main(){
  double r,h,v;
  printf("R=");
  scanf("%lf",&r);
  printf("h=");
  scanf("%lf",&h);  
  v =  (pi * r * r * h);
  printf("V = Pi * R^2 * h = %lf\n",v);
  //getchar(); // si tu es sous windows
  return 0;
}

Pour les commentaires je suis d'accord mais à mon avis le #include <math.h> ne sert à rien.

Bonne chance
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut et bon retour,


Ah oui j'étais en week-end mais me revoici

On n'a pas eu tous la chance d'avoir un long week end ;) Tant mieux pour ceux qui ont eu. :-)

Pour les commentaires je suis d'accord mais à mon avis le #include <math.h> ne sert à rien

je suis d'accord avec toi. je ne suis pas entré dans des détails (mon niveau en C et C++ est assez bas), j'ai seulement presenté un point du vue général.

Et puisque je suis là, je t'invite de regarder ça si tu ne l'as déjà fait ;)
syntaxe de la fonction ereg#3

lami20j

P.S. Et merci pour les explications
0
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Hey mais c'est déjà fait depuis un moment que j'ai lu tes explications ;-) En ce moment je fais que ça des expressions régulières ! Sinon le week-end, bien que pluvieux, était très sympa :p
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Hey mais c'est déjà fait depuis un moment que j'ai lu tes explications ;-) En ce moment je fais que ça des expressions régulières

Ca fait plaisir de l'entendre. Je fait pareil avec les thread C et C++.
D'ailleurs je suis en train de penser à un tuto en plusieurs parties ( les métacaractères, les classes de caractères, les métasymboles, les moteurs) concernant les regex.

Ca sera plutôt quelque chose de genre Précis et concis [en fait Précis et concis++ ;) ]

Si les tutos ne trouveront pas leur place dans la FAQ et ça va t'interesser tu pourras faire un signe ;)

lami20j
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Pour moi pas de problème du moment que c'est dans l'un de ces domaines : C/C++/linux/réseaux... et que les gens prennent le temps de les lire :p

Je pense que l'idée est bonne mais qu'il va falloir soit s'orienter vers un truc genre wiki, soit avoir la possibilité de faire des regroupements de tutoriels plus fins que ceux proposés (programmation linux etc....
Par exemple :
linux
- administration réseau
  - mise en place d'un réseau
    - configuration d'un réseau ethernet
    - configuration d'un réseau wifi
      - carte prise en charge par le noyau
      - carte prise en charge par un drivers linux
      - ndiswrapper
  - partage de fichier
    - ssh
    - ftp
    - nfs
    - samba
- administration système
...

Tu vois le genre ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Tu vois le genre ?

Oui et je suis d'accord avec toi ;)

lami20j
0