Partage
  • Partager sur Facebook
  • Partager sur Twitter

C# erreur CS1513 Accolade manquante

28 mars 2017 à 20:31:43

Bonjour, sur visual studio l'accolade juste au dessus de "else" se souligne en rouge et le logiciel est en attente d'une accolade alors quelle est présente (erreur CS 1513) auriez vous de l'aide a mme donnez s'il vous plait j'ai postez mon probleme sur plusieur forum d'informatique mais en vain qucune réponse concluante de mon probleme jai juste compris les quelque erreur qui était dans mon code.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace nombre_mystere
{
    // but de ce jeu console est que l'ordinateur propose un nombre compris entre 1 et 20 
    // l'utilisateur doit trouvé le nombre la console donnera des indice pour trouver le "nombre mystere"
    class Program
    {
        static void Main(string[] args)
        {
            int randomed = new Random().Next(20) + 1;
            Console.WriteLine("Saisissez un nombre entre 1 et 20: ");
            string picked = Console.ReadLine();

            int pickedNum;
            while (int.TryParse(picked, out pickedNum) == false) ;
            {
                Console.WriteLine("Oops, il ne s'agit pas d'un nombre. Essaie encore !");
                picked = Console.ReadLine();
            }
            while (pickedNum != randomed) ;
            {
                if (pickedNum > randomed) ;
                {
                    Console.WriteLine("c'est Moins !");
                }
                else
                {
                    Console.WriteLine("c'est plus !");
                }

                picked = Console.ReadLine();
                while (int.TryParse(picked, out pickedNum) == false) ;
                {
                    Console.WriteLine("Oops, il ne s'agit pas d'un nombre. Essaie encore !");
                    picked = Console.ReadLine();
                }
            }
            Console.WriteLine("Yes ! Vous avez trouvé le nombre ! " + randomed);
            Console.ReadKey();




            }

        }
    }

    



-
Edité par LouisVander-auwera 28 mars 2017 à 20:35:12

  • Partager sur Facebook
  • Partager sur Twitter
28 mars 2017 à 21:09:21

Hello,

On ne met pas de ; à la fin de toutes les lignes mais à la fin des instructions uniquement.

while (true);

L'exemple ci-dessus n'est pas une instruction et n'a aucun sens en lui-même, il faut indiquer ce que tu fais au sein de ton while, ce qui est détaillé entre deux accolades.

En C#, on ne met pas de ; après une accolade fermante, avec l'accolade ouvrante qui la précéde elle constitue un bloc et le compilateur le comprend comme tel.

Tout est expliqué dans la spécification du langage :

Une instruction peut être constituée d'une ligne unique de code qui se termine par un point-virgule, ou d'une série d'instructions sur une ligne dans un bloc. Un bloc d'instructions est placé entre accolades {} et peut contenir des blocs imbriqués. Le code suivant illustre deux exemples d'instructions sur une ligne et un bloc d'instructions multiligne

-
Edité par Pyrobolser 28 mars 2017 à 21:09:35

  • Partager sur Facebook
  • Partager sur Twitter
Si un message vous a aidé, n'oubliez pas le +1 et de passer votre sujet en "Résolu" ! :)
29 mars 2023 à 11:12:53 - Message modéré pour le motif suivant : Merci d’utiliser le bouton code pour inséré un code sur le forum


29 mars 2023 à 11:33:54

Utilisez le bouton [</>] pour poster du code.

Dans ces conditions, c'est difficile de bien lire le code mais de ce qu'on voit dans votre poste :

La dernière accolade fermante clot le catch du try/catch (foireux car sans condition de filtrage.)

Mais il n'y en n'a pas pour :

- le while

- la fonction Main

- la classe Program

- le namespace 'PremierProgramme'

je ne sais pas quel IDE vous utilisez mais les pas trop pourris donnent des indications sur l’appariement des accolades.

P.S.: créez votre propre sujet de forum, SVP.

-
Edité par bacelar 29 mars 2023 à 11:34:43

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
29 mars 2023 à 14:10:10

@SebastienDevrainne Bonjour, merci de ne pas squatter les sujets des autres pour une nouvelle question, créer votre propre sujet en utilisant le bouton code </> de la barre d'outil du forum pour poster votre code.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

-
Edité par AbcAbc6 29 mars 2023 à 14:10:33

  • Partager sur Facebook
  • Partager sur Twitter