Blèmes avec 1 exo de C++

le_virus Messages postés 48 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 12 mars 2010 - 23 juil. 2004 à 14:43
le_virus Messages postés 48 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 12 mars 2010 - 28 juil. 2004 à 19:32
J'ai un exo de C++ plutot agacant!
suis +to orienté Visual Basic!je sais qu'il doit etre simple mais je ne sais pas comment le faire!
si quelqu'un a un peu de temps, qu'il me pince vite!
j'en ai besoin grave d'ici demain.......
Cordialement! Merci d'avance!!!!!!!!!

5 réponses

s@ldon Messages postés 140 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 septembre 2009 3
23 juil. 2004 à 15:35
Donne toujours ton exo, il y en a beaucoup qui pourront t'aider...
0
gillou1664 Messages postés 20 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 25 mars 2009
23 juil. 2004 à 15:50
lol :-p c'est sur que là sans l'exo je doute que quelqu'un puisse t'aider!

Mangez des gnous!
0
xarier Messages postés 688 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 19 mai 2005
23 juil. 2004 à 16:08
moi j'aité un vbist alors pose ta question meme poste le code que tu veut traduire ;) VB-->C++
Life is Short 8-)
0
scolinks Messages postés 69 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 19 octobre 2005 6
24 juil. 2004 à 09:37
...le code... donne moi le code...
.486
.model flat, stdcall
option casemap:none
0

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

Posez votre question
le_virus Messages postés 48 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 12 mars 2010
28 juil. 2004 à 19:32
EXO DE C++

J'en ai urgemment besoin pour ap demain.

Première Partie

I. ON désire écrire un programme qui affiche la date du lendemain en toutes lettres. La date du jour est repréentée par 3 entiers:jour,mois,année.
Le calcul de la date du lendemain ne pourra se faire que sur une date valide dont l'année est postérieure à 1852.

1°) Ecrire la fontion "bissextile" qui teste si une année est bissextile
2°) Ecrire la fonction "valide" qui teste si la date du jour est valide et qui,dans l'affirmative,détermine le nombre de jours maximum du mois de la date du jour.
3°) Ecrire la fonction "datedemain" qui détremine la date du lendemain à partir de la date du jour.
4°) Ecrire la fonction "ecriredate" qui affiche une date avec le mois en toutes lettres.
5°) Ecrire un programme qui affiche la date du lendemain.

II. On considère la classe "date". Elle est caractérisée par:
- 3 entiers correspondant au jour,mois et l'année de la date;
- Le nombre de jours maximum dans le mois de la date;
- l'année maximale (ici 1852) en dessous de laquelle on ne peut calculer la date du lendemain.

Elle offre les services suivants:
- Construire des objets "date". Lors de la construction d'un objet "date",vérifier sa validité. Prévoir une construction par recopie si cela est nécessaire;
- Tester si la date courante est bissextile;
- Afficher la date courante sous format de chaines de caractères;
- Déterminer les dates précédente et suivante de la date courante;
- Donner le nom du jour de la semaine de la date courante;
- Donner le jour de l'année correspondant à la date courante,

Le type "date" est muni des opérateurs suivants:
- + addition d'une date et d'un entier représentant un nombre de jours;
- - soustraction d'une date et d'un entier représentant un nombre de jours;
- ++ incrémentation d'une date. Prévoir les 2 notations;
- = affectation d'une date à une variable date;
- <,>,== comparaison de 2 dates.

1°) Déclarer et implémenter la classe "date";
2°) Ecrire une fonction qui modifie le jour,le mois ou l'année d'une date donnée. Il y a 3 solutions possibles.
Rédiger un programme principal qui teste les fonctionnalités de la classe "date".
On pourra utiliser les types et les fonctions de la sous-bibliothèque de la gestion du temps (fichier en tête time.h)

Deuxième Partie

1. Créer la classe "Personne" représentée par un nom,un prénom et une date de naissance et sachant les modifier,les donner et afficher l'ensemble de ses caractéristiques.
Le nom,le prénom sont représentés sous la forme de chaînes de caractères dynamiques.
On veut pouvoir créer les instances soit en spécifiant le nom,le prénom et la date de naissance, soit en ne spécifiant rien.
Définir les constructeurs et destructeurs associés.
Créer un tableau de personnes avec differentes initialisations. Afficher l'ensemble des objets "Personne".
Définir une méthode dont le rôle est d'affecter une instance de "Personne" à une autre. Attention, on devra pouvoir effectuer une affectation généralisée.

2. Créer une classe "Etudiant" ayant les même caractéristiques qu'une personne plus une liste de matières suivies et un ensemble de notes.
On doit pouvoir obtenir la liste de matières, affecter une note,calculer la moyenne.
Créer une classe "Enseignant" ayant les même caractéristiques qu'une personne plus une liste de matières enseignées, un nombre d'heures par matières et tarif horaire.
On doit pouvoir obtenir les matières,faire un calcul des nombres d'heures total et déterminer le coût de l'enseignant.
Les fonctions membre de "Etudiant" et de "Enseignant" doivent pouvoir manipuler directement les données de la classe "Personne".
Modifier en conséquence cette classe.

Créer un tableau d'"Etudiant" et un tableau d'"Enseignant". Les initialiser.Créer un tableau de "Personne" et affecter selon votre choix à ces personnes soit un étudiant,un
enseignant.
Afficher l'ensemble des caractéristiques de ces personnes "polymorphées". Les détruire. A chaque fois vous vous attacherez à montrer les appels qui sont réalisées.

3. On veut définir une classe "Appreciation" ayant pour caractéristique le nom de l'enseignant portant l'appreciation,le nom de l'étudiant conerné et un commentaire.
Un enseignant doit donc pouvoir saisir ces caractéristiques et les afficher à la demande mais
un étudiant ne doit pas pouvoir avoir acces aux services de cette classe.
Mettre en oeuvre la soulution proposée en C++ et montrer son fonctionnement.

4. Définir une classe "liste" qui est constituée d'un ensemble d'éléments dynamiques de type T et qui sait ajouter
un élément à une position donnée ,supprimer un élément à une position donnée en gérant les cas d'erreurs.
Reprendre les classes "Etudiant" et "Enseignant" et les transformer pour qu'elle soit composée d'une liste de matieres et de notes pour les étudiants et d'une liste de matieres et d'heures pour les
enseignants.
Ces classes héritent toujours de la classe "Personne" qui devient une classe abstraite.
faire les modifications nécessaires dans ces 3 classes.

5. On définit une classe "Etudiant_Enseignant" qui hérite des classes "Etudiant" et "Enseignant" afin de caractériser un étudiant qui donnerait des cours.
Modifier les classes de base afin que les propriétés ne soient héritées qu'une fois et que le constructeur de Personne ne soit appelé qu'une fois.
Ecrire le constructeur "Etudiant_Enseignant en tenant compte de ces modifications.

6. Définir l'opérateur de sortie permettant d'afficher les informations d'une personne. Faire en sorte que les afficages
puissent s'enchaîner et qu'on puisse aussi bien afficher une personne,qu'un étudiant,un enseignant ou un étudiant enseignant

7. Concevoir une classe "ListeEtudiant" (resp. ListeEnseignant),qui représente une liste d'étudiants (resp. Enseignant). La munir des opérateurs suivants:

void operateur=Liste& l);
friend void operator+=(Liste& l,Etudiant& e);
friend oestream& operator<<(ostream& o,Liste& l);
friend Liste& operator+(Liste& l1,Liste L2);
dont la signification est la suivante:
- L'opérateur d'affectation permet de recopier le contenu dans une autre liste. Il nécessitera sans doute l'écriture
d'un opérateur d'affectation dans la classe "Etudiant";

- l'opérateur += permet d'ajouter un nouvel élément à la liste;

- l'opérateur << sur un ostream permet d'afficher le contenu de la liste sur un flot de sortie

- l'opérateur + défini sur les listes crée une nouvelle liste par concaténation des 2 listes.
Tester cette classe par un programme rudimentaire.

8. Si une personne n'existe pas,on peut pouvoir afficher un message d'erreur et retourner à la demande du nom
de la personne.Si elle existe,on veut pouvoir récupérer ses caractéristiques.
Cela est vrai que la personne soit un étudiant ou un enseignant ou un etudiant_enseignant.
Définir l'exeption try/catch/throw permettant de gérer ces 2 cas dans la classe "Personne" et modifier les fonctions membre des 4 classes afin que l'exeption se propage correctement.

9. Ecrire un programme donnant un cas d'utilisation de ces différentes classes.
0
Rejoignez-nous