이번주도 딱히 중요한 내용은 없었다.
이제 막 포인터와 배열쪽을 배우기 시작했으니..
여기부터는 탈락하는 사람들이 생겨나지 않을까 싶다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
//int nNum[3] = {85, 86, 87};
//int nNum[] = { 85, 86, 87 }; // 배열 크기 자동 생성
int nNum[]{ 85, 86, 87 }; // 배열 크기 자동 생성 C11 이상 부터 가능.
int nSum = 0;
float fAvg = 0;
for (auto i : nNum) {
nSum += i;
}
fAvg = nSum / (sizeof(nNum) / sizeof(int));
printf("평균 값 : %.2f, 총 합 : %d\n", fAvg, nSum);
if (fAvg > 90)
cout << "A" << endl;
else if (fAvg > 80)
cout << "B" << endl;
else if (fAvg <= 80)
cout << "C" << endl;
//int nGrade[][3]{ // 2차원 배열부터는 열의 길이는 반드시 설정해줘야 한단다..이건 몰랐네..
// {80, 85, 90},
// {70, 75, 80},
// {60, 65, 70}
//};
int nGrade[][3]{ // 순서대로 넣으면 되기 때문에 이렇게도 된다.
80, 85, 90,
70, 75, 80,
60, 65, 70
};
int nRowLen = sizeof(nGrade) / sizeof(nGrade[0]);
int nColLen = sizeof(nGrade[0]) / sizeof(nGrade[0][0]);
//int nSum2[] = {0, 0, 0};
int nSum2[3] = {0};
for (int i = 0; i < nRowLen; i++) {
for (int j = 0; j < nColLen; j++) {
nSum2[i] += nGrade[i][j];
cout << nGrade[i][j] << " ";
}
/*switch (i) {
case 0 :
printf("A학생의 총점은 : %d\n", nSum2[i]);
break;
case 1:
printf("B학생의 총점은 : %d\n", nSum2[i]);
break;
case 2:
printf("C학생의 총점은 : %d\n", nSum2[i]);
break;
}*/
cout << endl;
}
int* pNum = &nGrade[0][0];
cout << pNum << endl; // Pointer 주소
cout << &nGrade << endl; // 배열 주소
cout << sizeof(pNum) << endl; // 포인터 사이즈
for (int i = 0; i < nRowLen; i++) {
for (int j = 0; j < nColLen; j++) {
cout << *pNum << " ";
pNum++;
}
cout << endl;
}
int* pNewPtr = new int;
*pNewPtr = 100;
cout << *pNewPtr << endl;
delete pNewPtr;
//const int SIZE = 20;
//char name[SIZE];
//cout << "이름 입력 : ";
//cin.get(name, SIZE).get(); // 그냥 cin은 띄어쓰기도 널문자로 취급해서 이런식으로 get을 써줘야 띄어쓰기 입력 가능.
//cout << name << endl;
/*string name;
getline(cin, name);
cout << name << endl;*/
string name = "dasdasdasd";
}
'C, C++' 카테고리의 다른 글
언리얼 엔진을 배우기 위한 C++ 기초 과정 Day2 (0) | 2022.08.22 |
---|---|
언리얼 엔진을 배우기 위한 C++ 기초 과정 Day1 (0) | 2022.08.13 |