[ java ] 학생별 과목점수 입력 및 통계 프로그램 작성하기 (학생은 최대 5명, 과목은 3과목)
작성일 20-12-16 01:13
페이지 정보
작성자 웹지기 조회 9,347회 댓글 0건본문
1) 학생별 과목 점수 입력 - 과목은 총 3과목 ( DataBase, Python, Java )
2) 학생총 입력 가능 수 - 5명
3) 학생을 검색 - 학생의 평균과 학점 표기
4) 점수별 - 학생별 점수를 별로 표기
5) 과목별 평균점수, 전체과목의 평균점수
시작화면
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>
[1] 화면 --------------------------------------------
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>1
1. 이름입력 :장가
1. DataBase입력 :100
1. Python입력 :95
1. Java입력 :98
등록 완료되었습니다.
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>
[2]화면 --------------------------------------------
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>2
==========개별확인==========
확인하고 싶은 학생의 이름을 입력하세요 : 장가
이름 : 장가
DataBase : 100
Python : 95
Java : 98
평균 : 97
학점 : A+
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>
[3] 화면 --------------------------------------------
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>3
==========전체확인==========
100
90 * * *
80 * * * *
70 * * * *
60 * * * *
50 * * * * *
40 * * * * *
30 * * * * *
20 * * * * *
10 * * * * *
장가 최가 박가 최가 추가
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>
[4] 화면 --------------------------------------------
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>4
==========성적통계==========
DataBase평균 :82
Python평균 :81
Java평균 :90
전체평균 :84
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>
[5] 화면 --------------------------------------------
==========성적관리프로그램==========
[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>5
프로그램을 종료합니다.
import java.util.Scanner;
public class Question6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//int[][] scores = {{100,95,98},{60,61,62},{70,71,72},{80,81,82},{90,91,92}};
//String[] names = {"서가", "정가", "이가", "허가", "유가"};
//int cnt=names.length;
//점수 입력 받을 변수
int[][] scores = new int[5][3];
//이름 입력 받을 변수
String[] names = new String[5];
//입력된 개수를 새는 변수
int cnt = 0;
//문자열 비교할 변수
String str = "";
//과목 정의 변수
String[] ga = {"DataBase", "Python", "Java"};
//현재 선택된 번호 변수
int sel = 0;
while(true) {
//기본제공화면 및 선택
System.out.println("==========성적관리프로그램==========");
System.out.print("[1]성적입력 [2]개별확인 [3]전체확인 [4]성적통계 [5]종료 >>");
sel = sc.nextInt();
//5명이 입력 되지 않았고 sel이 1이면 새로운 데이터를 입력 받는다.
if(cnt < 5 && sel == 1) {
System.out.print((cnt+1)+". 이름입력 :");
names[cnt] = sc.next();
for(int i=0; i<(ga.length); i++) {
System.out.print((cnt+1)+". "+ga[i]+"입력 :");
scores[cnt][i] = sc.nextInt();
}
System.out.println("등록 완료되었습니다.");
sel = 0;
cnt++;
} else {
//혹시 반대가 있을까??
;
}
if(sel == 1) { //이름및 점수 입력
//5명이 입력되지 않았다면 입력 가능
if(cnt < 5) {
//사용자 이름을 입력
System.out.print((cnt+1)+". 이름입력 :");
names[cnt] = sc.next();
//과목의 점수를 입력
for(int i=0; i<(ga.length); i++) {
System.out.print((cnt+1)+". "+ga[i]+"입력 :");
scores[cnt][i] = sc.nextInt();
}
System.out.println("등록 완료되었습니다.");
//입력후 등록인원 추가
cnt++;
} else {
//5명이 등록 되었으면 추가등록을 받지 않는다.
System.out.println("더 이상 등록이 불가능 합니다!");
}
} else if(sel == 2) { //개별 확인
System.out.println("==========개별확인==========");
if(cnt==0) {
System.out.println("==========정보를 먼저 입력 하세요==========");
} else {
//검색할 학생의 이름
System.out.print("확인하고 싶은 학생의 이름을 입력하세요 : ");
str = sc.next();
boolean yes = false; //존재하는 학생인지 확인하는 변수
int[] avg = new int[cnt]; //회원별 평균 변수
int[] sum = new int[cnt]; //회원별 총점 변수
String[] hak = new String[cnt]; //회원별 학점 변수
for(int i=0; i<cnt; i++) { //등록된 회원수만큼 반복
if(str.equals(names[i])) { //검색에 등록된 회원이 있는지 검색
System.out.println("이름 : "+names[i]);
for(int j=0; j<ga.length; j++) {
System.out.println(ga[j]+ " : " +scores[i][j]);
sum[i]+=scores[i][j]; //총점
}
avg[i]=sum[i]/ga.length; //평균
yes = true; //검색회원이 존재하면 true;
}
}
for(int i=0; i<cnt; i++) {
if(str.equals(names[i])) {
System.out.println("평균 : "+avg[i]);
if(avg[i] >=96) {
hak[i] = "A+";
} else if(avg[i] <= 95 && avg[i] > 86) {
hak[i] = "B+";
} else if(avg[i] <= 85 && avg[i] > 76) {
hak[i] = "C+";
} else {
hak[i] = "F";
}
System.out.println("학점 : "+hak[i]); //회원별 학점
yes = true; //검색회원이 존재하면 true
}
}
if(yes == false) {
//검색회원이 존재하지 않으면 false
System.out.println("찾으려는 학생이 존재하지 않습니다. ");
}
}
} else if(sel == 3) { //전체확인
System.out.println("==========전체확인==========");
if(cnt==0) {
System.out.println("==========정보를 먼저 입력 하세요==========");
} else {
int[] avg = new int[cnt]; //학생별 평균 변수
int[] sum = new int[cnt]; //학생별 총점 변수
for(int i=0; i<cnt; i++) { //등록된 회원의 수만큼 반복
for(int j=0; j<ga.length; j++) { //과목만큼 반복
sum[i]+=scores[i][j]; //총점 등록
}
avg[i]=sum[i]/ga.length; //평균 등록
}
for(int i=100; i>=10; i-=10) { //100~10까지 세로 출력
System.out.print(i);
for(int j=0; j<cnt; j++) {
if(avg[j]>=i) { //평균이 i보다 크거나 같으면 별표
System.out.print("\t *");
} else { //그렇지 않으면 탭
System.out.print("\t ");
}
}
System.out.println();
}
//최하단 이름 출력 부분
System.out.print("\t");
for(int i=0; i<cnt; i++) {
System.out.print(names[i]+"\t");
}
System.out.println();
}
} else if(sel == 4) { //과목별 전체 성적
System.out.println("==========성적통계==========");
if(cnt==0) {
System.out.println("==========정보를 먼저 입력 하세요==========");
} else {
int[] avg = new int[ga.length]; //과목별 평균 변수
int[] sum = new int[ga.length]; //과목별 합계 변수
int tot = 0; //평균의 총점 변수
int totAvg = 0; //평균의 총점을 평균 변수
for(int i=0; i<ga.length; i++) {
for(int j=0; j<cnt; j++) {
sum[i]+=scores[j][i];
//System.out.print(j+" :: "+i+" :: "+sum[i]+"\t");
}
avg[i]=sum[i]/cnt;
}
for(int i=0; i<ga.length; i++) {
tot+=avg[i];
System.out.println(ga[i]+"평균 :" +avg[i]);
}
totAvg = tot/ga.length;
//System.out.println(ga[0]+"평균 :" + String.format("%.2f",((double)데이터베이스평균)));
//System.out.println(ga[1]+"평균 :" + String.format("%.2f",((double)파이썬평균)));
//System.out.println(ga[2]+"평균 :" + String.format("%.2f",((double)자바평균)));
System.out.println("전체평균 :" + totAvg);
}
} else if(sel == 5) { //프로그램 종료
System.out.println("프로그램을 종료합니다.");
break;
}
}
}
}
추천0
비추천 0
댓글목록
등록된 댓글이 없습니다.