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

  FORUM HardWare.fr
  Programmation
  C++

  Besoin d'aide pour un petit prog!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide pour un petit prog!

n°1235595
St4tiC
Posté le 01-11-2005 à 12:59:30  profilanswer
 

Voila, je suis en 1ere année de DUT STID et je ne comprend pas un exo en raison de mon absence au dernier TP de programmation.
Je comprend à peu près bien les bases avec les si...mais j'avoue être pommé pour les prog comportant des sous-programmes malgré que je les comprenne en algo.. Bref, un peu d'aide serait vraiment la bienvenue (surtout un exemple il me faudrait en fait pour que je puisse faire l'exercice 4 qui est du même genre.
 
Voici l'énoncé :
 
Exercice 3 :
Il existe en C++ un certain nombre de fonctions prédéfinies (c'est-à-dire prêtes à être utilisées). Pour utiliser une telle fonction , il faut connaître la librairie dans laquelle elle est définie et compléter la partie « Librairies » du programme
Ainsi , la fonction prédéfinie sqrt( ?) nécessite l’utilisation de la librairie math.h
Cette fonction calcule la racine carrée du nombre passé en paramètre.  
Ecrivez un programme permettant de demander un nombre à l’utilisateur puis d’afficher sa racine carrée.
Dans combien de cas devez-vous tester pour ce programme ? Faites le.
 
Le programme est à faire sous VB C++ 6,0 (et oui, malgré les nouveaux PC, ils restent sur de vieilles versions...) et doit apparaitre sous cette forme :
 
// Les librairies
#incluse <iostream.h>
 
// Les prototypes des fonctions
 
// Le programme principal
void main ()
{
                       // Déclaration des variables
 
         // Message indiquant ce que fait le programme
 
         // Les instructions du programme principal
 
}
 
// Définition des fonctions


Message édité par St4tiC le 01-11-2005 à 15:27:52
mood
Publicité
Posté le 01-11-2005 à 12:59:30  profilanswer
 

n°1235598
betsamee
Asterisk Zeperyl
Posté le 01-11-2005 à 13:00:42  profilanswer
 

quel est le probleme? [:petrus75]
ou est le code que tu as deja pondu?

n°1235601
Mackila
Posté le 01-11-2005 à 13:03:20  profilanswer
 

betsamee a écrit :

quel est le probleme? [:petrus75]
ou est le code que tu as deja pondu?


 
#incluse <iostream.h> c'est peut etre déja un probleme ?  [:petrus75]

n°1235603
betsamee
Asterisk Zeperyl
Posté le 01-11-2005 à 13:05:14  profilanswer
 

[:pingouino]

n°1235605
St4tiC
Posté le 01-11-2005 à 13:05:34  profilanswer
 

Le problème est que vu que je n'étais pas là lors du cours en progra sur les sous-prog (ce n'est que le 2e cours que j'ai eu en tout donc mon niveau n'est pas vraiment élevé..), je n'arrive pas à faire quoi que ce soit là (pour les exos 1 et 2 j'ai fait les algo et l'analyse du problème mais là il ne faut faire que le prog et vu que je nai aucun exemple...)
 
Je dois aussi préciser que mon PC portable sur lequel est installe Visual 6,0 ne démarreplus donc c'est vraiment la galère :(


Message édité par St4tiC le 01-11-2005 à 13:11:12
n°1235671
gocho
Posté le 01-11-2005 à 14:32:01  profilanswer
 

balance ton algo deja on peut en tirer quelque chose et on pourra apres cela t'orienter ;-)

n°1235730
St4tiC
Posté le 01-11-2005 à 15:35:47  profilanswer
 

Voici mon algo :
 
AlgoEx3CPP;
 
VAR
nb,resultat:reel;
 
DEBUT
Ecrire ('Ce programme sert à calculer la racine carré d'un nombre donné');
Ecrire ('Saisissez le nombre dont vous souhaitez connaître la racine carré');
Lire (nb);
resultat<-------- F_sqrt(nb);
Ecrire ('La racine carré de',(nb),'est',(resultat);
FIN.


Message édité par St4tiC le 01-11-2005 à 17:26:45
n°1235785
St4tiC
Posté le 01-11-2005 à 17:27:03  profilanswer
 

Alors personne pour m'aider?

n°1235945
rnoizet
Posté le 01-11-2005 à 21:22:03  profilanswer
 

(Les gens te parlent plus parce que t'as pas mis de test en cas d'entrée d'un nombre négatif.)
 :sarcastic:

Message cité 1 fois
Message édité par rnoizet le 01-11-2005 à 21:42:05
n°1235966
St4tiC
Posté le 01-11-2005 à 21:58:01  profilanswer
 

rnoizet a écrit :

(Les gens te parlent plus parce que t'as pas mis de test en cas d'entrée d'un nombre négatif.)
 :sarcastic:


 
Sinon le reste est bon?
J'ai été voir sur diférents sites et je crois avoir compris.

mood
Publicité
Posté le 01-11-2005 à 21:58:01  profilanswer
 

n°1235967
moi23372
Posté le 01-11-2005 à 21:58:43  profilanswer
 

perso je trouve ça débile de faire ça en C++. Il y a rien d'orienté objet la dedans, donc pour moi autant le faire en C..
 
Niveau algo, c'est pas mal. Mais teste si la valeur entrée est négative...  
 

Code :
  1. #include <math.h>
  2. #include <iostream.h>
  3. void main
  4. {
  5.    int val;
  6.    do
  7.    {
  8.       cout << "Entrer un nombre: ";
  9.       cin >> val;
  10.    } while (val <= 0);
  11.    int racineval = sqrt(val);
  12.    cout << "La racine caree de " << val << " est " << racineval;
  13. }


et c'est tout :D

Message cité 1 fois
Message édité par moi23372 le 01-11-2005 à 22:02:33
n°1235990
St4tiC
Posté le 01-11-2005 à 22:37:12  profilanswer
 

Bah ouais mais on nous apprend à programmer en C++ car selon les profs, si tu sais programmer dans ce langage, tu sais programmer dans tous.
Par contre je ne connais pas la fonction while en C++ (même si je pense que cela veut dire pendant)?
Do non plus je connais pas?
Jusque là je n'ai vu que les si, sinon en C++.
Merci beaucoup sinon!

Message cité 1 fois
Message édité par St4tiC le 01-11-2005 à 22:44:46
n°1235992
manatane
En vous remerciant, bonsoir
Posté le 01-11-2005 à 22:44:21  profilanswer
 

St4tiC a écrit :

Bah ouais mais on nous apprend à programmer en C++ merdique car selon les profs, si tu sais programmer dans ce langage, tu sais programmer dans tous.
 
Merci beaucoup sinon!


[:aloy]
 
le code qui t a ete fourni plus haut ne compile meme pas avec un compilateur decent :D

n°1235996
St4tiC
Posté le 01-11-2005 à 22:46:21  profilanswer
 

Je sais pas si quelqu'un pourrait m'expliquer ce que j'ai édité dans le message du dessus? :)
 
"le code qui t a ete fourni plus haut ne compile meme pas avec un compilateur decent", pourquoi?

Message cité 1 fois
Message édité par St4tiC le 01-11-2005 à 22:46:41
n°1236003
manatane
En vous remerciant, bonsoir
Posté le 01-11-2005 à 22:53:56  profilanswer
 

St4tiC a écrit :

Je sais pas si quelqu'un pourrait m'expliquer ce que j'ai édité dans le message du dessus? :)
 
"le code qui t a ete fourni plus haut ne compile meme pas avec un compilateur decent", pourquoi?


main renvoie un int sinon la norme dit "comportement indefini" ie ton compilateur a le droit de te formater ton disque dur si comme moi il en a marre des void main(), quant au <iostream.h> voila ce que sort gcc (meme verdict pour <math.h>

/usr/include/c++/4.0.2/backward/backward_warning.h:32:2: attention : #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.


Tes profs t enseignent (mal) un C++ obsolete.

n°1236020
St4tiC
Posté le 01-11-2005 à 23:11:27  profilanswer
 

Surement mais malheureusement je ne peux faire autrement au risque de rater mon année :(
Je pense quand même me mettre très prochainement au dernier C++ qui va sortir dans quelques semaines je crois..
Quelqu'un pourrait quand même m'aider please?

Message cité 2 fois
Message édité par St4tiC le 01-11-2005 à 23:20:23
n°1236092
scol30
Posté le 02-11-2005 à 07:37:17  profilanswer
 

St4tiC a écrit :

Surement mais malheureusement je ne peux faire autrement au risque de rater mon année :(
Je pense quand même me mettre très prochainement au dernier C++ qui va sortir dans quelques semaines je crois..
Quelqu'un pourrait quand même m'aider please?


 
Quelque chose comme ca devrait te depanner. Neanmoins il serait bien pour toi de reussir a coder des prog aussi simple sinon il ne te reste plus qu'a changer de branche.
#include <iostream>
#include <math.h>
 
int main(void) {
  double val;
  double racineVal;
 
  std::cout << "Entrer une valeur : ";
  std::cin >> val;
  if(val > 0) {
    racineVal = sqrt(val);
    std::cout << "racine de " << val << " = " << racineVal << std::endl;
  } else {
    std::cout << " nombre negatif interdit pour une racine\n";
  }
  return 0;
}

n°1236280
moi23372
Posté le 02-11-2005 à 12:55:44  profilanswer
 

manatane a écrit :

[:aloy]
 
le code qui t a ete fourni plus haut ne compile meme pas avec un compilateur decent :D


 
perso j'en peux rien moi si la norme à légèrement changé! moi ce que je lui ai passé c'est ce que je considère comme du c++ standards comme il y en avait qu'avant! bien sure les librairies sont depracated... logique!
 
aucun compilo digne de ce nom compile ça? oui oui, c'est pour ça que sur les serveurs unix que je travaille compile ce code sans aucun warning ni error ;-) alors voila chacun son truc...

n°1236809
++fab
victime du syndrome IH
Posté le 02-11-2005 à 19:36:14  profilanswer
 

oui, cherches le tien, tu ne l'as pas encore trouvé apparemment.

n°1236871
rnoizet
Posté le 02-11-2005 à 20:25:32  profilanswer
 

St4tiC a écrit :

Surement mais malheureusement je ne peux faire autrement au risque de rater mon année :(
Je pense quand même me mettre très prochainement au dernier C++ qui va sortir dans quelques semaines je crois..
Quelqu'un pourrait quand même m'aider please?


 
Attends, le gars te donne quasiment la solution...si tu cherches pas un peu par toi la solution au problème par toi-même t'es un peu mal barré... et pas que en informatique.
Et en plus, même si des gens sortent de nouvelles versions de c++ tous les mois, les bases dont tu as besoin pour faire un calcul de racine...hében elles changeront jamais.

n°1236931
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 02-11-2005 à 21:42:45  profilanswer
 

moi23372 a écrit :


 

Code :
  1. #include <math.h>
  2. #include <iostream.h>
  3. void main
  4. {
  5.    int val;
  6.    do
  7.    {
  8.       cout << "Entrer un nombre: ";
  9.       cin >> val;
  10.    } while (val <= 0);
  11.    int racineval = sqrt(val);
  12.    cout << "La racine caree de " << val << " est " << racineval;
  13. }




peine de mort
edit: et pas que pour le C "C++ isé", mais aussi pour le type int de racineval


Message édité par Harkonnen le 02-11-2005 à 21:45:03

---------------
J'ai un string dans l'array (Paris Hilton)
n°1236940
manatane
En vous remerciant, bonsoir
Posté le 02-11-2005 à 21:56:49  profilanswer
 

moi23372 a écrit :

perso j'en peux rien moi si la norme à légèrement changé!


mouarf
 

moi23372 a écrit :

aucun compilo digne de ce nom compile ça? oui oui, c'est pour ça que sur les serveurs unix que je travaille compile ce code sans aucun warning ni error ;-) alors voila chacun son truc...


et ben... c'est quoi tes unix? des vieux sco xenix qui tournent sur disquette ? parce que là sous Linux gcc t envoie bouler, et je suis a peu pres sur qu icc fait de meme.

n°1237067
gocho
Posté le 03-11-2005 à 00:19:34  profilanswer
 

Citation :

peine de mort  
edit: et pas que pour le C "C++ isé", mais aussi pour le type int de racineval


 
J'ai bien cru que personne allait le voir en relisant ce topic....pfiuuuu.
Une racine dans un int... :bounce: pourquoi pas  :lol:  
 
sinon pour un code qui devrait marcher tu peux voir avec ce qu'on ta donne

Code :
  1. #include <iostream>
  2. #include <math.h> ----> ca je le mets mais je sais plus si c'est ca ou non
  3. using namespace std;  ---> t'evites d'avoir a mettre les std:: devant cin et cout
  4. int main(void) {
  5. double x;  ----->Si tu veux la racine d'un decimal t'en fais quoi de ton int hein??Passons en double
  6. double racine;  ------>ben oue un int pour une racine c'est pas top hein! Tu peux mettre le float aussi mais il me semble le double caymieu.
  7. cout>>"Entrer le nombre dont vous voulez connaitre la racine carrée";
  8. cin<<x;
  9. if (val > 0){
  10. racine = Math.sqrt(x);
  11. cout<<"La racine de "<<x<<"est "<<racine<<endl;
  12. return 0;
  13. }
  14. else {
  15. cout<<"Le nombre que vous avez rentre est inferieur ou egal a 0! Veuillez recommencez!"<<endl;
  16. return 0;
  17. }


 
Sinon pour ce qui est de la boucle while elle signifie "tant que"
Son fonctionnement est simple :  

Code :
  1. While (condition){
  2. blabla a faire
  3. }


 Ton programme verifie la condition et fait le blabla(si c'est bon) puis reverifie la condition etc...tant que la condition est verifiee
 
Pour ce qui est du  

Code :
  1. do{
  2. blabla a faire
  3. }while(condition);


 
Son fonctionnement est quasi similaire a la difference près que le blabla va etre fait au moins une fois avant de verifier la condition
 
 
Voila voila, en esperant avoir pu t'aider et ne pas avoir raconte trop de conneries :-)


Message édité par gocho le 03-11-2005 à 00:29:33
n°1239390
St4tiC
Posté le 05-11-2005 à 17:35:33  profilanswer
 

Merci beaucoup, j'ai tout compris et j'ai un exemple maintenant.
Je vais m'entrainer sur d'autres exos!
 
Sinon vous pensez que ça peut être utile d'attendre la nouvelle version de C++ et d'acheter un bouquin pour bien programmer?

mood
Publicité
Posté le   profilanswer
 


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

  Besoin d'aide pour un petit prog!

 

Sujets relatifs
Petit problème de FTP[Debutant]besoin d'aide pour dessiner dans un JPanel
HTML Validator : Aide pour résoudre certains problèmes ?Petit problème de CSS sur mon site
besoin d'aide!!!Appel à une âme charitable pour compiler un PETIT projet C
aide à la réalisation d'un projet (niv débutant)Menu dynamique besoin d'aide !
besoin d'aide pour ce petit prog. 
Plus de sujets relatifs à : Besoin d'aide pour un petit prog!


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