CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Es un code maladroit ?

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 13:38:27

Youpi j'ai réussi le premier TP d'openclassroom pour le c# :fete: :fete: :fete:
Mais je voulez vous demandez es que mon code est maladroit ? Il ressemble un peu a celui de la correction Car je l'avais lu deux trois fois en diagonale puis j'ai fait une pause de deux jour puis je me suis remis sur le TP.

static void Main(string[] args)
{
if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
{
direBonWeekend();

}
else
{
if (DateTime.Now.DayOfWeek <= DayOfWeek.Monday && DateTime.Now.Hour < 9 && DateTime.Now.Hour > 18 && DateTime.Now.DayOfWeek >= DayOfWeek.Friday)
{
direBonjour();
}
else
{
direBonsoir();
}
}

}
static void direBonWeekend()
{
Console.WriteLine("Bon week-end" + " " + Environment.UserName);
}
static void direBonjour()
{
Console.WriteLine("Bonjour" + " " + Environment.UserName);
}
static void direBonsoir()
{
Console.WriteLine("Bonsoir" + " " + Environment.UserName);
}

Ps : il y a des espaces et en plus c'est tout jolie sur le logiciel mais la c'est un peu long de tout mettre au propre je suis sincèrement désolé.

Loustak
Loustak
Niveau 7
01 février 2015 à 14:07:01

Je ne suis pas un spécialiste du C# mais sa me semble correcte, cependant dans ce cas si je ne suis pas sûr que créer une fonction pour afficher un ligne soit nécessaire.

-Adridu84-
-Adridu84-
Niveau 10
01 février 2015 à 14:49:23

static void Main(string[] args) {

if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday){

   Console.WriteLine("Bon week-end" + " " + Environment.UserName);
}

else if (DateTime.Now.DayOfWeek <= DayOfWeek.Monday && DateTime.Now.Hour < 9 && DateTime.Now.Hour > 18 && DateTime.Now.DayOfWeek >= DayOfWeek.Friday) {

   Console.WriteLine("Bonjour" + " " + Environment.UserName);
}

else {

   Console.WriteLine("Bonsoir" + " " + Environment.UserName);
        }
    }
}

C'est plus propre comme ça.

Message édité le 01 février 2015 à 14:51:25 par -Adridu84-
Pseudo supprimé
Pseudo supprimé 01 février 2015 à 15:40:42

T'as pas besoin de vérifier dans ton else si le jour de la semaine est entre lundi et vendredi (d'ailleurs t'as l'air de vérifier qu'il est entre vendredi et lundi plutôt... donc ton truc ne fonctionne surement pas comme il faut), car si ton premier if vérifie que le jour est samedi ou dimanche alors tu es certain que dans ton else ça sera ni samedi ni dimanche.

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 15:56:45

Ok Merci Awrsome_Guilber
-Adridu84- pour la propreté

[Flipside]
[Flipside]
Niveau 4
01 février 2015 à 16:23:43

Tu peux aussi le refaire en utilisant la clause switch

Korback
Korback
Niveau 10
01 février 2015 à 16:37:14

Switch est mieux que If s'il y a plusieurs conditions.

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 16:43:42

Tiens ça peut faire un bon exercice merci ! Je vais essayer !

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 17:00:56

Mais en faite je ne vois pas comment faire ça avec ce code --' :)

florent6262100
florent6262100
Niveau 9
01 février 2015 à 17:26:21
Console.WriteLine( (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday) ? "Bon week-end" : ( (DateTime.Now.Hour < 9 && DateTime.Now.Hour > 18) ? "Bonjour" : "Bonsoir" )  + " " + Environment.UserName); 

La recherche d'état est simple, sous cette forme: CONDITION ? TRUE : FALSE;

Korback
Korback
Niveau 10
01 février 2015 à 17:45:33

Il me semble que pour ce TP il faut plusieurs conditions en même temps donc je ne sais pas si un true/false est la meilleures des solutions.

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 18:26:28

On m'a pas encore appris le vrai, faux ! merci quand même.

Pseudo supprimé
Pseudo supprimé 01 février 2015 à 18:51:06

Bonsoir,

@TheLemoria:

Ton code de test est bien structuré.
A la limite tu peut éviter les rebondances de Environment.UserName qui sont utilisées pour l'affichage de tes messages.

Exemple :

static void Main(string[] args)
 {
    if (DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday)
    {
        Affiche("Bon week-end");
    }
    else
    {
        if (DateTime.Now.DayOfWeek <= DayOfWeek.Monday && DateTime.Now.Hour < 9 && DateTime.Now.Hour > 18 && DateTime.Now.DayOfWeek >= DayOfWeek.Friday)
         {
            Affiche("Bonjour");
        }
        else
        {
            Affiche("Bonsoir");
        }
    }
}

static void Affiche(string message)
{
    Console.WriteLine(message + " " +  Environment.UserName);

    // Version plus cohérente
    // Console.WriteLine( string.Format("{0} {1}", message, Environment.UserName));
}

L'exemple de Florent est à rejeter, lecture et maintenance trop difficile sans gain de performance.

Bonne continuation

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 20:25:36

Merci a tous ! mais je pense que je vais apprendre lentement a mon niveau et prendre de l’expérience. Je reviendrais quand j'aurai encore besoin d'aide :)

Pseudo supprimé
Pseudo supprimé 01 février 2015 à 20:33:28

Re,

Une question TheLemoria.
Tu apprends le C# pour l'utiliser dans quel environnement ?
Unity ? Xna ? ou Win 32 ?

TheLemoria
TheLemoria
Niveau 6
01 février 2015 à 20:42:33

Je ne sais pas encore. J'ai plusieurs projet en tête. Mp moi si tu veux en parler en fin stv

AZIR2015
AZIR2015
Niveau 7
02 février 2015 à 16:07:01

TheLemoria
MP
Citer Blacklister Alerte 01 février 2015 à 18:26:28
On m'a pas encore appris le vrai, faux ! merci quand même.

En fait ce n'est pas une excuse. Un programmeur ( n'importe quel que ce soit son langage ) doit rechercher sur les notions non apprises. Parce que sincèrement les cours d'openclassrooms sont à compléter par des recherches individuelles. Surtout que le "vrai" et le "faux" sont des notions essentielles ^^
Sinon je trouve que ton code est bien. Penses à réduire le taux de conditions et à l'aérer sinon ça va devenir une galère.

Pseudo supprimé
Pseudo supprimé 02 février 2015 à 16:13:58

Du calme AZIR2015 :diable: .

TheLemoria
TheLemoria
Niveau 6
02 février 2015 à 16:39:09

En fait je sais utiliser les vrai , faux j'avais juste oublier :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment