2013년 1월 4일 금요일

[Java] 성적 입력 및 출력 프로그램


import java.util.Scanner;

public class Main {

//2차원배열을 생성한 후 여러명의 성적을 입력을 받자.
//이름, 국어, 영어, 수학 입력
//전체 출력
//결과> 홍길동 90 80 70
//         박찬호 80 60 90
static Scanner sc = new Scanner(System.in);
public static void showMenu() {
System.out.println("1.성적입력  2.전체성적  3.개인성적  4.총점과 평점  5.과목별 평균  6.종료");
}

public static void inputGrade(int cnt, String[] name, int[][] arr){

System.out.print("이름을 입력하세요 :");
name[cnt] = sc.nextLine();
System.out.println("국어 성적을 입력하세요 :");
arr[cnt][0] = sc.nextInt();
System.out.println("영어 성적을 입력하세요 :");
arr[cnt][1] = sc.nextInt();
System.out.println("수학 성적을 입력하세요 :");
arr[cnt][2] = sc.nextInt();
sc.nextLine();
}

public static void showAll(int cnt, String[] name, int[][] arr){
System.out.println("이름\t 국어\t 영어\t 수학\t");
for(int i=0; i<cnt; i++){
System.out.print(name[i] + "\t");
for(int j=0; j<3; j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}

public static void showOne(int cnt, String[] name, int[][] arr){
String str ="";
System.out.print("출력할 개인의 이름을 입력하세요 :");
str = sc.nextLine();

for(int i=0; i<cnt; i++){
if(str.equals(name[i])){
System.out.println("이름\t 국어\t 영어\t 수학\t");
System.out.print(name[i] + "\t");
for(int j=0; j<3; j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
break;
}
else if(i==cnt-1){
System.out.println("이름을 찾을 수 없습니다.");
}
}

}

public static void outputGrade(int cnt, String[] name, int[][] arr){
for(int i=0; i<cnt; i++){
for(int j=0; j<3; j++){
arr[i][3] += arr[i][j];
}
arr[i][4]=arr[i][3]/3;
}

for(int i=0; i<cnt; i++){
System.out.print(name[i] + "님의 총점과 평점 : ");
for(int j=3; j<5; j++){
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}

public static void averSub(int cnt, String[] name, int[][] arr){
int total[] = new int[3];
int avg[]=new int[3];

for(int i=0; i<3; i++){
for(int j=0; j<cnt; j++){
total[i] += arr[j][i];
}
}

System.out.println("국어평점\t 영어평점\t 수학평점\t");
for(int i=0; i<3; i++){
avg[i] = total[i]/cnt;
System.out.print(avg[i] + "\t\t");
}
System.out.println();
}

public static void main(String[] args) throws Exception {
String[] name = new String[10];
int[][] arr = new int[10][5];
int cnt=0;

while (true) {
showMenu();
int menu = sc.nextInt();//정수 입력!
sc.nextLine();//버퍼를 비워준다!

switch (menu) {
case 1:
inputGrade(cnt, name, arr);
cnt++;
break;
case 2:
showAll(cnt, name, arr);
break;
case 3:
showOne(cnt, name, arr);
break;
case 4:
outputGrade(cnt, name, arr);
break;
case 5:
averSub(cnt, name, arr);
break;
case 6:
System.out.println("프로그램 종료");
return;
}
}
}

}

댓글 1개: