|
이영우 님이 쓰신 글 :
: 숙제가 아니시기를..
:
:
: #include <stdio.h>
:
: struct mark_rec
: {
: int num;
: char name[20];
: int mark[5];
:
: char abcdf[5];
: float total_100;
: float total_45;
: };
:
: void mark_rec1(struct mark_rec student[]);
: void mark_rec2(struct mark_rec student[]);
: void mark_rec3(struct mark_rec student[]);
:
:
: void main (void)
: {
: int i,j;
:
: struct mark_rec student[5] = {
: {1,"강감찬", 70, 80, 92, 90, 95, 0.0, 0.0},
: {2,"이순신",100, 90, 95, 95, 99, 0.0, 0.0},
: {3,"권율 ", 80, 65, 79,100, 95, 0.0, 0.0},
: {4,"에디슨", 80, 90, 92, 92, 97, 0.0, 0.0},
: {5,"장보고", 85, 78, 90, 77, 95, 0.0, 0.0}
: } ;
:
: mark_rec1(student);
: mark_rec2(student);
: mark_rec3(student);
:
: printf("\t 국어 수학 영어 과학 실험 평균 평점 \n");
: printf("\t-----------------------------------------------\n");
: for (i=0;i<5;i++)
: {
: printf("%d %s",student[i].num,student[i].name);
: for(j=0;j<5;j++)
: printf(" %3d %c,",student[i].mark[j],student[i].abcdf[j]);
: printf(" %3.1f %1.2f",student[i].total_100,student[i].total_45);
: printf("\n");
: }
:
: }
:
: void mark_rec1(struct mark_rec student[])
: {
: int i,j;
: for(i=0;i<5;i++) {
: for(j=0;j<5;j++)
: if (student[i].mark[j]>=90)
: student[i].abcdf[j]='A';
:
: else if(student[i].mark[j]>=80 && student[i].mark[j]<90)
: student[i].abcdf[j]='B';
:
: else if(student[i].mark[j]>=70 && student[i].mark[j]<80)
: student[i].abcdf[j]='C';
:
: else if(student[i].mark[j]>=60 && student[i].mark[j]<70)
: student[i].abcdf[j]='D';
:
: else
: student[i].abcdf[j]='F';
:
: }
: }
:
: void mark_rec2(struct mark_rec student[])
: {
: int i,j;
:
: for(i=0;i<5;i++) {
: for(j=0;j<5;j++)
: student[i].total_100 += student[i].mark[j];
: student[i].total_100 /= 5;
: }
: }
:
: void mark_rec3(struct mark_rec student[])
: {
: int i,j;
:
: for(i=0;i<5;i++) {
: for(j=0;j<5;j++)
: if(student[i].abcdf[j]=='A')
: student[i].total_45 += 4;
:
: else if(student[i].abcdf[j]=='B')
: student[i].total_45 += 3;
:
: else if(student[i].abcdf[j]=='C')
: student[i].total_45 += 2;
:
: else if(student[i].abcdf[j]=='D')
: student[i].total_45 += 1;
:
: else
: student[i].total_45 += 0;
: student[i].total_45 /= 5;
: }
: }
:
:
: 왕초보...ㅡㅜ 님이 쓰신 글 :
: : 입력받은 점수로 학점과 학점 평균을 내는 프로그램인데요...
: :
: : 구조체를 다른 함수로 넘기는 것을 잘 모르겠습니다....
: :
: : 하다가 하다가 진도가 나가지 않아서요...마니 고쳐보았는데...
: :
: : 이것 저것 고치다 보니까 이제 어떻게 해야 할지 모르겠습니다...에러하고 경고
: :
: : 가 너무 많이 나와서...고수님들 좀금 귀찬겠지만 조금만 도움을 주시면 안될까요...
: : #include <stdio.h>
: : struct mark_rec
: : {
: : int num;
: : char name[20];
: : int mark[5];
: : };
: :
: : void main (void)
: : {
: : int i,j,total;
: : struct mark_rec student[5]=
: : {
: : 1,"강감찬",70,80,92,90,95,
: : 2,"이순신",100,90,95,95,99,
: : 3,"권율` ",80,65,79,100,95,
: : 4,"에디슨",80,90,92,92,97,
: : 5,"장보고",85,78,90,77,95
: : };
: :
: : struct mark_rec mark_rec2(struct mark_rec[]);
: : mark_rec mark_rec2(student);
: : struct mark_rec2 mark_mark3(struct mark2_rec[]);
: : mark_rec2 mark_rec3(student);
: :
: : printf("\t 국어 수학 영어 과학 실험 평점 \n");
: : for (i=0;i<5;i++)
: : {
: : printf("%d %s",student[i].num,student[i].name);
: : for(j=0;j<5;j++)
: : printf("%c %d",student[i].mark[j],total[i]/5);
: : printf("\n");
: : }
: :
: : }
: : struct mark_rec mark_rec2(struct mark_rec student[5])
: : {
: : int i,j;
: : for(i=0;i<5;i++)
: : {
: : for(j=0;j<5;j++)
: : if (student[i].mark[j]>=90)
: : {student[i].mark[j]='A';}
: : else if(student[i].mark[j]>=80 && student[i].mark[j]<90)
: : {student[i].mark[j]='B';}
: : else if(student[i].mark[j]>=70 && student[i].mark[j]<80)
: : {student[i].mark[j]='C';}
: : else if(student[i].mark[j]>=60 && student[i].mark[j]<70)
: : {student[i].mark[j]='D';}
: : else
: : {student[i].mark[j]='F';}
: : return(student);
: : }
: : }
: : struct mark_rec2 mark_rec3(struct mark_rec2 student[5])
: : {
: : int i,j;
: : int total[5];
: : for(i=0;i<5;i++)
: : {
: : for(j=0;j<5;j++)
: : if(student[i].mark[j]=='A')
: : student[i].mark[j]=4;
: : if else(student[i].mark[j]=='B')
: : student[i].mark[j]=3;
: : if else(student[i].mark[j]=='C')
: : student[i].mark[j]=2;
: : if else(student[i].mark[j]=='D')
: : student[i].mark[j]=1;
: : if else
: : student[i].mark[j]=0;
: : }
: : for(i=0;i<5;i++){
: : for(j=0;j<5;j++)
: : total[i]+=student[i].mark[j];}
: : return(total);
: : }
: :
|