본문 바로가기

Programming/[C++]

[C++]성적 처리 프로그램 기초

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
70
71
72
73
74
#include <iostream>
using namespace std;
 
void input(char *name, int *score, int num);
void oper(int *score, int num, float *avr);
void output(char *name, int *score, int num, float *avr);
 
int main() {
 int num;
 char *name;
 int *score;
 float *avr;
 
 cout << "학생 수 :";
 cin >> num;
 
 name = new char[num *10];
 score = new int[num * 4];
 avr = new float[num];
 
 input(name, score, num);
 oper(score, num, avr);
 output(name, score, num, avr);
 
 delete[] name;
 delete[] score;
 delete[] avr;
}
void input(char *name, int *score, int num) {
 int i, j;
 for ( i = 0; i < num; i++) {
  cout << "Name :";
  cin >> name;
  for ( j = 0; j < 3; j++)
  {
   if (j == 0cout << "국어점수 :";
   else if (j == 1cout << "영어점수 :";
   else cout << "수학점수 :";
   cin >> score[j];
  }
  name = name + 10;
  score = score + 4;
 }
}
void oper(int *score, int num, float *avr) {
 int i, j;
 for ( i = 0; i < num; i++)
 {
  *(score + 3= 0;
  for ( j = 0; j < 3; j++)
  {
   *(score + 3= *(score + 3+ *(score + j);
  }
  *avr = *(score +3/ 3.f;
  avr++;
  score = score + 4;
 }
}
void output(char *name, int *score, int num, float *avr) {
 int i, j;
 for ( i = 0; i < num; i++)
 { 
  cout << name << "\t ";
  for ( j = 0; j < 4; j++)
  {
   cout << *(score + j)<<"\t ";
  }
  cout << *avr<<endl;
  name += 10;
  score += 4;
  avr++;
 }
}
 
cs