J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion
de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du
2ème semestre).Ceci en traitant les exceptions levées par cette opération de
fusion ( le traitement de l'exception serait juste le renvoi d'un message
sur la console par exemple):
Est-ce que quelqu'un peut me donner une idée à quoi peut ressembler ce code
SVP? Je vois pas comment je dois commencer.
# ifndef CASE_H
# define CASE_H
#include <iostream>
#include <iomanip>
#include <cstring>
using namespace std ;
const int Clundi = 1 ;
const int Cmardi = 2 ;
const int Cmercredi = 3 ;
const int Cjeudi = 4 ;
const int Cvendredi = 5 ;
const int Csamedi = 6 ;
const int Cdimanche = 7 ;
class Tcase{
public :
Tcase (int numSemaine, int numJour, double heureDebut, double duree,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Azeau
stephane wrote:
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion
de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du
2ème semestre).Ceci en traitant les exceptions levées par cette opération de
fusion ( le traitement de l'exception serait juste le renvoi d'un message
sur la console par exemple):
Est-ce que quelqu'un peut me donner une idée à quoi peut ressembler ce code
SVP? Je vois pas comment je dois commencer.
[...]
/* Crée un nouvel horaire résultat de la fusion de deux horaires Lève une exception de la classe TenseignantError si les horaires N'ont pas le même nom d'enseignant Lève une exception de la classe Toverflow si la fusion entraîne Un dépassement de capacité (> CcasesMax) */
Visiblement, tu dois écrire le code de l'opérateur d'addition de la classe Thoraire.
Si j'étais a ta place, je commencerais par écrire les cas d'utilisation spécifiés dans la documentation de ta classe. Soit par exemple : | try { | Thoraire h1("enseignant1"); | Thoraire h2("enseignant2"); | Thoraire h3 = h1+h2; | std::cout << "Test failed" << std::endl; | } catch( TenseignantError & ) { | std::cout << "Test OK" << std::endl; | }
(En fait, si j'étais *vraiment* a ta place je commencerais par remplacer tous les char [] par des std::string mais c'est une autre histoire...)
stephane wrote:
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet
la fusion
de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre
et du
2ème semestre).Ceci en traitant les exceptions levées par cette
opération de
fusion ( le traitement de l'exception serait juste le renvoi d'un
message
sur la console par exemple):
Est-ce que quelqu'un peut me donner une idée à quoi peut ressembler
ce code
SVP? Je vois pas comment je dois commencer.
[...]
/*
Crée un nouvel horaire résultat de la fusion de deux horaires
Lève une exception de la classe TenseignantError si les horaires
N'ont pas le même nom d'enseignant
Lève une exception de la classe Toverflow si la fusion entraîne
Un dépassement de capacité (> CcasesMax) */
Visiblement, tu dois écrire le code de l'opérateur d'addition de la
classe Thoraire.
Si j'étais a ta place, je commencerais par écrire les cas
d'utilisation spécifiés dans la documentation de ta classe. Soit par
exemple :
| try {
| Thoraire h1("enseignant1");
| Thoraire h2("enseignant2");
| Thoraire h3 = h1+h2;
| std::cout << "Test failed" << std::endl;
| } catch( TenseignantError & ) {
| std::cout << "Test OK" << std::endl;
| }
(En fait, si j'étais *vraiment* a ta place je commencerais par
remplacer tous les char [] par des std::string mais c'est une autre
histoire...)
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion
de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du
2ème semestre).Ceci en traitant les exceptions levées par cette opération de
fusion ( le traitement de l'exception serait juste le renvoi d'un message
sur la console par exemple):
Est-ce que quelqu'un peut me donner une idée à quoi peut ressembler ce code
SVP? Je vois pas comment je dois commencer.
[...]
/* Crée un nouvel horaire résultat de la fusion de deux horaires Lève une exception de la classe TenseignantError si les horaires N'ont pas le même nom d'enseignant Lève une exception de la classe Toverflow si la fusion entraîne Un dépassement de capacité (> CcasesMax) */
Visiblement, tu dois écrire le code de l'opérateur d'addition de la classe Thoraire.
Si j'étais a ta place, je commencerais par écrire les cas d'utilisation spécifiés dans la documentation de ta classe. Soit par exemple : | try { | Thoraire h1("enseignant1"); | Thoraire h2("enseignant2"); | Thoraire h3 = h1+h2; | std::cout << "Test failed" << std::endl; | } catch( TenseignantError & ) { | std::cout << "Test OK" << std::endl; | }
(En fait, si j'étais *vraiment* a ta place je commencerais par remplacer tous les char [] par des std::string mais c'est une autre histoire...)
Alexandre
bonjour,
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du 2ème semestre).Ceci en traitant les exceptions levées par cette opération de fusion ( le traitement de l'exception serait juste le renvoi d'un message sur la console par exemple):
tiens ça ressemble à un TD ;-)
<snip>
const int Clundi = 1 ; const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par une énumération : enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5, CSamedi=6, CDimanche=7};
/* Crée un nouvel horaire résultat de la fusion de deux horaires Lève une exception de la classe TenseignantError si les horaires N'ont pas le même nom d'enseignant Lève une exception de la classe Toverflow si la fusion entraîne Un dépassement de capacité (> CcasesMax) */
à priori c'est le code de cette fonction qui est à écrire... Il faut créer un horaire pour l'enseignant concerné Thoraire to_nouvel_horaire(m_nomEnseignant);
puis vérifier que l'horaire passé possède le même enseignant if( m_nomEnseignant != hor.m_nomEnseignant) throw TenseignantError();
note que si tu conserves les char[] à la place des std::string, le test doit utiliser strcmp : if(!strcmp(m_nomEnseignant,hor.m_nomEnseignant))
puis ensuite il faut tester la capacité de la fusion, etc... Je te laisse finir ton TD ;-) Bonne chance.
bonjour,
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la
fusion
de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du
2ème semestre).Ceci en traitant les exceptions levées par cette opération
de
fusion ( le traitement de l'exception serait juste le renvoi d'un message
sur la console par exemple):
tiens ça ressemble à un TD ;-)
<snip>
const int Clundi = 1 ;
const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par une énumération
:
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5,
CSamedi=6, CDimanche=7};
/*
Crée un nouvel horaire résultat de la fusion de deux horaires
Lève une exception de la classe TenseignantError si les horaires
N'ont pas le même nom d'enseignant
Lève une exception de la classe Toverflow si la fusion entraîne
Un dépassement de capacité (> CcasesMax) */
à priori c'est le code de cette fonction qui est à écrire...
Il faut créer un horaire pour l'enseignant concerné
Thoraire to_nouvel_horaire(m_nomEnseignant);
puis vérifier que l'horaire passé possède le même enseignant
if( m_nomEnseignant != hor.m_nomEnseignant)
throw TenseignantError();
note que si tu conserves les char[] à la place des std::string, le test doit
utiliser strcmp :
if(!strcmp(m_nomEnseignant,hor.m_nomEnseignant))
puis ensuite il faut tester la capacité de la fusion, etc...
Je te laisse finir ton TD ;-)
Bonne chance.
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du 2ème semestre).Ceci en traitant les exceptions levées par cette opération de fusion ( le traitement de l'exception serait juste le renvoi d'un message sur la console par exemple):
tiens ça ressemble à un TD ;-)
<snip>
const int Clundi = 1 ; const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par une énumération : enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5, CSamedi=6, CDimanche=7};
/* Crée un nouvel horaire résultat de la fusion de deux horaires Lève une exception de la classe TenseignantError si les horaires N'ont pas le même nom d'enseignant Lève une exception de la classe Toverflow si la fusion entraîne Un dépassement de capacité (> CcasesMax) */
à priori c'est le code de cette fonction qui est à écrire... Il faut créer un horaire pour l'enseignant concerné Thoraire to_nouvel_horaire(m_nomEnseignant);
puis vérifier que l'horaire passé possède le même enseignant if( m_nomEnseignant != hor.m_nomEnseignant) throw TenseignantError();
note que si tu conserves les char[] à la place des std::string, le test doit utiliser strcmp : if(!strcmp(m_nomEnseignant,hor.m_nomEnseignant))
puis ensuite il faut tester la capacité de la fusion, etc... Je te laisse finir ton TD ;-) Bonne chance.
kanze
Alexandre wrote:
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du 2ème semestre).Ceci en traitant les exceptions levées par cette opération de fusion ( le traitement de l'exception serait juste le renvoi d'un message sur la console par exemple):
tiens ça ressemble à un TD ;-)
C'est peut-être pour ça que je n'ai rien compris de ce qu'il essaiait à faire.
<snip>
const int Clundi = 1 ; const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi =5, CSamedi=6, CDimanche=7};
La seule justification que je vois pour imposer des valeurs numériques, c'est pour s'aligner avec un format externe (celui de struct tm, par exemple).
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Alexandre wrote:
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui
permet la fusion de 2 horaires (voir code svp, par exemple
l'horaire du 1er semestre et du 2ème semestre).Ceci en
traitant les exceptions levées par cette opération de fusion
( le traitement de l'exception serait juste le renvoi d'un
message sur la console par exemple):
tiens ça ressemble à un TD ;-)
C'est peut-être pour ça que je n'ai rien compris de ce qu'il
essaiait à faire.
<snip>
const int Clundi = 1 ;
const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par
une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi =5,
CSamedi=6, CDimanche=7};
J'ai sérieusement besoin d'aide. Je dois fiaire le code qui permet la fusion de 2 horaires (voir code svp, par exemple l'horaire du 1er semestre et du 2ème semestre).Ceci en traitant les exceptions levées par cette opération de fusion ( le traitement de l'exception serait juste le renvoi d'un message sur la console par exemple):
tiens ça ressemble à un TD ;-)
C'est peut-être pour ça que je n'ai rien compris de ce qu'il essaiait à faire.
<snip>
const int Clundi = 1 ; const int Cmardi = 2 ;
si tu as le choix tu devrais remplacer les 7 constantes par une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi =5, CSamedi=6, CDimanche=7};
La seule justification que je vois pour imposer des valeurs numériques, c'est pour s'aligner avec un format externe (celui de struct tm, par exemple).
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Alexandre
tiens ça ressemble à un TD ;-)
C'est peut-être pour ça que je n'ai rien compris de ce qu'il essaiait à faire.
oui, surement ;-) moi non plus, et pourtant je suis prof (bon, j'enseigne l'architecture des systèmes, mais quand même...) Il est vrai que souvent, sorti de son contexte, un TD est difficile à comprendre... Genre pourquoi s'embeter avec new pour faire un tableau dynamique, au lieu d'utiliser vector ? (si le but du TD est de comprendre l'allocation dynamique....)
si tu as le choix tu devrais remplacer les 7 constantes par une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5, CSamedi=6, CDimanche=7};
Et pourquoi pas simplement : enum Jours { lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche } ;
La seule justification que je vois pour imposer des valeurs numériques, c'est pour s'aligner avec un format externe (celui de struct tm, par exemple).
oui, certes, c'était pour rester compatible avec son code, au cas où il y aurait utilisation avec d'autres trucs qui imposeraient que lundi soit le jour numéro 1.
tiens ça ressemble à un TD ;-)
C'est peut-être pour ça que je n'ai rien compris de ce qu'il
essaiait à faire.
oui, surement ;-)
moi non plus, et pourtant je suis prof (bon, j'enseigne l'architecture des
systèmes, mais quand même...)
Il est vrai que souvent, sorti de son contexte, un TD est difficile à
comprendre... Genre pourquoi s'embeter avec new pour faire un tableau
dynamique, au lieu d'utiliser vector ? (si le but du TD est de comprendre
l'allocation dynamique....)
si tu as le choix tu devrais remplacer les 7 constantes par
une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5,
CSamedi=6, CDimanche=7};
Et pourquoi pas simplement :
enum Jours
{
lundi, mardi, mercredi, jeudi, vendredi,
samedi, dimanche
} ;
La seule justification que je vois pour imposer des valeurs
numériques, c'est pour s'aligner avec un format externe (celui
de struct tm, par exemple).
oui, certes, c'était pour rester compatible avec son code, au cas où il y
aurait utilisation avec d'autres trucs qui imposeraient que lundi soit le
jour numéro 1.
C'est peut-être pour ça que je n'ai rien compris de ce qu'il essaiait à faire.
oui, surement ;-) moi non plus, et pourtant je suis prof (bon, j'enseigne l'architecture des systèmes, mais quand même...) Il est vrai que souvent, sorti de son contexte, un TD est difficile à comprendre... Genre pourquoi s'embeter avec new pour faire un tableau dynamique, au lieu d'utiliser vector ? (si le but du TD est de comprendre l'allocation dynamique....)
si tu as le choix tu devrais remplacer les 7 constantes par une énumération :
enum JOURS {CLundi=1, CMardi=2, CMercredi=3, CJeudi=4, CVendredi=5, CSamedi=6, CDimanche=7};
Et pourquoi pas simplement : enum Jours { lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche } ;
La seule justification que je vois pour imposer des valeurs numériques, c'est pour s'aligner avec un format externe (celui de struct tm, par exemple).
oui, certes, c'était pour rester compatible avec son code, au cas où il y aurait utilisation avec d'autres trucs qui imposeraient que lundi soit le jour numéro 1.