标签:def flag 进入 界面 math 石家庄 software get 存在
石家庄铁道大学 2019 年秋季 2018 级课堂测试试卷(一)(15 分) 
课程名称: JAVA 语言程序设计  任课教师: 王建民        考试时间: 150 分钟   
 
一、考试要求:  
1、按照测试内容要求完成程序的设计与编程; 
2、建立学号姓名文件夹,如:“信 1805-1 班 20183557 杨雄豪”,将
源程序文件、accountinformation.txt、accountlist.txt 保存在文件
夹中,压缩成 rar 文件提交。 
3、以班级为单位上交最终考试结果。 
4、需要在程序开始的注释中注明班级、学号、姓名。 
二、 数据结构要求:(5 分) 
1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber, 
name, mathematicsscore, englishiscore,networkscore, databasescore,
softwarescore)。 
各成员的含义如下: 
变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数
字组成)。 
变量 name 为字符串类型 String,用于存储学生的姓名。 
变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,
高等数学的学分为 4 分。 
变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学
英语的学分为 3 分。 
变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计
算机网络的学分为 4 分。 
第 2 页 共  8 页 
变量 databasescore 为 double 类型,用于存储学生的数据库成绩,数据库
的学分为 3 分。 
变量 softwarescore 为 double 类型,用于存储学生的软件工程成绩,软件
工程的学分为 2 分。 
对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的
方法。 
2 、 赋 初 值 方 法 包 括 七 个 参 数 , 用 于 为 变 量 (stunumber , 
name, mathematicsscore, englishiscore,networkscore, databasescore,
softwarescore)赋值。 
三、 功能要求:(10 分) 
该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单
功能,定义 ScoreManagement 类完成下列功能。 
1、利用数组实现至少存储五个学生的信息; (将考生信息作为第一条记
录)。(1 分) 
2、学生成绩管理系统的主界面如下图所示:(1 分) 
①界面要求;(0.5 分) 
***********************************************************
石家庄铁道大学软件工程系 
学生学籍管理系统 2019 版 
*********************************************************** 
1、 学生考试成绩录入 
2、 学生考试成绩修改 
3、 计算学生成绩绩点 
4、退出学籍管理系统 
********************************************************** 
 
第 3 页 共  8 页 
②功能说明 
输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项
不存在),并返回主界面。(0.5 分) 
2、成绩录入功能操作流程:(3 分) 
①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示: (0.5
分) 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入 
*********************************************************** 
请输入学生学号:XXXXXXXX 
********************************************************** 
提示用户输入八位的学号。 
②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错
误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分) 
③用户输入学号正确如下图所示: 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入界面 
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
请输入高等数学成绩:XXX 
********************************************************** 
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学
英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当
第 4 页 共  8 页 
用户录完所有成绩后,显示如下界面。(1.5 分) 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入 
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
高等数学成绩:XXX 
大学英语成绩:XXX 
计算机网络成绩:XXX 
数据库成绩:XXX 
软件工程成绩:XXX 
该学生成绩已录入完毕,是否提交(Y/N) 
********************************************************** 
选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩录入界面。(0.5 分) 
3、成绩修改功能操作流程:(2 分) 
①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:
 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩修改界面 
*********************************************************** 
请输入学生学号:XXXXXXXX 
********************************************************** 
提示用户输入八位的学号。(0.5 分) 
 
第 5 页 共  8 页 
②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。
 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入 
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
1、高等数学成绩:XXX 
2、大学英语成绩:XXX 
3、计算机网络成绩:XXX 
4、数据库成绩:XXX 
5、软件工程成绩:XXX 
********************************************************** 
如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回
成绩修改界面。(0.5 分) 
③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5
分) 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入界面 
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
请输入修改后软件工程成绩:XXX 
********************************************************** 
录入修改后的成绩,则进入下一步。 
第 6 页 共  8 页 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩录入 
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
1、高等数学成绩:XXX 
2、大学英语成绩:XXX 
3、计算机网络成绩:XXX 
4、数据库成绩:XXX 
5、软件工程成绩:XXX 
该学生成绩已修改完毕,是否提交(Y/N) 
********************************************************** 
 
选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩修改界面。(0.5 分) 
 
3、计算学生成绩绩点功能操作流程:(2 分) 
①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,
如下图所示: 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩绩点计算界面 
*********************************************************** 
请输入学生学号:XXXXXXXX 
********************************************************** 
第 7 页 共  8 页 
提示用户输入八位的学号。 
②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图
所示。(1.5 分) 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
学生考试成绩绩点计算界面
*********************************************************** 
学生学号:20183557 
学生姓名:杨雄豪 
1、高等数学成绩绩点:XXX 
2、大学英语成绩绩点:XXX 
3、计算机网络成绩绩点:XXX 
4、数据库成绩绩点:XXX 
5、软件工程成绩绩点:XXX 
你的平均学分绩点为:XXX 
提示信息:XXX XXX XXX XXX XXX XXX XXX 
是否返回系统主界面:(Y/N) 
********************************************************** 
如果学分绩点大于等于 2,提示信息显示“你的学分绩点已达到毕业要
求!”; 
如果学分绩点小于 2,提示信息显示“你的学分绩点不满足毕业要求!” 
 
 
 
 
 
第 8 页 共  8 页 
学分绩点计算方法: 
(1) 百分制对应绩点 
 
分数  ≥90  
 85~
89.9 
82~
84.9 
78~
81.9 
75~
77.9 
72~
74.9 
68~
71.9 
66~
67.9 
64~
65.9 
60~
63.9 
<60 
绩点  4.0   3.7  3.3  3.0  2.7  2.3  2.0  1.7  1.5  1.0  0 
 
(2)平均学分计算方法 
平均学分绩点=∑ ( 课程绩点× 该课程学分) /∑ 课程学分 
计算平均学分绩点按四舍五入原则, 小数点后保留两位有效数字。 
 
③选择“Y”返回系统主界面。选择“N”,无操作。(0.5 分) 
 
4、用户选择数字“4”, 显示如下界面,退出当前程序。(1 分) 
***********************************************************
谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
制作人:考生姓名 
*********************************************************** 
//张华锦 20183631 信1805-2
//ScoreInformation类
package java考试;
public class ScoreInformation {
	 private String stunumber; 
	    private String name;
	    private Double mathematicsscore;
	    private Double englishiscore;
	    private Double networkscore;
	    private Double databasescore;
	    private Double softwarescore;
	    ScoreInformation ()
	    {
	        stunumber="";//学号
	        name="";//姓名
	        mathematicsscore =0.0;//高数成绩
	        englishiscore =0.0;	//大学英语成绩
	        networkscore =0.0;//计算机网络成绩
	        databasescore=0.0;//数据库成绩
	        softwarescore=0.0;//软件工程成绩
	    }
	   /* ScoreInformation (String a,String b,Double c,Double d,Double e,Double f,Double g)
	    {
	        stunumber=a;
	        name=b;
	        mathematicsscore=c;
	        englishiscore=d;
	        networkscore=e;
	        databasescore=f;
	        softwarescore=g;
	    }*/
	    
	    public void set_stunumber(String stunumber)
	    {
	        this.stunumber=stunumber;
	    }
	    public void set_name(String name)
	    {
	        this.name=name;
	    }
	    public void set_mathematicsscore(Double mathematicsscore)
	    {
	    	this.mathematicsscore=mathematicsscore;
	    }
	    public void set_englishiscore(Double englishiscore)
	    {
	    	this.englishiscore=englishiscore;
	    }
	    public void set_networkscore(Double networkscore)
	    {
	    	this.networkscore=networkscore;
	    }
	    public void set_databasescore(Double databasescore)
	    {
	    	this.databasescore=databasescore;
	    }
	    public void set_softwarescore(Double softwarescore)
	    {
	    	this.softwarescore=softwarescore;
	    }
	    public String get_stunumber()
	    {
	        return stunumber;
	    }
	    public String get_name()
	    {
	        return name;
	    }
	    public Double get_mathematicsscore()
	    {
	        return mathematicsscore;
	    }
	    public Double get_englishiscore()
	    {
	        return englishiscore;
	    }
	    public Double get_networkscore()
	    {
	        return networkscore;
	    }
	    public Double get_databasescore()
	    {
	        return databasescore;
	    }
	    public Double get_softwarescore()
	    {
	        return softwarescore;
	    }
	  
}
//张华锦 20183631 信1805-2
//Scoremanagement类
package java考试;
import java.util.Scanner;
public class ScoreManagement {
	private static ScoreInformation[] A=new ScoreInformation[5];
	public static void main(String[] args) {
		for(int i=0;i<5;i++)
		{
			A[i]=new ScoreInformation();
		}
		A[0].set_stunumber("20183631");A[0].set_name("张华锦");
		A[1].set_stunumber("20183630");A[1].set_name("丁贺雄");		
		A[2].set_stunumber("20183629");A[2].set_name("苗可卓");
		A[3].set_stunumber("20183628");A[3].set_name("做下");
		A[4].set_stunumber("20183627");A[4].set_name("自行车");
		Scanner input=new Scanner(System.in);
        int select=1;
        for(;;)
        {
            shouye();
             do
             {
               select=input.nextInt();
             } while(select<1||select>4);
           switch(select)
           {
                case 1:scorein();break;
                case 2:scorechange();break;
                case 3:jisuan();break;
                case 4:back();break;
                default:System.out.println("该选项不存在!");
           }if(select==4) break;
	    }
        
   }
	//录入成绩
	private static void scorein()
	{
		String a,b;Double c,d,e,f,g;
		int flag=0;
		Scanner input=new Scanner(System.in);
		
	    System.out.println("***********************************************************");
		System.out.println("    石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
		System.out.println("             学生考试成绩录入 ");
		System.out.println("***********************************************************");
		System.out.println("           请输入学生学号: ");
		a=input.next();
		System.out.println("***********************************************************");
		for(int i=0;i<5;i++)
		{
	     if(A[i].get_stunumber().equals(a))
		    {
			  
			  String t;
			 do
			 {
				
			  jiemian(A[i]);
			  System.out.println("请输入高数成绩:");
			  c=input.nextDouble();A[i].set_mathematicsscore(c);
			   jiemian(A[i]);System.out.println("请输入大学英语成绩");
			  d=input.nextDouble();A[i].set_englishiscore(d);
			  jiemian(A[i]);System.out.println("请输入计算机网络成绩");
			  e=input.nextDouble();A[i].set_networkscore(e);
			
			  jiemian(A[i]);System.out.println("请输入数据库成绩");
			 f=input.nextDouble();A[i].set_databasescore(f);
			  jiemian(A[i]);System.out.println("请输入软件工程成绩");
			  g=input.nextDouble();A[i].set_softwarescore(g);
			  jiemian(A[i]);
			  System.out.println("该学生成绩已录入完毕,是否提交(Y/N) ");
			  t=input.next();
			  System.out.println("********************************************************** ");
			 }while(t.equals("N"));
			 flag=1;break;
			}
		}
		if(flag==0) 
		{
			System.out.println("找不到该名学生。");
			
		}
	}
		
	//修改成绩
	private static void scorechange()
	{
		
		boolean bool=false;
		do
		{
			String a,b;
			
			Scanner sca=new Scanner(System.in);
			xiugai1();
			b=sca.next();
			for(int i=0;i<5;i++)
			{
				a=A[i].get_stunumber();
				if(a.equals(b))
				{
					String str;
					do 
					{
						int x=0;
						xiugai2(A[i]);
						x=sca.nextInt();
						xiugai3(A[i], x);
						str=sca.next();
					}while(str.equals("N"));
					bool=true;
					break;
					
				}
			}
			if(bool==false)
			{
				System.out.println("找不到该名学生。");
			}
		}while(bool==false);
	}
	//计算绩点
	private static void jisuan()
	{
		Scanner sca=new Scanner(System.in);
		boolean bool=false;
		do
		{
			String a,b;
			jidian1();
			b=sca.next();
			for(int i=0;i<5;i++)
			{
				a=A[i].get_stunumber();
				if(a.equals(b))
				{
					String str;
					do 
					{
						jidian2(A[i]);
						str=sca.next();
					}while(str.equals("N"));
					bool=true;
					break;
				}
			}
			if(bool==false)
			{
				System.out.println("找不到该名学生。");
			}
		}while(bool==false);
		
	}
	
	
	private static double jidian(double c)
	{
		 double c1=0;
		 if(c>=75)
		 {
			 if(c<90)
			 {
				 
				 if(c<82)
				 {
					 if(c<78)
					 {
						 c1=2.7;
					 }
					 else
					 {
						 c1=3;
					 }
				 }
				 else
				 {
					if(c<85)
					{
						c1=3.3;
					}
					else
					{
						c1=3.7;
					}
				 }
			 }
			 else
			 {
				 c1=4;
			 }
		 }
		 else
		 {
			if(c<66)
			{
				if(c<60)
				{
					c1=0;
				}
				else
				{
					if(c<64)
					{
						c1=1;
					}
					else
					{
						c1=1.5;
					}
				}
			}
			else
			{
				if(c<68)
				{
					c1=1.7;
				}
				else
				{
					if(c<72)
					{
						c1=2;
					}
					else
					{
						c1=2.3;
					}
				}
			} 
		 }
		 return c1;
		
	} public static void xiugai1()
	 {
		 xiugai();
		 System.out.print("请输入学生学号: ");
	 }
	 public static void xiugai2(ScoreInformation S)
	 {
		xiugai();
		 System.out.println("                  学生学号:"+S.get_stunumber());
		 System.out.println("                  学生姓名:"+S.get_name());
		 System.out.println("               1 、高数成绩:"+S.get_mathematicsscore());
		 System.out.println("               2、大学英语成绩:"+S.get_englishiscore());
		 System.out.println("               3、 计算机网络成绩:"+S.get_networkscore());
		 System.out.println("               4、 数据库成绩:"+S.get_databasescore());
		 System.out.println("               5、 软件工程成绩:"+S.get_softwarescore());
		 System.out.println("***********************************************************");
		 System.out.print("请输入需要修改的成绩序号:");
	 }
	 public static void jidian1()
	 {
		 System.out.println("***********************************************************");
		 System.out.println("             石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
		 System.out.println("                    学生考试成绩绩点计算界面 ");
		 System.out.println("***********************************************************");
		 System.out.print("                     请输入学生学号:");
	 }
	 public static void jidian2(ScoreInformation S)
	 {
		 double c1,d1,e1,f1,g1,p;
		 c1=jidian(S.get_mathematicsscore());
		 d1=jidian(S.get_englishiscore());
		 e1=jidian(S.get_networkscore());
		 f1=jidian(S.get_databasescore());
		 g1=jidian(S.get_softwarescore());
		 p=(c1*4+d1*3+e1*4+f1*3+g1*2)/16;
		 System.out.println("***********************************************************");
		 System.out.println("             石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
		 System.out.println("                    学生考试成绩绩点计算界面 ");
		 System.out.println("***********************************************************");
		 System.out.println("                  学生学号:"+S.get_stunumber());
		 System.out.println("                  学生姓名:"+S.get_name());
		 System.out.println("               1 、高数成绩绩点:"+c1);
		 System.out.println("               2、大学英语成绩绩点:"+d1);
		 System.out.println("               3、 计算机网络成绩绩点:"+e1);
		 System.out.println("               4、 数据库成绩绩点:"+f1);
		 System.out.println("               5、 软件工程成绩绩点:"+g1);
		 System.out.print("                   你的平均学分绩点为:");
		 System.out.printf("%.2f",p);
		 System.out.println();
		 if(p>2)
		 {
			 System.out.println("            提示信息:你的学分绩点已达到毕业要求!");
		 }
		 else
		 {
			 System.out.println("            提示信息:你的学分绩点不满足毕业要求!");
		 }
		 System.out.print("                是否返回系统主界面:(Y/N)");
		 System.out.println("***********************************************************");
	 }
	 public static void xiugai3(ScoreInformation S,int x)
	 {
		 Scanner sca=new Scanner(System.in);
		 double c1;
		xiugai();
		 if(x==1)
		 {
		 System.out.println("     学生学号:"+S.get_stunumber());
          System.out.println("    学生姓名:"+S.get_name());	
		 System.out.println("请输入修改后的高数成绩:");
		 
			 c1=sca.nextDouble();
			 S.set_mathematicsscore(c1);
			 
		 }
		 if(x==2)
		 {System.out.println("  学生学号:"+S.get_stunumber());
         System.out.println("   学生姓名:"+S.get_name());	
			 System.out.println("请输入修改后的大学英语成绩:");
		
			 c1=sca.nextDouble();
			 S.set_englishiscore(c1); System.out.println("***********************************************************");
		 }
		 if(x==3)
		 {System.out.println("学生学号:"+S.get_stunumber());
         System.out.println("学生姓名:"+S.get_name());		
		 System.out.print("请输入修改后的计算机网络成绩:");
		
			 c1=sca.nextDouble();
			 S.set_networkscore(c1); System.out.println("***********************************************************");
		 }
		 if(x==4)
		 {System.out.println("学生学号:"+S.get_stunumber());
         System.out.println("学生姓名:"+S.get_name());	
			 System.out.println("请输入修改后的数据库成绩:");
			
			 c1=sca.nextDouble();
			 S.set_databasescore(c1); System.out.println("***********************************************************");
		 }
		 if(x==5)
		 {System.out.println("学生学号:"+S.get_stunumber());
         System.out.println("学生姓名:"+S.get_name());	
			 System.out.println("请输入修改后的软件工程成绩:");
			 
			 c1=sca.nextDouble();
			 S.set_softwarescore(c1);System.out.println("***********************************************************");
		 }
		 xiugai();
		 System.out.println("                  学生学号:"+S.get_stunumber());
		 System.out.println("                  学生姓名:"+S.get_name());
		 System.out.println("               1 、高数成绩:"+S.get_mathematicsscore());
		 System.out.println("               2、大学英语成绩:"+S.get_englishiscore());
		 System.out.println("               3、 计算机网络成绩:"+S.get_networkscore());
		 System.out.println("               4、 数据库成绩:"+S.get_databasescore());
		 System.out.println("               5、 软件工程成绩:"+S.get_softwarescore());
		 System.out.println("***********************************************************");
		 System.out.println("            该学生成绩已修改完毕,是否提交(Y/N)");
		 System.out.println("********************************************************** ");
	 }
	private static void xiugai()
	{
		System.out.println("***********************************************************");
   	 System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
   	 System.out.println("学生考试成绩录入界面 ");
   	 System.out.println("***********************************************************");
	}
	private static void jiemian(ScoreInformation q)
	{
		 System.out.println("***********************************************************");
	     System.out.println("石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
	     System.out.println("学生考试成绩录入界面 ");
	     System.out.println("*********************************************************** ");
	     System.out.println("学生学号:"+q.get_stunumber());
	     System.out.println("学生姓名:"+q.get_name());
	    
	 if(q.get_mathematicsscore()!=0.0)
	 {
		 System.out.println("高等数学成绩:"+q.get_mathematicsscore());
		 
	 }
	  if(q.get_englishiscore()!=0.0)
	  {System.out.println("大学英语成绩:"+q.get_englishiscore());
	 
     	 
	  } 
	   if(q.get_softwarescore()!=0.0)
	  {
		 System.out.println("软件工程成绩:"+q.get_softwarescore());
		
	  }
	   if(q.get_databasescore()!=0.0)
	    {
		 System.out.println("数据库成绩:"+q.get_databasescore());	
	    }
	   if(q.get_networkscore()!=0)
	   {
		 System.out.println("计算机网络成绩:"+q.get_networkscore());
		
		 
	   } 
	 
	}	
private static void back()
	{
		System.out.println("***********************************************************");
		System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
		System.out.println("          制作人:张华锦");
		System.out.println("***********************************************************");
	}
  private static void shouye()
  {
	   System.out.println("***********************************************************");
	   System.out.println("                石家庄铁道大学软件工程系 ");
	   System.out.println("                学生学籍管理系统 2019 版 ");
	   System.out.println("***********************************************************");
	   System.out.println("                  1、 学生考试成绩录入 ");
	   System.out.println("                  2、 学生考试成绩修改 ");
	   System.out.println("                  3、 计算学生成绩绩点");
	   System.out.println("                  4、退出学籍管理系统 ");
	   System.out.println("***********************************************************");
   }
}
标签:def flag 进入 界面 math 石家庄 software get 存在
原文地址:https://www.cnblogs.com/zhjvvvvvv/p/11515529.html