Blog/JAVA기반 스마트웹 개발2021
프로그래밍 언어 활용 part 2 - 변환·랜덤 라이브러리
고구마달랭이
2021. 8. 10. 17:53
변환·랜덤 라이브러리
학습내용 | 학습목표 |
▪ 변환 라이브러리 ▪ 랜덤함수 |
▪ 문자열을 숫자로 변환하는 라이브러리 사용법을 구현할 수 있다. ▪ 랜덤함수를 이용하여 랜덤값이 필요한 작업에 적용할 수 있다. |
변환 라이브러리
1. 데이터 변환
☞ atoi 문자열을 정수(int)로 변환
☞ atof 문자열을 실수(double)로 변환
☞ strtof 실수 문자열을 float형 실수로 변환
☞ strtod 실수 문자열을 double형 실수로 변환
#include <stdio.h>
#include <stdlib.h>
int main( void)
{
printf( “%s = %d\n", “2020” , atoi( “2020” ));
printf( “%s = %d\n", “2020Happy new year ”, atoi( “2020Happy new year”));
printf( “%s = %d\n", “Happy new year 2020”, atoi( “Happy new year2020”));
printf( “%s = %d\n", “ 2020” , atoi( “2020” ));
printf( “%s = %d\n", “.,2020” , atoi( “.,2020” ));
printf( “%s = %d\n", “#$2020” , atoi( “#$2020” ));
printf( “%s = %d\n", “2020.123” , atoi( “2020.123” ));
return 0;
}
2. 활용 예제
[1] 기능
▪ 근무일 입력 시 급여 계산
[2] 요구사항
☞ 급여 계산식 : 급여 = 근무일 * (근무연수 * 1000)
☞ 사원번호에서 입사연도를 자동으로 추출하여 급여 계산
☞ 사원번호체계: 총10자리입사연도+ 일련번호-부서코드 (예20080123-02)
랜덤함수
1. 랜덤값 발생
☞ 데이터를 입력하지 않고 넘어가는 경우를 검사
2. 활용 예제
[1] 기능
▪ 학번에 따라 3개의 그룹으로 분류
[2] 요구사항
☞ 10명의 학생을 학번에 따라 랜덤하게 3개의 그룹으로 분류
☞ 학번을 시드로 랜덤하게 생성하기
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main( void)
{
int i,
std[10]={2017011,2017015.2017023,2017034,2017041,2018002,2018052,2018154,2018217,2018328};
for ( i = 0; i < 10; i++)
{
srand (std[i]);
printf( “%d 번 은 그룹 %d\n”, i+1, rand() % 3 +1);
}
return 0;
}
학습정리
1. 변환 라이브러리
▪ 숫자 형태의 문자열을 변환하는 라이브러리 함수는 stdlib.h 헤더파일에 선언되어 있음
▪ 숫자 형태의 문자열을 정수형으로 변환하는 함수 : atoi
▪ 숫자 형태의 문자열을 실수형으로 변환하는 함수 : atof
2. 랜덤함수
▪ 랜덤값을 생성하는 라이브러리 함수 : rand
▪ rand함수는 실행 시 동일한 랜덤값을 생성하므로 시드함수를 이용해야 함
▪ rand함수 사용 시 시드함수로 srand가 있음