static void brighten(surface& surf, const std::string& parameters) { float amount; const int count = sscanf(parameters.c_str(), "%f", &amount); if(count != 1) { std::cerr << "Error: Arguments to brighten »" << parameters << "« are not compatible.\n"; throw texit(EXIT_FAILURE); } surf = brighten_image(surf, amount); }
int main() { //Declare Variables int num_pixel_row, num_pixel_column, num_bright, num_menu; int pixel_data[100][100] = {0,}; while(1) { //메뉴 번호 입력 printf("1) 이미지 입력\n2) 이미지 밝기 증가\n3) 이미지 밝기 감소\n4) 이미지 밝기 출력\n5) 프로그램 종료\n"); printf("메뉴를 입력하세요: "); scanf("%d", &num_menu); if(num_menu == 1) //Image Data 입력 { scanf("%d %d", &num_pixel_row, &num_pixel_column); for(int i = 0;i < num_pixel_row;i++) { for(int j = 0;j < num_pixel_column;j++) { scanf("%d", &pixel_data[i][j]); } } printf("\n"); } else if(num_menu == 2) //밝기 증가 수치 입력 { printf("증가시킬 밝기의 양을 입력하세요: "); scanf("%d", &num_bright); brighten_image(num_pixel_row, num_pixel_column, num_bright, pixel_data); printf("\n"); } else if(num_menu == 3) //밝기 감소 수치 입력 { printf("감소시킬 밝기의 양을 입력하세요: "); scanf("%d", &num_bright); darken_image(num_pixel_row, num_pixel_column, num_bright, pixel_data); printf("\n"); } else if(num_menu == 4) //변환된 Image data 출력 { for(int i = 0;i < num_pixel_row;i++) { for(int j = 0;j < num_pixel_column;j++) { printf("%d ", pixel_data[i][j]); } printf("\n"); } printf("\n"); } else if(num_menu == 5) //프로그램 종료 { break; } else //예외 처리 { continue; } } return 0; }