디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형들 이거 간단한 성적관리 C++ 코드인데 좀만 고쳐주라 엉엉ㅜㅜ자고싶다

늅늅이 ㅜㅜ(58.236) 2011.11.29 02:15:48
조회 97 추천 0 댓글 10

#include "stdafx.h"
#include "math.h"
#include <string.h>
#define OUTPUT "성적순.txt"

int _tmain(int argc, _TCHAR* argv[])
{

  struct student{    //구조체 선언
  char name[10];
  float number[10];
  float sub[3];
  float total;
  float aver;
  int rank;
  int nrank;

 } s[10];

 int i, j, n;     //정수형 변수선언
 char filename[20];
 FILE *fp1, *fp2;   //파일형 변수 선언
 
 while(1)     //무한반복
 {
  printf("입력할 파일명을 입력하세요(예: *.txt):"); //파일명을 입력받을 문구 출력
  scanf("%s",filename);        //입력받은 문자열을 filename에 저장

  fp1=fopen(filename,"r");  //파일을 읽기전용으로 연다
  if(fp1==NULL)     //열린 파일이 없으면
   printf("해당 파일이 없습니다."); //에러문구 출력하고 다시 반복
  else       //아니면
   break;        //무한반복 탈출
 }

 for(i=0; i<10; i++)   //i는 0부터 10보다 작은동안 1씩 증가하며 반복
 fscanf(fp1,"%s %s %f %f %f", s[i].name,s[i].number, &s[i].sub[0], &s[i].sub[1], &s[i].sub[2]);
 fclose(fp1);    //파일을 각각의 변수에 저장 하고 파일을 닫는다

 for(i=0; i<10; i++)   //i는 0부터 10보다 작은동안 1씩 증가하며 반복
  s[i].total = s[i].sub[0] + s[i].sub[1] + s[i].sub[2];
  //각 과목의 총합을 더하여 total에 저장
 for(i=0; i<10; i++)
  s[i].aver = 0.333*s[i].total;

 for(i=0; i<10; i++)   //i는 0부터 10보다 작은 동안 1씩 증가하며 반복
 {
  s[i].rank=1;   //rank에 초기값 1을 저장
  for(j=0; j<10; j++)  //j는 0부터 10보다 작은동안 1씩 증가하며 반복
  {
   if(s[i].total < s[j].total)  //s[j].total 값이  s[i].total 보다 크면
    s[i].rank++;    //s[i].rank +1을 한다
  }
 }

 for(i=0; i<10; i++)   //i는 0부터 10보다 작은 동안 1씩 증가하며 반복
 {
  s[i].nrank=1;   //rank에 초기값 1을 저장
  for(j=0; j<10; j++)  //j는 0부터 10보다 작은동안 1씩 증가하며 반복
  {
   if(s[i].number < s[j].number)  //s[j].total 값이  s[i].total 보다 크면
    s[i].nrank++;    //s[i].rank +1을 한다
  }
 }


 fp2=fopen(OUTPUT,"w");  //파일을 쓰기전용으로 연다
 printf("┌───────────【 순위별성적표 】────────────────┐\n");
 fprintf(fp2,"┌───────────【 순위별성적표 】────────────┐\n");
 printf("│     이 름      국어      영어      수학     합계      평균     등수    │\n");
 fprintf(fp2,"│     이 름      국어      영어      수학     합계    평균   등수    │\n");
 //성적표 항목 을 콘솔및 파일에 출력
 for(i=1; i<=10; i++)  //i는 1부터 10보다 작거나 같은동안 1씩 증가하며 반복
 {
  for(j=0; j<10; j++)  //j는 0부터 10보다 작은동안 1씩 증가하며 반복
  {
   if(s[j].rank==i) //각각의 등수가 i과 같으면 (즉, 1등부터 차례로 출력)
   {
 
    printf("│%10s%10.1f%10.1f%10.1f%10.1f%10.1f%10d  │\n", s[j].name, s[j].sub[0], s[j].sub[1], s[j].sub[2], s[j].total, s[j].aver, s[j].rank);
    fprintf(fp2, "│%10s%10.1f%10.1f%10.1f%10.1f%10.1f%10d │\n", s[j].name, s[j].sub[0], s[j].sub[1], s[j].sub[2], s[j].total, s[j].aver, s[j].rank);
   } //해당 사람의 성적을 콘솔및 파일에 출력
  }

 
 fclose(fp2); //하단 라인을 출력하고 줄내림

 
  }
 return 0;
}







코드는 이건데 이걸 malloc 으로 하고싶어 ㅜㅜ
동적할당인 것도 알겠고 다 좋은데 이거 불러오는 파일을  malloc 으로 처리하는 게 숙젠데 난 도저히 못 하겠다
능력자형님들 도와주십셔 ㅜㅜ 자고싶어요!!!

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48746 65
2904123 인지과학조져라 [1] 손발이시립디다갤로그로 이동합니다. 07:35 11 0
2904029 근데 면접때 라이브 코딩 시키면 [1] 프갤러(121.152) 03:51 32 0
2904027 북한이 다른건 몰라도 이런건 잘 하네 [3] 야옹아저씨갤로그로 이동합니다. 03:46 39 0
2904026 그 새끼 발명도둑잡기(118.216) 03:44 26 0
2904022 제미나이3 프로 개쩌네. 앱히키 씹창년아 보고 있냐?? ㅇㅇ(222.108) 03:20 25 0
2904018 요즘도 전자정부사업은 프갤러(1.230) 03:00 23 0
2904013 계약직 3개월뒤 수습 6개월 회사는 뭘까 [2] 프갤러(222.96) 02:02 39 0
2904011 이번주 로또 [2] 야옹아저씨갤로그로 이동합니다. 01:40 23 0
2904004 베를린의 충고 [1] ㅇㅇ(211.216) 00:51 34 0
2904001 인생이 바뀐다는 갓생 루틴..ㄷㄷ 발명도둑잡기(118.216) 11.22 45 0
2903997 재활용 자원으로 '新산유국'…유해 물질도 없어 해외에서도 주목 발명도둑잡기(118.216) 11.22 19 0
2903994 개발에 대한취업에 대해 질문있습니다 [3] Kim갤로그로 이동합니다. 11.22 53 0
2903992 OEM 잠금해제 옵션이 아예 없어요. 젠폰4 언락 하는 방법 아시는분 넥도리아(119.195) 11.22 17 0
2903991 오랫만에 낮잠 잤다 발명도둑잡기(118.216) 11.22 27 0
2903989 요즘 프리 일자리 많지? ㅇㅇ(14.5) 11.22 33 0
2903985 쭈쭈박치기가 우정의 징표?!? ♥HERO냥덩♥갤로그로 이동합니다. 11.22 31 0
2903983 안티그래비티 리밋 ㅈㄴ낮네 ㅅㅂ롬이 [1] 노력갤로그로 이동합니다. 11.22 42 0
2903980 이젠 뿡야에 이어 트림까지 나오넹 ♥HERO냥덩♥갤로그로 이동합니다. 11.22 33 0
2903975 형들 dc 셀리니움으로 자동화글쓰는데 오류떠 ㅜㅜ [3] 프갤러(211.216) 11.22 40 0
2903972 ❤ㅅ❤ [2] ♥HERO냥덩♥갤로그로 이동합니다. 11.22 42 0
2903971 [대한민국] 간첩 홍장원 법정 모욕 논란, 이재명 국제형사제판소 고발 프갤러(121.172) 11.22 30 0
2903970 안티그래비티 로그인이 왜 안되노 에로망가센세갤로그로 이동합니다. 11.22 27 0
2903966 안티그래비티 쓰지마까 [2] 노력갤로그로 이동합니다. 11.22 58 0
2903963 날이 선선해지니 끊었던 담배가 땡겨 [2] chironpractor갤로그로 이동합니다. 11.22 47 0
2903961 수험생들을 위한 입시 면접 가이드(따뜻한 조언)!T 프갤러(121.142) 11.22 54 2
2903960 한국은 노동자 편이다 [2] ㅇㅇ(211.235) 11.22 52 0
2903958 민병덕과 빠이빠이 할 준비 완료 지역구 만안구로 간다. 넥도리아(220.74) 11.22 29 0
2903957 앞으로 러스트 쓰는 웹 서비스 회사는 걸러야할 듯 나르시갤로그로 이동합니다. 11.22 37 0
2903956 러스트 땜에 클플 터져서 러빠가 프갤에 글 안 쓰는 듯 [2] 나르시갤로그로 이동합니다. 11.22 45 0
2903955 이제부터 여기에다가 글 남겨줘 재현갤로그로 이동합니다. 11.22 23 0
2903954 무저갱 나혼자불못행 근구수 게임 제작 미나모토요시츠네갤로그로 이동합니다. 11.22 23 0
2903953 강제 주입 방식 테스트 ㅇㅇ갤로그로 이동합니다. 11.22 31 0
2903950 글삭튀 자백하는 49.165 [18] ㅇㅇ(211.235) 11.22 135 0
2903947 충격적임.. [2] ♥HERO냥덩♥갤로그로 이동합니다. 11.22 50 0
2903946 49.165야 글삭튀하지마 [5] ㅇㅇ(211.235) 11.22 77 0
2903944 뿡야가 멈추지 않아 ♥HERO냥덩♥갤로그로 이동합니다. 11.22 58 0
2903943 프로그래밍 딸깍해줄만한 챗지피티 추천좀 [1] 프갤러(119.56) 11.22 31 0
2903940 연말은 연말이당 [1] ♥HERO냥덩♥갤로그로 이동합니다. 11.22 37 0
2903935 WOW… 나님의 캔뱃지 세상에서 제일예쁘다 [2] 따당갤로그로 이동합니다. 11.22 82 0
2903932 파이썬 뭐 이딴 언어가 다있지 [26] 프갤러(175.113) 11.22 188 0
2903929 해외폰 쓴다고 2찍아님. 넥도리아(106.101) 11.22 39 0
2903928 뭘 해야할지 감도 안잡힘 [6] 재현갤로그로 이동합니다. 11.22 85 0
2903927 7시간쯤 잔 듯 발명도둑잡기(125.129) 11.22 42 0
2903924 프로그래밍 존나 재밋다 진자 [3] ㅇㅇ(118.235) 11.22 114 2
2903923 구글 안티그래비티 나왔던데 이건 요금정책이 어떻게됨? [6] 에로망가센세갤로그로 이동합니다. 11.22 90 0
2903922 나는 지능이 낮아서 러스트할바에 파이썬함 타이밍뒷.통수한방(1.213) 11.22 41 0
2903921 자바출신 러빠는 삼일한 해야함 [2] ㅇㅇ(211.235) 11.22 79 3
2903920 어제 희열감 때문에 또 잠을 못 잤습니다 나르시갤로그로 이동합니다. 11.22 38 0
2903919 오늘 점심 고구마 호떡. 넥도리아(119.195) 11.22 66 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2