본문 바로가기

C++

박시현 4주차 C++프로그래밍 과제

C++프로그래밍

4주차 과제

 

 

 

 

 

과 목 명 : C++프로그래밍

담당교수 : 한성현 교수님

학 과 : 컴퓨터소프트웨어학과

학 년 : 1학년

학 번 : 2024001684

이 름 : 박시현

제 출 일 : 2024 9월 23일

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

 

출처:한성현 교수님의 강의자료

---------------------------다중 if~else문---------------------------

#include <stdio.h>
int main(void)
{
int num;
printf("당신의 주민등록번호 뒷 자리의 첫 번째 숫자를 입력하세요=");
scanf("%d", &num);
if (num == 1 || num == 3)
printf("당신은 남성이군요!\n");
else if (num == 2 || num == 4)
printf("당신은 여성이군요!\n");
else
printf("당신은 대한민국 사람이 아니군요!\n");
return 0;
}

--------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------다중 if~else문---------------------------

#include <stdio.h>
int main(void)
{
int value;
printf("1~3까지의 수를 입력하세요:");
scanf("%d", &value);
if (value == 1) printf("1을 입력하셨습니다.\n");
else if (value == 2) printf("2를 입력하셨습니다.\n");
else if (value == 3) printf("3을 입력하셨습니다.\n");
else printf("잘못 입력하셨습니다.\n");
return 0;
}

--------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------switch~case문---------------------------

#include <stdio.h>
int main(void)
{
int value;
printf("1~3까지의 수를 입력하세요:");
scanf("%d", &value);
switch (value) {
case 1:
printf("1을 입력하셨습니다.\n");
break;
case 2:
printf("2를 입력하셨습니다.\n");
break;
case 3:
printf("3을 입력하셨습니다.\n");
break;
default:
printf("다시 입력하세요.\n");
break;
}
return 0;
}

--------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

---------------------------for문의 기본 형태---------------------------

#include <stdio.h>
int main(void)
{
int i;
for(i=0; i<100; i++){
printf("psh\n";
}
return 0;
}

--------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

--------------------------이름 100번 출력(칸 수 맞춰서)1----------------------------

#include <iostream>
#include <iomanip>
int main(void)
{
int i;
for(i=0; i<100; i++){
std::cout << std::setw(3) << i+1 << "psh\n";
 
}
return 0;
}

-----------------------------------------------------------------------------------------------

--------------------------이름 100번 출력(칸 수 맞춰서)2----------------------------

#include <iostream>
#include <iomanip>
int main(void)
{
int i;
for(i=0; i<100; i++){
std::cout.width(3);
std::cout << i + 1 << " : psh\n";
}
return 0;
}

-----------------------------------------------------------------------------------------------

--------------------------이름 100번 출력(칸 수 맞춰서)3----------------------------

#include <iostream>
#include <iomanip>
int main(void)
{
int i;
for(i=0; i<100; i++){
std::cout << std::setw(3) << std::setfill('0') << i + 1 << " : psh\n";
}
return 0;
}

-----------------------------------------------------------------------------------------------

setfill을 이용해 " 93"으로 출력되는게 아닌 앞에 "0"을 붙여 "093"으로 출력할 수 있다!!

출처:한성현 교수님의 강의자료

--------------------------case를 활용한 계산기(C++)----------------------------

#include <iostream>
#include <string>
#include <iomanip>
#include <cmath> 
int main()
{
char op;
double num1, num2;
std::string input;
for (;;)
{
std::cout << "\n덧셈, 뺄셈, 곱셈, 나눗셈이 가능합니다\n";
std::cout << "끝내려면 0+0 or 0-0 or 0/0 or 0*0을 입력하세요\n";
std::cout << "계산하려는 수식(예:10+20)을 입력하세요: ";
 
std::getline(std::cin, input);
 
if (sscanf(input.c_str(), "%lf%c%lf", &num1, &op, &num2) != 3) {
std::cout << "잘못된 입력입니다. 다시 시도해주세요.\n";
continue;
}
if (num1 == 0 && num2 == 0 && (op == '+' || op == '-')) break;
std::cout.precision(2);
std::cout << std::fixed;
switch (op) {
case '+':
std::cout << "덧셈 결과는 " << (num1 + num2) << "입니다.\n";
break;
case '-':
std::cout << "뺄셈 결과는 " << (num1 - num2) << "입니다.\n";
break;
case '/':
if (num2 != 0) {
double quotient = std::floor(num1 / num2);  
double remainder = std::fmod(num1, num2); 
std::cout << "나눗셈 결과는 " << quotient << "이고, 나머지는 " << remainder << "입니다.\n";
} else {
std::cout << "0으로 나눌 수 없습니다.\n";
}
break;
case '*':
std::cout << "곱셈 결과는 " << (num1 * num2) << "입니다.\n";
break;
default:
std::cout << "다시 입력하세요\n";
break;
}
}
return 0;
}

-------------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

while문을 이용할 때 세미콜론(;)은 필수!!

출처:한성현 교수님의 강의자료

0을 제외한 모든 숫자는 참이기 때문에 0을 제외한 모든 숫자 중 하나만 넣어도 무한루프가 가능하다!

출처:한성현 교수님의 강의자료

break 문을 사용하면 무한루프를 끝낼 수 있다!

출처:한성현 교수님의 강의자료

C, C++, C#, Python의 사용자 정의 함수를 만드는 법

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

매개변수가 없을 경우 "void"를 사용하지만 생략해도 상관없다

출처:한성현 교수님의 강의자료
출처:한성현 교수님의 강의자료

--------------------------함수의 정의, 호출, 선언1----------------------------

#include <iostream>
void display(void); //선언
int main() {
std::cout << "Hi\n";
display(); //호출
return 0;
}
void display(void) //정의
{
std::cout << "Hello\n";
}

---------------------------------------------------------------------------------------

출처:한성현 교수님의 강의자료

--------------------------함수의 정의, 호출, 선언2----------------------------

#include <iostream>
void d(int a); //선언
int main() {
std::cout << "Hi\n";
d(29); //호출
return 0;
}
void d(int a) //정의
{
std::cout << a*2;
}

---------------------------------------------------------------------------------------

29=argument

a=parameter

출처:한성현 교수님의 강의자료

--------------------------함수의 정의, 호출, 선언3----------------------------

#include <iostream>
int doubleNumber(int x);
int main(void)
{
int a ;
a = doubleNumber(3);
std::cout<<a;
return 0;
}
int doubleNumber(int x)
{
return x*2;
}

---------------------------------------------------------------------------------------

return값을 저장한 후에 출력한는 방식이다!

출처:한성현 교수님의 강의자료

--------------------------함수의 정의, 호출, 선언4----------------------------

#include <iostream>
int add(int x, int y);
int main(void)
{
int a ;
a = add(2,3);
std::cout<<a;
return 0;
}
int add(int x, int y)
{
return x+y;
}

---------------------------------------------------------------------------------------

--------------------------함수의 정의, 호출, 선언4(응용)----------------------------

#include <iostream>
double di(double x, double y);
int main(void)
{
double a;
a=di(3,2);
std::cout<<a;
return 0;
}
double di(double x, double y)
{
return x/y;
}

------------------------------------------------------------------------------------------------