입력받아 출력하는 거 질문이요
연블루
질문 제목 : 값 입력받아 출력하는 것입력을 받아 출력을 하는 프로그램인데 자꾸 에러나 가서요..
질문 내용 : 값을 입력받고 계속 진행할 것인지 아닌지 입력한 것들을 보는 것
이렇게 구성을 했습니다. 그리고 해결되면 파일로 저장을 해서
볼수 있게끔 하나씩 코드를 작성해 프로그램을 키워보려하는데
이게 잘안되네요;; 입력을 받고 내용을 확인하려고 하면
저렇게 세그먼테이션 폴트가 나옵니다; 어떻게 코드를 수정해야할지..
조언부탁드립니다;;#include stdio.h
#include stdlib.h
#include string.h/* 사번, 이름, 직책, 전화 */
int main(){ unsigned int inum[5];
char cname[20];
char cposition[10];
char cnumber[16];
char cyn[4];
char cyn2[4];
int i; for(i=0;i5;i++)
{
printf(%d 번째 직원 입력 \n, i+1);
printf(사번 : );
scanf(%d, &inum[i]);
printf(이름 : );
scanf(%s, &cname[i]);
printf(직책 : );
scanf(%s, &cposition[i]);
printf(전화번호 : );
scanf(%s, &cnumber[i]); printf(계속 입력 : y / n 입력된 내용확인 : s = );
scanf(%s, &cyn[0]);
if(strcmp(cyn,y)==0 || strcmp(cyn,y)==0 || strcmp(cyn,yes)==0 || strcmp(cyn,yes)==0){ }else if(strcmp(cyn,n)==0 || strcmp(cyn,n)==0 || strcmp(cyn,no)==0 || strcmp(cyn,no)==0){
printf(프로그램을 종료합니다\n);
break;
}else if(strcmp(cyn,s)==0 || strcmp(cyn,s)==0){
printf(==사번======이름======직책========전화========\n);
printf(%d %12s %8s %17s\n, inum[i], cname[i], cposition[i], cnumber[i]);
printf(프로그램을 종료할까요? : );
scanf(%s, &cyn2);
if(strcmp(cyn2,yes)==0 || strcmp(cyn2,y)==0 || strcmp(cyn2,y)==0 || strcmp(cyn2,yes)==0){
printf(프로그램을 종료합니다.\n);
break;
}else if(strcmp(cyn2,no) == 0 || strcmp(cyn2,n)==0 ||
strcmp(cyn2,n)==0 || strcmp(cyn2,no)==0){ }else{
printf(yes or no로만 입력하세요\n);셀?n);
}
}
}
return 0;}
-
이루리
아 크롬으로 봤더니 폰트가 적용이 안되서 몰랐네요;; 수정했습니다 ㅎ
-
미국녀
질문게시판에는 덧글을 포함해서 반드시 돋움체 또는 굴림체를 사용해야 됩니다.
이 폰트로 계속해서 덧글을 쓰면 탈퇴가 됩니다.
폰트 설정은 자신의 블로그에서 추가한 폰트를 전부 지우면 됩니다. -
가을c
네 그렇게 한번 바꿔봐야겠어요
-
이송이
5명까지 입력받게 하고 싶으신것 같은데
2차원 배열이나 구조체 이용해보세요 -
소아
네 배열의 이름으로해서 사용하니 에러가 나지 않네요 ㅎ 감사합니다
-
Sweet
%s는 문자열을 출력해줄 때 사용하는 자료형입니다.
하지만 지금 작성자분께서는 cName[i], cPosition[i]등의 배열값을 사용하셨기 때문에
이 부분은 %c로 자료형을 바꿔주셔야 합니다.
하지만 프로그램의 목적상 %s로 출력해 주는 부분이 맞다고 생각됩니다.
따라서 scanf, printf에서 주소값을 넘길 때
scanf(\%s\