본문 바로가기

JAVA/기초 프로그래밍

학생 성적관리 프로그램 (미완성)

	public static void main(String[] args) {
		/*
	 	학생 성적 관리
	 	String student[][];
	 	
	 	메뉴 ---
	 	1. 학생 정보 추가		insert	(예: 홍길동, 나이, 영어, 수학)
	 	2. 학생 정보 삭제		delete
	 	3. 학생 정보 검색		search
	 	4. 학생 정보 수정		update
	 	5. 학생 정보 모두 출력
	 	
	 	6. 과목의 총점	-> 1. 영어	2.수학
	 	7. 과목의 평균
	 	
	 	8. 성적순으로 정렬
	 	
	 	9. 데이터 저장
	 	
	 */
	
	Scanner sc = new Scanner(System.in);
	String student[][] = new String [20][4];
	int choice;
	
	for (int i = 0; i < student.length; i++) {
		for (int j = 0; j < student[i].length; j++) {
			student[i][j] = "";
		}
	}
	
	while(true) {
	System.out.println("-----------------메뉴");
	System.out.println("1. 학생 정보 추가");
	System.out.println("2. 학생 정보 삭제");// 이름 찾아 " "입력
	System.out.println("3. 학생 정보 검색");//이름으로 검색
	System.out.println("4. 학생 정보 수정");//학생 찾고 수정
	System.out.println("5. 학생 정보 모두 출력");
	System.out.println("6. 과목의 총점 계산");
	System.out.println("7. 과목의 평균 계산");
	
	System.out.println("메뉴 번호를 입력해 주십시오");
	System.out.println(">>>");
	choice = sc.nextInt();
	
	switch(choice) {
		case 1://학생추가
			insert(student);
			break;
		case 2:
			delete(student);
			break;
		case 3:
			search(student);
			break;
		case 4:
			update(student);
			break;
		case 5:
			print(student);
			break;
		case 6:
			sum(student);
			break;
		case 7:
			sum(student);
			break;
	}
	}
	
}
//=create
static void insert(String student[][]) {// 학생 정보 추가
	Scanner sc = new Scanner(System.in);
	
	int findIndex = -1;
	for (int i = 0; i < student.length; i++) {
		if(student[i][0].equals("")) {	//0 1 2
			findIndex = i;
			break;
		}
	}
	System.out.println("findIndex:"+findIndex);
	
	System.out.println("이름 : ");
	String name = sc.next();
	
	System.out.println("나이 :");
	String age = sc.next();
	
	System.out.println("영어 : ");
	String eng = sc.next();
	
	System.out.println("수학 : ");
	String math = sc.next();
	
	student[findIndex][0] = name;
	student[findIndex][1] = age;
	student[findIndex][2] = eng;
	student[findIndex][3] = math;
	
	System.out.println("입력완료"+student[findIndex][0]);
}



/////////////////////delete
static void delete(String student[][]) {
	Scanner sc = new Scanner(System.in);
	
	System.out.println("삭제 할 학생의 이름 : ");
	String name = sc.next();
	
	int findIndex = -1;
	for (int i = 0; i < student.length; i++) {
		if(name.equals(student[i][0])) {
			findIndex = i;
			break;
		}
	} 	
	
	if(findIndex == -1) {
		System.out.println("삭제할 데이터를 찾을 수 없습니다");
	}else {
		for (int i = 0; i < student[findIndex].length; i++) {
			student[findIndex][i] = "";
		}
		
		System.out.println("성공적으로 데이터를 삭제하였습니다");
	}				
}


///////////////////////////////search

static void search(String student[][]) {
	Scanner sc = new Scanner(System.in);
	
	System.out.println("검색 할 학생의 이름 : ");
	String name = sc.next();
	
	int findIndex = -1;
	for (int i = 0; i < student.length; i++) {
		if(name.equals(student[i][0])) {
			findIndex = i;
			break;
		}
	} 	
	
	if(findIndex == -1) {
		System.out.println("데이터를 찾을 수 없습니다");
	}else {
		for (int i = 0; i < student.length; i++) {
			if(!student[i][0].equals("")) {	//0 1 2
				for (i = 0; i < student.length; i++) {
					for (int j = 0; j < student[i].length; j++) {
						System.out.println(student[i][j]);
				}
			}
		}				
	}
	}
}
/////////////////////////////////update	

static void update(String student[][]) {
	Scanner sc = new Scanner(System.in);
	
	System.out.println("수정 할 학생의 이름 : ");
	String name = sc.next();
	
	int findIndex = -1;
	for (int i = 0; i < student.length; i++) {
		if(name.equals(student[i][0])) {
			findIndex = i;
			break;
		}
	} 	
	
	if(findIndex == -1) {
		System.out.println("데이터를 찾을 수 없습니다");
	}else {
		
		System.out.println("findIndex:"+findIndex);
		
		System.out.println("이름 : ");
		String newName = sc.next();
		
		System.out.println("나이 :");
		String age = sc.next();
		
		System.out.println("영어 : ");
		String eng = sc.next();
		
		System.out.println("수학 : ");
		String math = sc.next();
		
		student[findIndex][0] = newName;
		student[findIndex][1] = age;
		student[findIndex][2] = eng;
		student[findIndex][3] = math;
		
		System.out.println("입력완료"+student[findIndex][0]);
		}
		
		System.out.println("성공적으로 데이터를 수정하였습니다");
	}				


/////////////////////////////////////////학생 정보 모두 출력
static void print(String student[][]) {
	for (int i = 0; i < student.length; i++) {
		System.out.print(student[i][0]);
		System.out.print(student[i][1]);
		System.out.print(student[i][2]);
		System.out.println(student[i][3]);
	}
	
}



////////////////////////////////////////과목의 총점	-> 1. 영어	2.수학
static void sum(String student[][]) {
	Scanner sc = new Scanner(System.in);
	
	
	int engSum = 0;
	int mathSum = 0;
	
	
	System.out.println("과목의 총점을 계산합니다. 1.영어     2. 수학");
	System.out.println(">>>");
	int choiceSum = sc.nextInt();
	
	//문자 점수를 숫자로 변환
	
	
	int studentCount[][] = new int[student.length][2];
	for (int i = 0; i < studentCount.length; i++) {
		studentCount[i][0] = Integer.parseInt(student[i][2]);//eng
		studentCount[i][1] = Integer.parseInt(student[i][3]);//math
		}
	if (choiceSum == 1) {
		for (int i = 0; i < studentCount.length; i++) {
			mathSum += studentCount[i][0];
		}
		System.out.println("영어 총점은 : " + engSum);
		
	}else if(choiceSum == 2) {
		for (int i = 0; i < studentCount.length; i++) {
			mathSum += studentCount[i][1];
		}
		System.out.println("수학 총점은 : " + mathSum);
	}
	
	
	//student[findIndex][1] = age;
	//student[findIndex][2] = eng;
	


	



	}