Я работаю над этим уже две недели, и я знаю, что мне не хватает чего-то маленького. Мне нужно изменить старый проект на новый. Первый проект состоял в том, что кто-то вошел в их тип работы (например: w для рабочего, s для супервизора, m для менеджера и т. Д.), Их возраст и опыт. Программа сообщила бы им, смогут ли они уйти на пенсию. Если бы они не смогли уйти в отставку, они сказали им, что им нужно исправить, чтобы уйти на пенсию.fileIn, fileOut ошибки - я не могу понять это
Новая программа должна взять файлIn и создать файл, отображающий идентификатор, возраст, опыт и право на работу. После того, как все отображается, они хотят среднего возраста и опыта.
Мой учитель - парикмахер, имеющий модульные заголовки и Main on top. Я ввел код ниже в свою студию 2015 года, и я получаю три сообщения об ошибках. ФайлIn также находится ниже. Util - это ссылка от моего учителя, и я не знаю, как его скопировать.
Может ли кто-нибудь дать мне совет? Я совершенно зеленый и новичок в кодировании, поэтому я не во всех терминах, поэтому заранее извинюсь.
using System;
using System.IO;
using System.Text.RegularExpressions;
using Util;
namespace Program_9
{
class Program
{
const string INPUT_FILE_NAME = "C:\\Users\\Programing 1\\Soluation 1\\Program 9\\Retirement Numbers\\Input";
const string OUTPUT_FILE_NAME = "C:\\Users\\Programing 1\\Soluation 1\\Program 9\\Retirement Numbers\\Output";
static string lineIn;
static StreamReader fileIn;
static StreamWriter fileOut;
static char WType, WElig;
static uint id;
static double WAge, WExp;
static double numOfEmployees;
static double AvgAge, AvgExp, AgeAvgTotal = 0.0, WAge1Total = 0.0, WAge2Total = 0.0, WAge3Total = 0.0, WAge4Total = 0.0, WAge5Total = 0.0;
static double WAge6Total = 0.0, WAge7Total = 0.0, WAge8Total = 0.0, WAge9Total = 0.0, WAge10Total = 0.0, WAge11Total = 0.0, WAge12Total = 0.0;
static double ExpAvgTotal = 0.0, WExp1Total = 0.0, WExp2Total = 0.0, WExp3Total = 0.0, WExp4Total = 0.0, WExp5Total = 0.0;
static double WExp6Total = 0.0, WExp7Total = 0.0, WExp8Total = 0.0, WExp9Total = 0.0, WExp10Total = 0.0, WExp11Total = 0.0, WExp12Total = 0.0;
static void Main()
{
OpenFiles();
PrintReportHeadings();
while ((lineIn = fileIn.ReadLine()) != null)
{
ParseLineIn();
PrintDetailLine();
UpdateTotals();
}
CalcAvg();
PrintAvg();
CloseFiles();
DspData();
}
static void OpenFiles()
{
if (File.Exists(INPUT_FILE_NAME))
{
fileIn = File.OpenText(INPUT_FILE_NAME);
Console.WriteLine("{0} was opened", INPUT_FILE_NAME);
}
else
{
Console.WriteLine("Error: {0} does not exit\n", INPUT_FILE_NAME);
ConIO.Exit();
}
if (File.Exists(OUTPUT_FILE_NAME))
{
fileOut = File.CreateText(OUTPUT_FILE_NAME);
Console.WriteLine("{0} was created\n", OUTPUT_FILE_NAME);
}
else
{
Console.WriteLine("Error: {0} could not be created\n", OUTPUT_FILE_NAME);
ConIO.Exit();
}
}
static void PrintReportHeadings()
{
fileOut.WriteLine("Employee Age Experience Eligibility");
fileOut.WriteLine("{0,9}, {1,7}, {2,7}, {3}", id, WAge, WExp, WElig);
fileOut.WriteLine();
fileOut.WriteLine("Average {0,7:}, {1,7}", AvgAge, AvgExp);
}
static void ParseLineIn()
{
string[] words = new string[4];
lineIn = lineIn.Trim();
while (Regex.IsMatch(lineIn, "[ ]{2}"))
lineIn = lineIn.Replace(" ", " ");
words = lineIn.Split(' ');
id = UInt32.Parse(words[0]);
WType = char.Parse(words[1]);
WAge = int.Parse(words[2]);
WExp = int.Parse(words[3]);
}
static void PrintDetailLine()
{
fileOut.WriteLine("{0} {1,7:d} {2,7:d} {3,7:d} {4,7:d} {5,3}",
id, WAge, WExp, WElig);
}
static void UpdateTotals(int WAge1, double WAge2, double WAge3, double WAge4, double WAge5, double WAge6, double WAge7, double WAge8, double WAge9, double WAge10, double WAge11, double WAge12, double WExp1, double WExp2, double WExp3, double WExp4, double WExp5, double WExp6, double WExp7, double WExp8, double WExp9, double WExp10, double WExp11, double WExp12)
{
numOfEmployees++;
WAge1Total += WAge1;
WAge2Total += WAge2;
WAge3Total += WAge3;
WAge4Total += WAge4;
WAge5Total += WAge5;
WAge6Total += WAge6;
WAge7Total += WAge7;
WAge8Total += WAge8;
WAge9Total += WAge9;
WAge10Total += WAge10;
WAge11Total += WAge11;
WAge12Total += WAge12;
AgeAvgTotal += AvgAge;
WExp1Total += WExp1;
WExp2Total += WExp2;
WExp3Total += WExp3;
WExp4Total += WExp4;
WExp5Total += WExp5;
WExp6Total += WExp6;
WExp7Total += WExp7;
WExp8Total += WExp8;
WExp9Total += WExp9;
WExp10Total += WExp10;
WExp11Total += WExp11;
WExp12Total += WExp12;
ExpAvgTotal += AvgExp;
}
static void CalcAvg(int WAge1, double WAge2, double WAge3, double WAge4, double WAge5, double WAge6, double WAge7, double WAge8, double WAge9, double WAge10, double WAge11, double WAge12)
{
AgeAvgTotal = (WAge1 + WAge2 + WAge3 + WAge4 + WAge5 + WAge6 + WAge7 + WAge8 + WAge9 + WAge10 + WAge11 + WAge12);
AvgAge = AgeAvgTotal/numOfEmployees;
AvgExp = ExpAvgTotal/numOfEmployees;
}
static void PrintAvg()
{
fileOut.WriteLine(" ");
fileOut.WriteLine("Avg {0,7:f} {1,7:f}", AvgAge, AvgExp);
}
static void CloseFiles()
{
fileIn.Close(); fileOut.Close();
}
static void DspData()
{
switch (WType=WElig)
{
case 'W':
case 'w':
if (WAge >= 63 && WExp >= 25)
Console.WriteLine("{0} {1} {2} Employee can retire.", id, WAge, WExp);
else if (WAge >= 63 && WExp < 25)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to lack of experience.", id, WAge, WExp);
else if (WAge < 63 && WExp >= 25)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage.", id, WAge, WExp);
else if (WAge < 63 && WExp < 25)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage and lack of experience.", id, WAge, WExp);
break;
case 'S':
case 's':
if (WAge >= 60 && WExp >= 24)
Console.WriteLine("{0} {1} {2} Employee can retire.", id, WAge, WExp);
else if (WAge >= 60 && WExp < 24)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to lack of experience.", id, WAge, WExp);
else if (WAge < 60 && WExp >= 24)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage.", id, WAge, WExp);
else if (WAge < 60 && WExp < 24)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage and lack of experience.", id, WAge, WExp);
break;
case 'M':
case 'm':
if (WAge >= 55 && WExp >= 20)
Console.WriteLine("{0} {1} {2} Employee can retire.", id, WAge, WExp);
else if (WAge >= 55 && WExp < 20)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to lack of experience.", id, WAge, WExp);
else if (WAge < 55 && WExp >= 20)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage.", id, WAge, WExp);
else if (WAge < 55 && WExp < 20)
Console.WriteLine("{0} {1} {2} Employee cannot retire due to being underage and lack of experience.", id, WAge, WExp);
break;
}
}
}
}
Вот fileIn:
1235 W 45 20
2536 W 55 21
5894 W 60 30
4597 W 75 35
2597 S 35 10
5689 S 40 20
5489 W 55 39
5872 M 60 40
5569 M 55 25
5566 W 80 20
8865 M 59 35
5598 S 65 35
Вот ошибки:
Severity Code Description Project File Line Suppression State
Error CS7036 There is no argument given that corresponds to the required formal parameter 'WAge1' of 'Program.UpdateTotals(int, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)' Program9.1 C:\Users\Programing 1\Soluation 1\Program 9\Program9.1\Program9.1\Program.cs 37 Active
Severity Code Description Project File Line Suppression State
Error CS7036 There is no argument given that corresponds to the required formal parameter 'WAge1' of 'Program.CalcAvg(int, double, double, double, double, double, double, double, double, double, double, double)' Program9.1 C:\Users\Programing 1\Soluation 1\Program 9\Program9.1\Program9.1\Program.cs 39 Active
Severity Code Description Project File Line Suppression State
Warning CS0649 Field 'Program.WElig' is never assigned to, and will always have its default value Program9.1 C:\Users\Programing 1\Soluation 1\Program 9\Program9.1\Program9.1\Program.cs 20 Active
'UpdateTotals' определяются как:' UpdateTotals (Int WAge1, двойная WAge2, двойная WAge3, двойная WAge4, двойная WAge5, двойная WAge6, двойная WAge7, двойная WAge8, двойная WAge9, двойная WAge10, двойная WAge11, двойной WAge12, двойной WEXp1, двойной WEXp2, двойной WExp3, двойной WEXp4, двойной WEXp5, двойной WEXp6, двойной WEXp7, двойной WEXp8, двойной WEXp9, двойной WExp10, двойной WExp11, двойной WExp12) '. Вы называете это просто как «UpdateTotals();« ... вам нужно предоставить параметры вызова функции. это всего лишь одна из ошибок, их больше. Компилятор предоставляет вам информацию, необходимую для исправления. – Kritner
Первая ошибка говорит вам, что 'UpdateTotals()' ожидает, что в нее будут переданы аргументы. Таким образом, вам придется изменить строку 'UpdateTotals();' так, чтобы ** каждое ** одно значение, которое она ожидает, передается в: 'UpdateTotals (x, y, z и т. Д.);' Где x, y, z, и т. д. - это правильные имена переменных, которые вы указали. –
24 параметра ... дорогой лорд ... – Abion47