C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[55504] Re:씨언어 잘하시는분 좀 가르쳐주세요~
시녕tm [palindrome] 886 읽음    2008-12-20 23:25
죄송한데 여기는 네이버 지식인 처럼 숙제 풀어주는 곳이 아닙니다.
열심히 노력해 보시면 이정도는 충분히 하실수 있을 것입니다.
그럼 파이팅!

츠바사 님이 쓰신 글 :
: 1. 파일로 작성된 성적자료를 구조체 변수로 입력하고, 가중치를 적용한 총점을 구하여 등급을 부여한다.
: 95이상 : A+
: 90이상 : A0
: 85이상 : B+
: 80이상 : B0
: 75이상 : C+
: 70이상 : C0
: 65이상 : D+
: 60이상 : D0
: 60미만 : F
:
: 2. 총점의 내림차순으로 입력된 성적자료와 총점 및 등급을 정렬하여 파일로 출력한다.
:
: 친구껄 보고 공부를 하고 있는데 잘 이해가 안되네요 ㅠ
: 어느부분은 가중치를 준부분이다 어떤부분은 텍스트파일을 읽어온 부분이다
: 이런거좀 알려주실수 있는분 계신가요 ㅠ
:
:
: 그리고 2번에 총점을 내림차순으로 정렬해서 파일로 출력하는건 어떻게하나요?ㅠ
: 가르쳐주세요~
: 부탁드립니다 ㅠ
:
:
: #include <stdlib.h>
: struct pscr{
:  int num;
:  char snm[10];
:  char nme[10];
:  int mid;
:  int fin;
:  int hw1;
:  int hw2;
:  int atd;
: };
: typedef struct pscr pscr;
: int grd(int);
: char *gd[]={'A+','Ao','B+','Bo','C+','Co','D+','Do','F'};
: double ttp( pscr *);
: pscr psc;
: int main(){
:  FILE *fp, *fp2;
:  char fn[] = 'strscr.txt', fn2[] = 'nlst.txt';
:  pscr *pps = &psc;
:  if ((fp = fopen(fn,'r')) == NULL) {
:   printf('can't open the file\n');
:   exit(1);
:  }
:  if ((fp2 = fopen(fn2,'w')) == NULL) {
:   printf('can't open the file\n');
:   exit(1);
:  }
:  while (!feof(fp)) {
:   fscanf(fp,'%d%s%s%d%d%d%d%d',&psc.num ,psc.snm ,
:    psc.nme ,&psc.mid ,&psc.fin ,&psc.hw1 ,&psc.hw2 ,&psc.atd );
:   printf('%3d%10s%10s%5d%5d%5d%5d%5d\n',pps->num ,
:    pps->snm ,pps->nme ,pps->mid ,pps->fin ,pps->hw1 ,pps->hw2 ,pps->atd );
:   fprintf(fp2,'%3d%10s%10s%5d%5d%5d%5d%5d\n',pps->num ,
:    pps->snm ,pps->nme ,pps->mid ,pps->fin ,pps->hw1 ,pps->hw2 ,pps->atd );
:   printf('%28.1f %4.1f %4.1f %4.1f %4d %8.1f',pps->mid *0.3,pps->fin *0.4,
:    pps->hw1 *0.3,pps->hw2 *0.3,pps->atd,ttp(pps));
:   fprintf(fp2,'%28.1f %4.1f %4.1f %4.1f %4d %8.1f',pps->mid *0.3,pps->fin *0.4,
:    pps->hw1 *0.3,pps->hw2 *0.3,pps->atd,ttp(pps));
:   printf('%8s',gd[grd((int)ttp(pps))]);
:   fprintf(fp2,'%8s',gd[grd((int)ttp(pps))]);
:   printf('\n\n');fprintf(fp2,'\n\n');
:  }
:  fclose(fp);
:  fclose(fp2);
:  return 0;
: }
: double ttp(pscr *x)
: {
:  double y = (double)x->mid * 0.3 + x->fin * 0.4 + x->hw1 * 0.3 + x->hw2 * 0.3 + x->atd;
:  return y;
: }
: int grd(int x)
: {
:  int y;
:  if( x >= 95 )
:   y=0;
:  else if(x >= 90)
:   y=1;
:  else if(x >= 85)
:   y=2;
:  else if(x >= 80)
:   y=3;
:  else if(x >= 75)
:   y=4;
:  else if(x >= 70)
:   y=5;
:  else if(x >= 65)
:   y=6;
:  else if(x >= 60)
:   y=7;
:  else if(x >= 0)
:   y=8;
:  return y;
: }

+ -

관련 글 리스트
55502 씨언어 잘하시는분 좀 가르쳐주세요~ 츠바사 1114 2008/12/20
55509     Re:씨언어 잘하시는분 좀 가르쳐주세요~ 라스코니 1050 2008/12/22
55507     Re:씨언어 잘하시는분 좀 가르쳐주세요~ hoho 968 2008/12/22
55504     Re:씨언어 잘하시는분 좀 가르쳐주세요~ 시녕tm 886 2008/12/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.