2010-10-23 39 views
2

Je suis novice en programmation et je prends une classe C#. Je reçois l'erreur CS1001 de compilateur quand j'essaye d'écrire ce programme. J'ai lu la description de l'erreur du compilateur (lien ci-dessous), mais je ne comprends vraiment pas. Qu'est-ce que je fais mal?Erreur CS1001 (identificateur attendu)

http://msdn.microsoft.com/en-us/library/b839hwk4.aspx

Voici mon code source:

using System; 
public class InputMethodDemoTwo 
{ 
    public static void Main() 
    { 
     int first, second; 
     InputMethod(out first, out second); 
     Console.WriteLine("After InputMethod first is {0}", first); 
     Console.WriteLine("and second is {0}", second); 
    } 
    public static void InputMethod(out first, out second) 
    // The error is citing the line above this note. 
    { 
     one = DataEntry("first"); 
     two = DataEntry("second"); 
    } 
     public static void DataEntry(out int one, out int two) 
     { 
     string s1, s2; 
     Console.Write("Enter first integer "); 
     s1 = Console.ReadLine(); 
     Console.Write("Enter second integer "); 
     s2 = Console.ReadLine(); 
     one = Convert.ToInt32(s1); 
     two = Convert.ToInt32(s2); 
     } 
} 

Selon les instructions, je suis censé avoir une méthode b (InputData) qui tire des déclarations de méthode c (DataEntry) .. . Voici les instructions:

le InputMethod() dans le programme InputMethodDemo à la figure 6-24 contient le code répétitif qui invite l'utilisateur et ret Obtient des valeurs entières. Réécrivez le programme afin que le InputMethod() appelle une autre méthode pour effectuer le travail. La méthode InputMethod() réécrite ne doit contenir que deux instructions:

one = DataEntry ("first");

deux = DataEntry ("seconde");

Enregistrez le nouveau programme InputMethodDemo2.cs. »

Le InputMethodDemo ils se réfèrent est le même programme, à l'exception qu'il appelle une seule méthode (la InputMethod) au lieu de deux.

le texte ci-dessus j'ai parlé est "Microsoft® Visual C# ® 2008, introduction à la programmation orientée objet, 3e, Joyce Farrell"

Un conseil/aide serait grandement appréciée.

Répondre

3

C'est ce que vous êtes censé faire:

using System; 

public class InputMethodDemoTwo 
{ 
    public static void Main() 
    { 

     int first, second; 

     InputMethod(out first, out second); 
     Console.WriteLine("After InputMethod first is {0}", first); 
     Console.WriteLine("and second is {0}", second); 
     Console.ReadLine(); 
    } 

    public static void InputMethod(out int first, out int second) 
    //Data type was missing here 
    { 
     first = DataEntry("first"); 
     second = DataEntry("second"); 
    } 

    public static int DataEntry(string method) 
    //Parameter to DataEntry should be string 
    { 
     int result = 0; 
     if (method.Equals("first")) 
     { 
      Console.Write("Enter first integer "); 
      Int32.TryParse(Console.ReadLine(), out result); 

     } 
     else if (method.Equals("second")) 
     { 
      Console.Write("Enter second integer "); 
      Int32.TryParse(Console.ReadLine(), out result); 
     } 
     return result; 
    } 
} 
+0

Merci pour votre aide – Nooob

+6

qui prend en charge les devoirs de cette semaine. Disponible la semaine prochaine? –

1

Changez

public static void InputMethod(out first, out second) 
{ 
    one = DataEntry("first");  
    two = DataEntry("second"); 
} 

à

public static void InputMethod(out DataEntry first, out DataEntry second) 
{ 
    first = DataEntry("first"); 
    second = DataEntry("second"); 
} 

Vous n'avez pas fourni le type des arguments. De plus, vos arguments sont appelés premier et deuxième, pas un et deux.

+0

Cela a donné lieu à une autre erreur du compilateur ... – Nooob