14-09-2007, 10:49
|
|
|
|
חבר מתאריך: 01.05.06
הודעות: 7,861
|
|
הסתבכות קלה בעבודה עם break & continue ב C#
בניתי תוכנית די פשוטה שבה יש סוג של ניווט ל:
- הצגה כפלט את הקלט שנקלט לגבי שם משתמש וסיסמא.
- חישוב ממוצע בין שלושה פרמטרים.
ובסוף אפשרות להתחיל את התכנית מהתחלה ולחזור ל"תפריט".
הרעיון שלי הוא ליצור לולאת for אין-סופית.
בסוף התכנית לרשום break;
ואם באמצע התכנית נשאלת השאלה האם לחזור להתחלה, תתבצע פקודת continue.
כפי שידוע לי, ב PHP היה אפשר לעשות דבר כזה, אך כאן קצת הסתבכתי.
הקוד:
קוד:
/*
program that navigates between two programs - first:login, second:average;
*/
using System;
publicclassPrograms
{
publicstaticvoid user() {
string username, password, inner_input;
Console.WriteLine("Enter username:");
username = Console.ReadLine();
Console.WriteLine("Enter password:");
password = Console.ReadLine();
Console.WriteLine("Your username is:{0}\nYour password is:{1}", username, password); //output
Console.WriteLine("Back to the menu?[yes/no]");
inner_input = Console.ReadLine();
if (inner_input == "yes")
continue;
}
publicstaticvoid average()
{
float firstG, secondG, thirdG, result;
string inner_input;
Console.WriteLine("Enter your first grade:");
firstG = float.Parse(Console.ReadLine());
Console.WriteLine("Enter your second grade:");
secondG = float.Parse(Console.ReadLine());
Console.WriteLine("Enter your third grade:");
thirdG = float.Parse(Console.ReadLine());
result = (firstG + secondG + thirdG) / 3;
Console.WriteLine("your average is {0}", result);
Console.WriteLine("Back to the menu?[yes/no]");
inner_input = Console.ReadLine();
if (inner_input == "yes")
continue;
}
publicstaticvoid Main()
{
for ( ; ; )
{
int input;
Console.WriteLine("You may choose a program to use:");
Console.WriteLine("1.Username login");
Console.WriteLine("2.Average counting");
Console.WriteLine("choose 1/2:");
input = int.Parse(Console.ReadLine());
switch (input) //Navigator
{
case 1:
user();
break;
case 2:
average();
break;
default:
Console.WriteLine("You should enter valid values[1/2]\n");
continue;
break;
}
break;
}
}
}
השגיאה:
קוד:
Error 1 No enclosing loop out of which to break or continue
השגיאה מתייחסת לכל מקום בו מופיע continue.
תודה מראש.
|