처리되지 않은 오류의 원인을 모르겠습니다.
눈꽃
질문 제목 : 처리되지않은 오류의 원인을 모르겠습니다.질문 요약 :
사번 에서 넘어가면 오류가 뜹니다
질문 내용 :
인사 프로그램중인데 디버깅 하면 처리되지 않은 오류가 뜹니다 원인을 모르는데 찾아주실수 있나요?#include stdio.h
#include string.h
#include stdlib.hstruct pb
{
int pb_number;
char pb_name[10];
char pb_class[5];
int pb_step;
};typedef struct pb pb;
int register_pb(pb *pb_list, int *pb);
int print_pb_list(pb *pb_list, int total_num_pb);int main()
{
int user_choice; //유저가 선택한 메뉴
int num_total_pp = 0; //현재 입력된 인원수 pb *pb_list;
int i;
printf(회사인원수를 입력하세요: );
scanf(%d, &user_choice); pb_list = (pb *)malloc(sizeof(pb)*user_choice); while(1)
{
printf(인사 및 급여 관리프로그램\n);
printf(메뉴를 선택하세요 \n);
printf(1. 인사목록 작성하기 \n);
printf(2. 작성한 목록 career.txt 에 저장하기 \n);
printf(3. 인사목록을 career.txt.에서 불러오기 \n);
printf(4. 인사목록 불러오기 \n);
printf(5. 급여 계산하기 \n);
printf(6. 프로그램 종료하기 \n); printf(어떤 메뉴를 선택하시겠습니까? );
scanf(%d, &user_choice);352e2c if(user_choice == 1)
{
//인사목록 작성
register_pb(pb_list, &num_total_pp);
}
else if (user_choice == 2)
{
// career.txt 에 인사목록 저장
print_pb_list(pb_list, num_total_pp);
} else if (user_choice ==3)
{ }
else if (user_choice == 4)
{
//인사목록을 화면에 출력
printf( 사번 / 이름 / 직급 / 호봉 \n);
for(i=0; i num_total_pp; i++)
{
printf( %d / %s / %s / %d호봉, pb_list[i].pb_number, pb_list[i].pb_name, pb_list[i].pb_class, pb_list[i].pb_step);
}
}
else if (user_choice == 5)
{
}
else if (user_choice == 6)
{
//프로그램 종료
break;
}
} free(pb_list);
return 0;
}//인사목록 추가
int register_pb(pb *pb_list, int *pb)
{
printf(사번 : );
scanf(%d, pb_list[*pb].pb_number); printf(이름 : );
scanf(%s, pb_list[*pb].pb_name); printf(직급 : );
scanf(%s, pb_list[*pb].pb_class); printf(호봉 : );
scanf(%d, pb_list[*pb].pb_step); (*pb)++; return 0;
}//인사목록 career.txt 로 만들기
int print_pb_list(pb *pb_list, int total_num_pb)
{
file *fp = fopen(career.txt, w);
int i; if(fp == null)
{
printf(출력 오류 ! \n);
return -1;
} fprintf(fp, %d명\n, total_num_pb); fprintf(fp, 사번 / 이름 / 직급 / 호봉);
for (i=0; i total_num_pb; i++)
{
fprintf(fp, %d\n%s\n%s\n%d\n, pb_list[i].pb_number, pb_list[i].pb_name, pb_list[i].pb_class, pb_list[i].pb_step);
} printf(출력 완료 ! \n);
fclose(fp); return 0;
}
-
휘율
하 그걸 뺴먹다니 감사합니다
-
연블루
scanf 함수에서 int값을 받을때는 &를 붙여서 주소를 넘겨줘야됩니다..
scanf(\%d\