입력화면설계


학      번 : 
응용기기 :
프로그램 :
전산기기 :

     



아래 입력예시를 순서대로 입력후 입력버튼을 누르면 데이터베이스에 저장이 되며, 출력버튼을 누르면 출력화면이 출력됩니다.

입력예시

학번

응용기기

프로그램

전산기기

2

30

70

70

1

90

80

100

3

40

60

50

 


전체 프로그램 소스(C언어)

#include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<ctype.h> #define MAX 7 int count; struct sucess { int numb; int appl; int prog; int comp; int tot; int avr; char *god; char *reason; } pj[MAX]; struct sucess before[MAX]; void InputMenu(); void InputData(); void Process(); void Sort(); void OutPut(); void main() { InputData(); Process(); Sort(); OutPut(); } void InputMenu() { clrscr(); gotoxy(3,3); cprintf("냉담한 성적 공개 프로그램"); gotoxy(3,5); cprintf(" 번째 자료입력"); gotoxy(3,7); cprintf("학 번 : "); gotoxy(3,9); cprintf("응용기기 : "); gotoxy(3,11); cprintf("프로그램 : "); gotoxy(3,13); cprintf("전산기기 : "); } /*******************입력 설계*************************/ void InputData() { int i; for(i=0;i<MAX;i++) { InputMenu(); gotoxy(3,5); cprintf("%d",i+1); while(1) { gotoxy(15,7); cprintf("_"); fflush(stdin); gotoxy(15,7); scanf("%d",&pj[i].numb); if(pj[i].numb<0 || pj[i].numb>9) { gotoxy(3,16); cprintf("학번은 한자리 정수인디요."); continue; } else break; } if(pj[i].numb==0) { gotoxy(3,20); cprintf("입력종료. 아무키나 누르세요."); getch(); break; } while(1) { gotoxy(15,9); cprintf("___"); fflush(stdin); gotoxy(15,9); scanf("%d",&pj[i].appl); if(pj[i].appl<0 || pj[i].numb>100) { gotoxy(3,16); cprintf("과목점수는 1~100사이입니다"); continue; } else break; } while(1) { gotoxy(15,11); cprintf("___"); fflush(stdin); gotoxy(15,11); scanf("%d",&pj[i].prog); if(pj[i].prog<0 || pj[i].prog>100) { gotoxy(3,16); cprintf("과목점수는 1~100사이입니다"); continue; } else break; } while(1) { gotoxy(15,13); cprintf("___"); fflush(stdin); gotoxy(15,13); scanf("%d",&pj[i].comp); if(pj[i].comp<0 || pj[i].comp>100) { gotoxy(3,16); cprintf("과목점수는 1~100사이입니다"); continue; } else break; } count++; } /* for loop*/ } /*******************처리조건 설계***********************/ void Process() { int i; char *pj_data[5]={"합격", "불합격", "과락", "평균미만" "\0"}; for(i=0;i<count;i++) { pj[i].tot=(pj[i].appl + pj[i].prog + pj[i].comp); if(count==0) break; pj[i].avr=((float)pj[i].tot / 3.0) + 0.5; if(pj[i].appl<40 || pj[i].prog<40 || pj[i].comp<40) { pj[i].god=pj_data[1]; pj[i].reason=pj_data[2]; } else if(pj[i].tot<60) { pj[i].god=pj_data[2]; pj[i].reason=pj_data[3]; } else { pj[i].god=pj_data[0]; pj[i].reason=pj_data[4]; } } } /********************** 학번순 정렬 ************************/ void Sort() { int i, j; struct sucess imsi; for(i=0;i<count;i++) { before[i]=pj[i]; } for(i=0;i<count-1;i++) { for(j=i+1;j<count;j++) { if(pj[i].numb>pj[j].numb) { imsi=pj[i]; pj[i]=pj[j]; pj[j]=imsi; } } } } /******************출력설계**********************/ void OutPut() { int i; clrscr(); printf("=============출력화면===============\n"); printf("학번 총점 평균 판 정 판정이유\n"); for(i=0;i<count;i++) { printf(" %d %4d %4d %s %s \n",pj[i].numb,pj[i].tot,pj[i].avr,pj[i].god,pj[i].reason); } printf("\n<입력자료>\n"); for(i=0;i<count;i++) { printf("%d %3d %3d %3d\n",before[i].numb,before[i].appl,before[i].prog,before[i].comp); } printf("\n\n프로그램 종료. 아무키나 누르세요."); getch(); fflush(stdin); clrscr(); }