728x90
반응형
📂프로젝트 파일
💾소스코드
import java.util.Arrays;
import java.util.Scanner;
/* 9. 학생들의 C언어, 자바 성적을 저장하고 평균과 석차를 출력하는 성적관리 프로그램을 만든다.
저장할 데이터 : 이름(String), C언어 성적(int), 자바 성적(int), 평균(float), 석차(int)
학급 인원 : 5명
메뉴 1. 데이터 입력 : 학생별 이름과 C언어와 자바 성적을 입력
2. 데이터 출력 : 저장된 모든 학생의 이름과 성적을 출력
3. 이름 입력하면 과목별 성적과 평균 및 석차 출력
4. 성적순으로 이름 출력 */
public class StudentScore {
static final int MAX_NUM = 5;
static String[] name = new String[MAX_NUM];
static int[][] score = new int[MAX_NUM][2];
static int[] rank = new int[MAX_NUM];
static int[] sum = new int[MAX_NUM];
static float[] average = new float[MAX_NUM];
public static void main(String[] args) {
System.out.println("성적 관리 프로그램을 시작합니다.");
selectMenu();
}
static void selectMenu() {
System.out.println("\n메뉴 조회");
System.out.println("1. 데이터 입력" + "\n2. 데이터 출력" + "\n3. 이름검색" + "\n4. 성적별 조회");
System.out.print("\n메뉴 선택 >> ");
// 메뉴 버튼
Scanner scanner = new Scanner(System.in);
int MenuNumber = scanner.nextInt();
int i = 0, j = 0;
switch (MenuNumber) {
// 1. 데이터 입력 : 학생별 이름과 C언어와 자바 성적을 입력
case 1:
System.out.println("\n메뉴 1 이동");
// 성적 입력
for (i = 0; i < score.length; i++) {
System.out.println("************************");
System.out.print("이름 >>> ");
name[i] = scanner.next();
System.out.print("C언어 성적, java 성적 >>> ");
for (j = 0; j < score[i].length; j++) {
score[i][j] = scanner.nextInt();
}
}
for (i = 0; i < rank.length; i++) {
rank[i] = 1;
}
for (i = 0; i < score.length; i++) {
sum[i] = 0;
// 성적
for (j = 0; j < score[i].length; j++) {
sum[i] += score[i][j];
}
average[i] = (float) sum[i] / score[i].length;
}
// 석차
for (i = 0; i < average.length; i++) {
for (j = 0; j < average.length; j++) {
if (average[i] < average[j]) {
rank[i]++;
}
}
}
selectMenu();
break;
// 2. 데이터 출력 : 저장된 모든 학생의 이름과 성적을 출력
case 2:
System.out.println("\n메뉴 2 이동");
System.out.println("*****************************");
System.out.println("이름\t C성적\t\tJAVA성적");
for (i = 0; i < score.length; i++) {
System.out.print(name[i]);
for (j = 0; j < score[i].length; j++) {
System.out.print("\t " + score[i][j] + "\t");
}
System.out.println();
}
selectMenu();
break;
// 3. 이름 입력하면 과목별 성적과 평균 및 석차 출력
case 3:
System.out.println("\n메뉴 3 이동");
System.out.println("**************************************");
System.out.print("성적을 검색하려면 이름을 적으세요>> ");
Scanner sc = new Scanner(System.in);
String nameLookup = sc.next();
for (i = 0; i < score.length; i++) {
if (name[i].equals(nameLookup)) {
System.out.println("이름\tC성적\tJAVA성적\t평균\t석차");
System.out.print(name[i] + "\t");
for (j = 0; j < score[i].length; j++) {
System.out.print(score[i][j] + "\t");
}
System.out.print(average[i] + "\t");
System.out.print(rank[i]);
break;
}
}
System.out.println("");
selectMenu();
break;
// 4. 성적순으로 이름 출력
case 4:
System.out.println("\n메뉴 4 이동");
System.out.println("**************************************");
System.out.println("성적순 이름 조회");
String[] arr = new String[rank.length];
for(i=0; i<rank.length; i++) {
for(j=0; j<rank.length; j++) {
if(rank[j]== (i+1)) {
arr[i] = name[j];
}
}
}
System.out.println(Arrays.toString(arr));
selectMenu();
break;
default:
System.out.println("error");
}
}
}
💬실행 결과
728x90
반응형
'Project > Study | etc' 카테고리의 다른 글
Team Project - 계산기 프로그램 (0) | 2022.07.01 |
---|---|
상품 구매 프로그램 (0) | 2022.06.29 |
성적 관리 프로그램 + 설계, 메소드 구현 (0) | 2022.06.28 |
랜덤 카드 추출 게임 (0) | 2022.06.26 |
Cat 클래스 만들기 (0) | 2022.06.23 |
댓글