プログラムを実行しようとしていますが、実行直後にコンパイラがクラッシュするようです... ビルド エラーはありません。
コードのブロックをコメントアウトしようとしましたが、まだ役に立ちません。メインも別のファイルにコピーして実行したところ、うまくいきました....だから私は本当に困惑しました。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class Student
{
string Fname, Lname, Program ;
int Sid ;
// Inputting information for students
public void InputStudentInfo ()
{
Console.WriteLine ("Please enter your first name") ;
Fname = Console.ReadLine() ;
Console.WriteLine ("Please enter you last name") ;
Lname = Console.ReadLine() ;
Console.WriteLine ("Please enter you student ID#") ;
Sid = int.Parse(Console.ReadLine()) ;
Console.WriteLine ("Enter the Program that you are completeing") ;
Program = Console.ReadLine() ;
}
// Printing information for students
public void PrintStudentInfo ()
{
Console.Write (" Your name is " + Fname) ;
Console.Write(" " + Lname);
Console.WriteLine (" Your student identification number is " + Sid) ;
Console.WriteLine (" The program you are registered for is " + Program) ;
}
/* public void MenuInterface()
{
Console.WriteLine (" 1. Input Student information" ) ;
Console.WriteLine (" 2. Input Course information" ) ;
Console.WriteLine (" 3. Input Grade information" ) ;
Console.WriteLine (" 4. Print Course information" ) ;
Console.WriteLine (" 5. Print Student information" ) ;
Console.WriteLine (" 6. Print Grade information" ) ;
Console.WriteLine (" 7. Print Student information including Course they are registered in and the grade obtained for that course" ) ;
Console.WriteLine (" 8. Print grade info of the course in which student has achieved the highest grade" ) ;
Console.WriteLine (" 0. Exit") ;
Console.WriteLine (" Please select a choice from 0-8") ;
accode = Console.ReadLine();
} */
}
public class Course
{
string course1, course2, course3 ;
int Stuid ;
// Inputting Course Information
public void InputCourseInfo ()
{
Console.WriteLine (" Please re-enter your identification number") ;
Stuid = int.Parse(Console.ReadLine()) ;
Console.WriteLine (" Enter the name of your first course") ;
course1 = Console.ReadLine() ;
Console.WriteLine (" Enter the name of your second course") ;
course2 = Console.ReadLine() ;
Console.WriteLine (" Enter the name of your third course") ;
course3 = Console.ReadLine() ;
}
// Printing Course Information
public void PrintCourseInfo ()
{
Console.WriteLine (" Your ID # is " + Stuid) ;
Console.Write (" The Courses you selected are " + course1) ;
Console.Write("," + course2);
Console.Write(" and " + course3);
}
}
public class Grade : Course
{
int Studentid ;
int [] hwgrade ;
int [] cwgrade ;
int [] midegrade ;
int [] finalegrade ;
int [] totalgrade ;
string coursename ;
public Grade ( string cname , int Studentident , int [] homework , int [] classwork , int [] midexam , int [] finalexam)
{
coursename = cname ;
Studentid = Studentident ;
hwgrade = homework ;
cwgrade = classwork ;
midegrade = midexam ;
finalegrade = finalexam ;
}
public string coname
{
get
{
return coursename ;
}
set
{
coursename = value ;
}
}
public int Studentidenty
{
get
{
return Studentid ;
}
set
{
Studentid = value ;
}
}
public void InputGradeInfo()
{
Console.WriteLine (" Please enter your Student ID" ) ;
grade.Studentidenty = Console.ReadLine() ;
for ( int i = 0; i < 3; i++)
{
Console.Writeline (" Please enter the Course name" ) ;
grade.coname[i] = Console.Readline() ;
Console.Writeline (" Please enter your homework grade") ;
grade.hwgrade[i] = int.parse(Console.Readline()) ;
// .....
}
}
public void CalcTotalGrade()
{
for (int i = 0; i < 3; i++)
{
grade.courseper[i] = (grade.hwgrade[i] + grade.cwgrade[i]) / 2;
grade.finalper[i] = (grade.midexam[i] + grade.finalegrade[i]) / 2;
grade.totalgrade[i] = (grade.courseper[i] + finalper[i]) / 2;
}
}
public void PrintGradeInfo()
{
for ( int i = 0; i < 3; i++)
{
Console.Writeline (" Your homework grade is" + grade.hwgrade[i]) ;
// .....
}
}
static void Main(string[] args)
{
int accode ;
Student student = new Student() ;
Course course = new Course() ;
Grade grade = new Grade() ;
do
{
Console.WriteLine(" 1. Input Student information");
Console.WriteLine(" 2. Input Course information");
Console.WriteLine(" 3. Input Grade information");
Console.WriteLine(" 4. Print Course information");
Console.WriteLine(" 5. Print Student information");
Console.WriteLine(" 6. Print Grade information");
Console.WriteLine(" 7. Print Student information including Course they are registered in and the grade obtained for that course");
Console.WriteLine(" 8. Print grade info of the course in which student has achieved the highest grade");
Console.WriteLine(" 0. Exit");
Console.WriteLine(" Please select a choice from 0-8");
accode = Console.ReadLine();
switch (accode)
{
case 1:
student.InputStudentInfo();
break;
case 2:
course.InputCourseInfo();
break;
case 3:
grade.InputGradeInfo();
break;
case 4:
course.PrintCourseInfo();
break;
case 5:
student.PRintStudentInfo();
break;
case 6:
grade.PrintGradeInfo();
break;
case 0:
Console.WriteLine(" You have chosen to exit the program have a good day. =)");
break;
}
} while (accode != 0);
Console.ReadKey();
}
}
}
メインをコピーしたと言ったのは...メインの下にあるすべてのコードを取得し、新しいプロジェクトを開いてコードを元に戻し、プログラムが実行されたことを意味します。try と catch の使用に関する提案を試みましたが、 start を押すとエラーが発生せず、cmd が一瞬で開いて閉じるという同じ問題が引き続き発生します。ctrl + f5 を押すと画面が表示されますが、「続行するには任意のキーを押してください」としか表示されません。