C++ DAY2 성적 입출력 프로그램
by 으렴성적 입출력 프로그램
배열로 만드는 것이 과제!
하다보니 구조체로 만드는 것이 더 쉬운 것 같아 구조체로 바꿈.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include<iostream> using namespace std; struct student { char name[10]; int score[3]; int total; float avg; }stu; void Input(student **p,int stunum); void Output(student **p,int stunum); void main() { int num,stunum; student *p; while(1) { cout<<"select 1. input 2. view"; cin>>num; switch(num) { case 1 : cout<<"몇명 입력?"; cin>>stunum;; Input(&p,stunum);break; case 2 : Output(&p,stunum);break; case 3 : delete p; exit(-1); } }; } void Input(student **p,int stunum) { *p = new student[stunum]; for(int i=0;i<stunum;i++) { cout<<"name : "; cin>> (*p+i)->name; for(int j=0;j<3;j++) { cout<<"score"<<j+1<<": "<<endl; cin>>(*p+i)->score[j]; } (*p+i)->total = (*p+i)->score[0]+(*p+i)->score[1]+(*p+i)->score[2]; (*p+i)->avg = (*p+i)->total /3; } cout<<"입력완료"; } void Output(student **p,int stunum) { cout<<"전체출력"<<"\n"; for(int i=0;i<stunum;i++) { cout<<"name : "<<(*p+i)->name<<endl; for(int j=0;j<3;j++) { cout<<"score"<<j+1<<": "<< *((*p+i)->score+j) <<endl; } cout<<"total : "<< (*p+i)->total <<endl; cout<<"avg : "<< (*p+i)->avg <<endl; } } | cs |
*p를 자꾸 옮길 생각하다보니 이상하게 꼬임.
for문으로 돌려야 했음.
입출력만 가능하게 만듦
'Programming Language > C and Cpp' 카테고리의 다른 글
C++ DAY3 class와 생성자 함수 (1) | 2018.03.07 |
---|---|
C++ 명시적 오버로딩 / 암시적 오버로딩 (0) | 2018.03.06 |
setw() 함수 (0) | 2018.03.05 |
C++ DAY1 (0) | 2018.03.05 |
재귀함수를 사용한 팩토리얼 ! [recursive function/factorial/for문] (0) | 2018.02.04 |
사이트의 정보
코딩하렴
으렴