IUP2 TP programmation INFO n° 3

Aujourd'hui, nous allons étudier les objets en C++. Nous nous limiterons au fonctionnement de base, afin d'en comprendre les principes, sans chercher à fignoler les détails, ce qui fait que les programmes que vous écrirez ne seront pas nécessairement d'une utilité vitale, ni munis d'une interface homme-machine particulièrement conviviale. Vous allez créer une montre – réveil – chronomètre. Je vous conseille évidemment de consulter vos notes de cours (à moins que vous n'ayez pensé à les relire avant le TP), en particulier la présentation des objets sur l'exemple des vecteurs.

Pour commencer, vous allez définir une classe « date ». Une date contient 6 attributs entiers : jour, mois, année, heure,minute, seconde. Vous allez également créer les méthodes suivantes, et les tester dans un programme main :

Passons-en (enfin) au programme utilisant notre classe. Il contiendra plusieurs dates, l'une d'elles correspondant à la date actuelle. Il comprendra un boucle qui demande ce que l'on veut faire :

Remarques :

Dans votre rapport (à rendre dans une semaine maximum = 604 800 s), vous parlerez surtout de l'utilisation des objets. Vous pouvez, si ça vous intéresse, m'envoyer votre programme (après l'avoir renommé à votre nom, sans espace ni accent, si tous s'appellent prog.c j'aurai du mal à les reconnaître) par mail ou par sftp://iup2@ftp-ipst (demandez moi le mot de passe)

Généralement, la remarque des étudiants quand je demande de faire un programme est « pourquoi programmer un réveil alors que je peux l'acheter tout fait pour quelques euros ? » voire « alors qu'il existe sous Windows ». Alors que si on vous apprend à concevoir une pompe à piston vous ne dites pas à l'enseignant qu'elle existe dans le commerce. Si vous en êtes déjà à lire la fin du sujet et que personne n'a encore parlé de cela, veuillez ne pas en parler tout de suite, juste pour voir !

Autre remarque : une minute contient 60 secondes, une heure 60 mn, un jour 24h. Puis c'est plus dur. Le nombre de jours d'un mois peut être connu en écrivant (en déclaration globale) :

	int lng_mois[12]={31,28,31,30,31,30,31,31,30,31,30,31};

C'est un tableau donc la longueur du mois de janvier est lng_mois[0]. Supposez pour simplifier que toutes les années multiples de 4 sont bissextiles, ce qui est au moins vrai pour ce siècle et le précédent.


Une solution approximative est disponible ici.


TP4 retour sommaire C++ TP2

(c) P. TRAU IPST - ULP