package struct;
import java.util.Scanner;
import struct.Record;
public class Program3
{
//**********************메인함수**********************
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int num;
System.out.print("몇명의 성적을 관리 하겠습니까?");
num = scan.nextInt();
Record[] records = new Record[num];
int size=0;
int menu;
exit:while(true)
{
switch(menu = inputMenu())
{
case 1:
size = inputRecord(records, size, num);
break;
case 2:
printRecord(records, size);
if(size == num) //성적관리숫자 만족시킬경우 프로그램종료
break exit;
break;
case 3:
System.out.println("프로그램이 종료됩니다.");
break exit;
default:
System.out.println("입력 오류");
}
}
}
//**********************메뉴출력함수**********************
static int inputMenu()
{
Scanner scan= new Scanner(System.in);
int menu;
System.out.println("┌─────────────────┐");
System.out.println("│ 메인 메뉴 │");
System.out.println("└─────────────────┘");
System.out.print("\t\t1.성적 입력\n");
System.out.print("\t\t2.성적 출력\n");
System.out.print("\t\t3.종료\n");
menu = scan.nextInt();
return menu;
}
//**********************성적입력함수**********************
static int inputRecord(Record[] record, int size, int num)
{
Scanner scan= new Scanner(System.in);
int kor, eng, math; //임시변수선언
int current=size;
System.out.println("┌─────────────────┐");
System.out.println("│ 성적 입력 │");
System.out.println("└─────────────────┘");
while(true)
{
do{
System.out.print("\t\t국어 :");
kor = scan.nextInt();
if(kor<0 || kor>100)
System.out.println("범위벗어남");
}
while(kor<0 || kor>100);
do{
System.out.print("\t\t영어 :");
eng = scan.nextInt();
if(eng<0 || eng>100)
System.out.println("범위벗어남");
}
while(eng<0 || eng>100);
do{
System.out.print("\t\t수학 :");
math = scan.nextInt();
if(math<0 || math>100)
System.out.println("범위벗어남");
}
while(math<0 || math>100);
record[current] = new Record();
record[current].kor=kor;
record[current].eng=eng;
record[current].math=math;
current++;
System.out.print("끝내시겠습니까? 1=계속,2=끝");
int isContinue = scan.nextInt();
if(isContinue == 1)
{
if(num==current)
return current;
else
continue;
}
else
return current;
}
}
//**********************성적출력함수**********************
static void printRecord(Record[] records, int size)
{
System.out.printf("┌─────────────────┐\n");
System.out.printf("│ @본인 이름 성적표@ │\n");
System.out.printf("├──┬──┬──┬──┬──┬──┤\n");
System.out.printf("│번호│국어│영어│수학│총점│평균│\n");
for(int i=0 ; i<size ; i++)
{
Record record = records[i];
int total = record.kor + record.eng + record.math;
float avg = total / 3.0f;
System.out.printf("├──┼──┼──┼──┼──┼──┤\n");
System.out.printf("│%-5d│%-5d│%-5d│%-5d│%-5d│%4.2f│
\n",i+1,record.kor,record.eng,record.math,total,avg);
}
System.out.printf("└──┴──┴──┴──┴──┴──┘\n");
}
}
'개발 > java' 카테고리의 다른 글
자바 indexOf 이용해서 문자검색하기 (0) | 2013.09.30 |
---|---|
자바 파일 입출력 해보기 (0) | 2013.09.27 |
자바 새class를 이용해 함수 호출하기 (0) | 2013.09.25 |
로또 번호 출력하기 (함수 호출 이용) (0) | 2013.09.24 |
자바 로또번호 출력하기(중복제거) (0) | 2013.09.24 |