donner moi svp le code source d'un programme qui calcule la somme de deux reéls ?
Version imprimable
donner moi svp le code source d'un programme qui calcule la somme de deux reéls ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12 #include<conio.h> #include<iostream.h> void main() { float a,b; cout<<"donner a"<<endl; cin>>a; cout<<"donner b"<<endl; cin>>b; cout<<"la somme des deux reéls est egal a "<<a+b<<endl; getch(); }
balise [code] réjoutée par r0d. Merci d'y penser la prochaine fois.
Si tu veux pas qu'il quitte rajoute une boucle infinie ou un cin à la fin.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream.h> void main () { cout << "Entrez un premier réel \n"; double r, s; cin >> r; cout << "Entrez un deuxième réel \n"; cin >> s; cout << r << " + " << s " = " << (r+s) << "\n"; }
Edit: Pris de vitesse!
Et vous avez tous les deux faux.
Il n'y en a pas un pour racheter l'autre dans cette utilisation éhontée de code obsolète et non-standard.
Et si vous tenez absolument à avoir une pause à la fin, le mieux est d'attendre un appui sur Entrée avec un appel (dont je ne me souviens plus) à cin.ignore(). Ou à défaut sous Win32, un petit system("pause") est déjà plus pratique à utiliser qu'un getch() (notamment si on compile avec MinGW).Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 //Les headers en ".h" sont obsolètes. #include <iostream> using namespace std; //main() retourne TOUJOURS un int int main(void) { cout << "Entrez un premier réel:" << endl; double r, s; cin >> r; cout << "Entrez un deuxième réel:" << endl; cin >> s; cout << r << " + " << s << " = " << (r+s) << endl; return 0; }
C'est pas bien de donner du code tout cuit à des étudiants paresseux et malpolis...
En effet, mais je pense que c'est pire de leur donner du code brûlé...
Edit: ortaugraf!
+1Citation:
Envoyé par Médinoc
C'est un vrai festival en ce moment :lol:
Tu as aussi faux, ton code ne compile même pas :)Citation:
Envoyé par Médinoc
Te manque un << après le s :aie:
Ça mapprendra à partiellement recopier du code incorrect. C'est corrigé.:oops:
surtout pour un code si simple....Citation:
Envoyé par Laurent Gomila
Pour le <iostream.h>, peut être que c'est obsolète mais c'est quand même portable.
Ensuite en C++ je vois pas pourquoi ne pas utiliser "\n" et à tout prix utiliser le symbole endl.
- Ben non, il y a déjà des compilos qui ne fournissent plus ces vieux headers. Donc ce code de compilera pas dessus, donc ce n'est pas portable.
- Pour des raisons de bufferisation, notamment.
std::endl te permet de vider le tampon en plus d'envoyer un caractère fin de ligne sur le flux de sortie correspondant (ici, la sortie standard).Citation:
Envoyé par coyotte507
Thierry
Petite question, dans les specs actuels de C++, est-ce que les vieux headers .h sont inexistants, ou simplement deprecated? Car si ils y sont toujours, alors un compilo qui ne les fournit pas ne peut pas être considéré comme standard.Citation:
Envoyé par Médinoc
Note que je suis tout à fait d'accord avec l'utilisation des nouveaux headers ;)
pour les endl, ca veut dire que le C avec son \n gère moins bien la mémoire que le C++ avec son endl?
Non, endl a un équivalent en C, c'est juste que ça coûte deux instructions alors qu'en C++ ça peut n'en coûter qu'une.
Il me semblait que c'était plutôt qu'en C++, le vidage de buffer sur \n n'était garanti pour aucun flux, alors qu'en C, c'était garanti pour les consoles/terminaux et pas le reste (pour le C, c'est ce que j'ai cru comprendre des notes d'Emmanuel).
Le manipulateur std::endl en C++, si je ne me trompe pas, effectue deux choses en vérité:
- Il envoie le \n
- Il appelle la fonction membre flush() du flux pour forcer la sortie en toutes circonstances.
Ils n'ont jamais fait parti du standard qui ... date de 98. Faudrait penser à se réveiller et regarder la date sur le calendrier :?Citation:
Envoyé par Cheps
Et ils ne sont fournis qu'avec certains compilos, et toutes leurs distributions ne sont pas identiques. Logique, ce n'est pas standardisé!
Genre les flux.h de GCC qui chargent les définitions standard dans l'espace de nom global. Et les flux de VC6 (déprécié, plus maintenu, plus vieux que le standard, ...) qui sont incompatibles avec les flux standard et même certaines classes standard comme std::string.
Bref, tout sauf vraiment portable.