IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Aide correction examen [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Points : 14
    Points
    14
    Par défaut Aide correction examen
    Bonsoir à tous,

    J'ai passé mon examen dernièrement et je sais que je l'ai raté mais je n'ai aucun moyen de savoir où étaient mes erreurs. J'ai encore à ma disposition mon énoncé et ce que j'ai entrepris.
    Est-ce que quelqu'un pourrait m'aider à ce sujet ?

    L'énoncé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Créez un nouveau projet Algo2023_2_VotreNom.
    Copiez-collez dans la méthode Main, le code ci-dessous:
     
    MyUtilsExam utils = new MyUtilsExam();
    Console.WriteLine("Introduisez votre nom ou pseudo");
    string pseudo = Console.ReadLine();
     
    Console.WriteLine("Introduisez une phrase");
    string phrase = Console.ReadLine();
    Console.WriteLine("Introduisez 3 nombres entiers, séparés par une virgule");
    string intsString = Console.ReadLine();
     
    int[] intArray = utils.TransformToInt(intsString);
     
    // on affiche le plus grand des 3 nombres
    int max = utils.NombreMax(intArray);
    Console.WriteLine("Le plus grand nombre est " + max);
     
    // on affiche le plus petit des 3 nombres
    int min = utils.NombreMin(intArray);
    Console.WriteLine("Le plus petit nombre est " + min);
     
    // on affiche combien de nombres sont divisibles par 3 
    int divisibles = utils.NombreDivisiblesPar3(intArray);
    Console.WriteLine(divisibles + " nombres sont divisibles par 3");
     
    // on affiche un des 3 nombres de façon aléatoire
    int nbrAleatoire = utils.NombreAleatoire(intArray);
    Console.WriteLine("Le nombre aleatoire est " + nbrAleatoire);
     
    // on affiche le nombre de caractères dans la phrase, y compris espaces, signes de ponctuation...
    int nbrChars = utils.NbrChars(phrase);
    Console.WriteLine("Nombre de caracteres : " + nbrChars);
     
    // on affiche la phrase inversée, par exemple 'ceci est une phrase' devient 'esarhp enu tse icec'
    string inverse = utils.InversePhrase(phrase);
    Console.WriteLine("Inverse : " + inverse);
     
    // on sauvegarde la demande dans un fichier "c://temp/myUtilsExam.utils" sous la forme:
    // Votre pseudo = DiabloX9
    // Votre phrase = Ceci est ma phrase
    // Vos numéros = 3,9,23
    utils.SaveResult(phrase,intsTring,pseudo);
    Créez la classe et les méthodes nécessaires et demandées pour ce code.
    Une de ces méthodes risque de compromettre l'exécution du programme. Trouvez-la et mettez en commentaire
    au-dessus de celle-ci, comment on pourrait gérer ce problème.
    La seule modification autorisée dans la classe contenant la méthode Main
    est la mise en commentaire de l'appel de méthodes (afin que le code compile et pour pouvoir tester au fur et à mesure).


    Et voici ce que j'ai répondu. Je sais qu'il y a de nombreuses erreurs mais lors de mon examen mon programme ne voulait pas lancer le debug :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace Algo2023_2_HirecheDjamaleddine
    {
        class Program
        {
            static void Main(string[] args)
            {
                MyUtilsExam utils = new MyUtilsExam();
                Console.WriteLine("Introduisez votre nom ou pseudo");
                string pseudo = Console.ReadLine();
     
                //Console.WriteLine("Introduisez une phrase");
                string phrase = Console.ReadLine();
                Console.WriteLine("Introduisez 3 nombres entiers, séparés par une virgule");
                string intsString = Console.ReadLine();
     
                int[] intArray = utils.TransformToInt(intsString);
                // on affiche le plus grand des 3 nombres
                int max = utils.NombreMax(intArray);
                Console.WriteLine("Le plus grand nombre est " + max);
     
                // on affiche le plus petit des 3 nombres
                int min = NombreMin(intArray);
                Console.WriteLine("Le plus petit nombre est " + min);
     
                // on affiche combien de nombres sont divisibles par 3 
                int divisibles = utils.NombreDivisiblesPar3(intArray);
                Console.WriteLine(divisibles + " nombres sont divisibles par 3");
     
                // on affiche un des 3 nombres de façon aléatoire
                int nbrAleatoire = utils.NombreAleatoire(intArray);
                Console.WriteLine("Le nombre aleatoire est " + nbrAleatoire);
     
                // on affiche le nombre de caractères dans la phrase, y compris espaces, signes de ponctuation...
                int nbrChars = utils.NbrChars(phrase);
                Console.WriteLine("Nombre de caracteres : " + nbrChars);
     
                // on affiche la phrase inversée, par exemple 'ceci est une phrase' devient 'esarhp enu tse icec'
                string inverse = utils.InversePhrase(phrase);
                Console.WriteLine("Inverse : " + inverse);
     
                // on sauvegarde la demande dans un fichier "c://temp/myUtilsExam.utils" sous la forme:
                // Votre pseudo = DiabloX9
                // Votre phrase = Ceci est ma phrase
                // Vos numéros = 3,9,23
                //Le code ne va pas fonctionner car la variable "intsTring" n'est pas bien noté. On pourrait régler ça en créant une instruction
                //avec le try catch pour créer une exception qui montrera la ligne qui est fausse
                SaveResult(phrase, intsTring, pseudo);
            }
            Random rnd = new Random();
            internal class MyUtilsExam
            {
     
                public static void TransformToInt(string strInt)
                {
                    int[] ints = int32.Parse(intsString);
                    Console.WriteLine(ints);
                }
     
     
                public static void SaveResult(string phrase, object intsTring, string pseudo)
                {
                    string save = @"C:\Users\djelectro95\Documents\Examen\myUtilsExam.utils";
                    string[] saving = { pseudo, intsString, phrase };
                    for (int i = 0; i < saving.Length; i++)
                        File.WriteAllLines(save, saving);
                }
     
                public string InversePhrase(string phrase)
                {
                    char[] stringArray = message.ToCharArray();
     
                    string reverse = String.Empty;
     
                    for (int i = stringArray.Length - 1; i >= 0; i--)
                    {
                        reverse += stringArray[i];
                    }
     
                    Console.WriteLine(reverse);
                }
     
                public static int NbrChars(string phrase)
                {
                    string phrase = Console.ReadLine();
                    int nbrChars = phrase.Length;
                    Console.WriteLine(nbrChars);
                }
     
                public static int NombreAleatoire(int[] intArray)
                {
                    int[] intArray = int32.Parse(intsString);
                    int aleatoire = rnd.Next(intArray.Length);
                    Console.WriteLine(aleatoire);
                }
     
                public static int NombreDivisiblesPar3(int[] intArray)
                {
                    int[] intArray = int32.Parse(intsString);
                    int divisible = intArray.Length;
                    if(divisible % 3 == 0)
                    {
                        divisible = divisible / 3;
                    }
                Console.Writeline(divisible);
                }
     
                public static int NombreMin(int[] intArray)
                {
                    string intsString = Console.ReadLine();
                    int[] intArray = Int32.Parse(intsString);
                    int min = intArray.Min();
                    Console.WriteLine(min);
                }
     
                public static int NombreMax(int[] intArray)
                {
                    string intsString = Console.ReadLine();
                    int[] intArray = Int32.Parse(intsString);
                    int max = intArray.Max();
                    Console.WriteLine(max);
                }
            }
        }
    }
    Encore merci de votre aide.

    djelectro95

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 645
    Points : 2 165
    Points
    2 165
    Par défaut
    Bonjour,

    Alors j'imagine que la classe MyUtilsExam à été fournie d'une manière ou d'une autre par ton prof ou dans le cours mais il n'y a aucune méthode valide la dedans pour commencer. As-tu dû la recopier ou quelque chose comme ça ? Parce qu'on dirait que la plupart des erreurs c'est des erreurs de recopiage.

    J'ai corrigé ta classe, ça à été très rapide vu qu'il n'y avait quasiment que des étourderies, mais certaines méthodes étaient complètement fausses (TransformToInt et NombreDivisiblesPar3 surtout) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
        internal class MyUtilsExam
        {
            static Random rnd = new Random();
     
            public int[] TransformToInt(string strInt)
            {
                var strings = strInt.Split(',');
     
                int[] ints = new int[strings.Length];
     
                for (int i = 0; i< strings.Length;i++)
                {
                    ints[i] = Int32.Parse(strings[i]);
                }
     
                return ints;
            }
     
            public void SaveResult(string phrase, object intString, string pseudo)
            {
                string save = @"C:\Users\djelectro95\Documents\Examen\myUtilsExam.utils";
                string[] saving = { pseudo, intString.ToString(), phrase };
                for (int i = 0; i < saving.Length; i++)
                    File.WriteAllLines(save, saving);
            }
     
            public string InversePhrase(string phrase)
            {
                char[] stringArray = phrase.ToCharArray();
     
                string reverse = String.Empty;
     
                for (int i = stringArray.Length - 1; i >= 0; i--)
                {
                    reverse += stringArray[i];
                }
     
                return reverse;
            }
     
            public int NbrChars(string phrase)
            {
                int nbrChars = phrase.Length;
     
                return nbrChars;
            }
     
            public int NombreAleatoire(int[] intArray)
            {
                int aleatoire = intArray[rnd.Next(intArray.Length)];
     
                return aleatoire;
            }
     
            public int NombreDivisiblesPar3(int[] intArray)
            {
                int compteur = 0;
     
                for (int i = 0; i < intArray.Length; i++)
                {
                    if (intArray[i] % 3 == 0)
                    {
                        compteur++;
                    }
                }
     
                return compteur;
            }
     
            public int NombreMin(int[] intArray)
            {
                int min = intArray.Min();
     
                return min;
            }
     
            public int NombreMax(int[] intArray)
            {
                int max = intArray.Max();
     
                return max;
            }
        }
    Voilà, j'ai essayé d'être le + clair possible, il y a des optimisations à faire mais il faut que ça reste clair pour un débutant. Si il y a quelque chose que tu ne comprends pas ou pas vu dans le cours, n'hésite pas à le dire ou à modifier.




    Sinon pour la méthode Main, si l'énoncé est tel quel, alors oui tu avais raison, le paramètre de SaveResult est mal orthographié.

    Mais si tu pouvais nous éclairer sur la classe MyUtilsExam, si ça provient d'un cours ou d'un ancien examen, etc ...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Merci pour avoir répondu à ce post. L'intitulé MyUtilsExam a été fourni dans l'énoncé que j'ai inscrit avant ma réponse. Je ne savais pas que c'était une erreur de recopiage et je pense qu'avec tous les exercices que j'ai fait avant mon examen je n'étais pas assez préparé.
    Je vais essayer de le refaire de mon côté mais je pense que j'ai des difficultés quand je crée une classe je n'arrive pas à déclarer ma classe dans Main.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide correction examen
    Par CaNiBaLe dans le forum Langage
    Réponses: 3
    Dernier message: 26/02/2015, 18h30
  2. Aides correctives affichage image
    Par upi01 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 11/11/2010, 10h28
  3. [Débutant] Ecrire une fonction - Aide pour examen
    Par matlover dans le forum MATLAB
    Réponses: 3
    Dernier message: 03/09/2010, 12h04
  4. [merise] aide correction MCD
    Par gilbertbicot dans le forum Merise
    Réponses: 3
    Dernier message: 20/01/2010, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo