Exercice c++ non compris

Fermé
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 23 déc. 2008 à 14:05
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 23 déc. 2008 à 15:28
Bonjour, je suis en train de faire des exercices en C++ mais il y en a un que je ne n'arrive pas à résoudre.
On me demande de corriger 3 erreurs dans le programme et de le compléter :

// Démonstration de variables
#include <iostream>

int main();
{
using std::cout;
using std::endl;

unsigned short int Largeur = 5, Longueur;
Longueur = 10

// Créer un entier court non signé
// et l'initialiser avec le résultat de la
// multiplication de Largeur par Longueur
Surface = (Largeur * Longueur);

cout << "Largeur :" << Largeur << endl;
cout << "Longueur : " << Longueur << endl;
cout << "Surface : " << Surface << endl;
return 0;
}

Pouvez vous m'aider SVP ?

6 réponses

richie_the_boss
23 déc. 2008 à 14:08
je m'y connais pas du tout mais ne manque t'il pas un "point virgule" après longueur=10?
0
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 1
23 déc. 2008 à 14:17
Oui, j'avais aussi remarqué mais ce qui me chagrine le plus, c'est qu'on me demande de
créer un entier court non signé et l'initialiser avec le résultat de la multiplication de Largeur par Longueur. Je ne comprends pas trop ce que l'on me demande...
0
mrh Messages postés 51 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 3 mars 2009
23 déc. 2008 à 14:31
Je suis pas un pro du c++ mais voici quelques erreurs que je vois :

-Longueur n'est pas déclarer. Il faut le déclarer
-Longueur est utilisé avant d'être déclarer. Il faut le déclarer avant de l'utiliser
-Il manque le point virgule à la fin de la ligne "Longueur = 5"

"unsigned short int Largeur = 5, Longueur; " cette ligne n'a pas vraiment de sens car une variable de type entier tronque à partir de la virgule
exemple :
int toto;
si on met :
toto = 5.7;
toto est égale = 5

Pour la déclaration d'un entier court non signé tu la déjà ecrit pour la largeur donc sa doit donné un truc comme ça :
"unsigned short int ta_variable=Largeur*Longueur;"

Evidament il faut que Largeur et Longueur est une valeur.
0
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 1
23 déc. 2008 à 14:50
Merci. J'ai écrit le programme suivant, il fonctionne mais est ce qu'il est juste ?

#include <iostream>

int main()
{
using std::cout;
using std::endl;
int Longueur;
int Largeur;
Longueur = 10;
Largeur = 5;
unsigned short int Surface = (Largeur * Longueur);


cout << "Largeur :" << Largeur << endl;
cout << "Longueur : " << Longueur << endl;
cout << "Surface : " << Surface << endl;
system ("pause");
return 0;
}

Au fait, j'ai du mal à comprendre la ligne unsigned short int Surface, vous pouvez m'expliquer ?
0

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

Posez votre question
mrh Messages postés 51 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 3 mars 2009
23 déc. 2008 à 15:15
int Largeur; <=> Largeur est un entier
unsigned short int Largeur; <=> Largeur est un entier court non signé

non signé , pas négatif
court à un maximum plus bas qu'un entier normal

mais je suis pas sur donc je te conseil de cherché ce que sa veut dire non signé et court.
0
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 1
23 déc. 2008 à 15:28
OKI, merci. On me demande aussi de mofier ce programme en utilisant le mot clef typedef. J'ai recherché à quoi cela servait et j'ai lut que ça permettait de créer des synonyme. Par exemple, typedef unsigned short in USHORT, à quoi peut bien servir cette ligne ?
0