Ich habe versucht, einen einfachen GPA-Rechner zu machen, damit ich meine eigene Funktion aufgerufen gemacht beurteilen, welche die Klasse als String entgegen nimmt, und die Punkte als DoppelProgramm sagt Eingabezeichenfolge ist nicht in einem korrekten Format C#
double assess (ref string ppo)
{
string [] grade = new string [11] {"A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "F"};
string [] num = new string [11] {"4", "3.67"," 3.33"," 3"," 2.67", "2.33", "2", "1.67", "1.33", "1"," 0"};
int i;
for (i=0; i<12; i++)
{
if (ppo == grade [i])
{
ppo=num[i];
break;
}
}
return double.Parse(ppo, System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.NumberFormatInfo.InvariantInfo);
}
Und es funktionierte gut alleine. Ich würde den Code verwenden, und es würde perfekt funktionieren, aber dann habe ich es in eine Schleife und es gab mir immer den gleichen Fehler sagen Input-String ist nicht in einem korrekten Format
Ich nahm den Code aus der Schleife, und es funktionierte gut, aber es funktioniert nicht, wenn ich es in der Schleife setzen
Program prog=new Program();
int num=Convert.ToInt32(Console.ReadLine());
int z;
for (z=0;z<num;z++)
{
point[z]=prog.assess(ref grade[z]);
}
Dann debug ... aber ein Breakpoint in der, wenn und sehen, was der Wert von PPO ist nach dem 'break' – EpicKip
Arent Sie 12 Zahlen Looping (0, 1 , 3, ..., 11), während du nur 11 Zahlen in deinen Strings hast? – Noceo
Lesen Sie [fragen] und erstellen Sie ein [mcve]. – CodeCaster