프로그래밍

 3198, 1/160 회원가입  로그인  
   만든이
   2번쨰 프로그래밍 인데요 ㅠㅠ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6466 [복사]


1번쨰땐 너무 아는게 없어 접고 다시 2차로 만들어봤습니다.
그런데 또 오류가 ㅠㅠ
아니 뭐가 문제인지 ㅠㅠ(책을 한번 대충 줄기만 봤더니 이런일이...)
아무튼 밑이 제가 짠 코드고요 비밀번호 프로그램입니다.

#include <stdio.h>

int main(void)
{
int password, repassword, key, first_password;
int secret;
int key1=1;
FILE *fp;
        printf("비밀번호를 가지고 있다면 1을 입력하시오.\n");
   scanf("%d", &key);
if (key==key1)
printf("비밀번호를 입력하세요.\n");
   scanf("%d", &first_password);
   fp = fopen("password1.txt", "r");
fscanf(fp, "%d%d%d", &secret, &password, %repassword);
do
{
       if(first_password==password)
printf("비밀=%d", secret);
else;
}
while(first_password==password);
printf("프로그램을 끝내려면 1을 입력하세요.\n");
scanf("%d", &key);

else;
printf("비밀을 적으세요.\n");
scanf("%d", &secret);
fprintf(fp, "%d\n", secret);
        do
{
fp = fopen("password1.txt","w");
printf("원하는 비밀번호를 적으세요.\n");
   scanf("%d", &password);
printf("비밀번호를 재입력 하세요.\n");
scanf("%d", &repassword);
fprintf(fp, "%d%d\n", password, repassword);
fclose(fp);
}
while(password!=repassword);

do
{
printf("비밀번호를 입력하시오.\n");
scanf("%d", &first_password);
if(first_password==password)
printf("비밀=%d", secret);
else;
}
while(first_password!=password);
   printf("프로그램을 끝내려면 1을 입력하세요.\n");
scanf("%d", &key);

return 0;
}

이건 오류에요
1>only code2.c
1>c:\users\lg\documents\visual studio 2008\projects\project 1 (password program)\project 1 (password program)\only code2.c(10) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(306) : 'scanf' 선언을 참조하십시오.
1>c:\users\lg\documents\visual studio 2008\projects\project 1 (password program)\project 1 (password program)\only code2.c(13) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(306) : 'scanf' 선언을 참조하십시오.
1>c:\users\lg\documents\visual studio 2008\projects\project 1 (password program)\project 1 (password program)\only code2.c(14) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(237) : 'fopen' 선언을 참조하십시오.
1>c:\users\lg\documents\visual studio 2008\projects\project 1 (password program)\project 1 (password program)\only code2.c(15) : error C2059: 구문 오류 : '%'
1>c:\users\lg\documents\visual studio 2008\projects\project 1 (password program)\project 1 (password program)\only code2.c(26) : error C2181: if와 짝을 이루지 않는 잘못된 else문입니다.
1>빌드 로그가 "file://c:\Users\lg\Documents\Visual Studio 2008\Projects\project 1 (password program)\project 1 (password program)\Debug\BuildLog.htm"에 저장되었습니다.
1>project 1 (password program) - 오류: 2개, 경고: 3개
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========

  Hit : 8262     Date : 2014/06/09 01:03



    
cd80 코딩하실때 에러가 나면 에러문을 잘 보시고 디버깅을 하셔야돼요
warning은 신경안써도 되는 에러들이 나왔으니 error만 보면
15번째줄이랑 26번째줄에서 에러가 났다고 나오네요
fscanf(fp, "%d%d%d", &secret, &password, %repassword);
이부분에서 %를 &로 바꾸시고

26번째줄에있는 else;를 지우셔야될지 아니면 if블럭을 잘못잡으신건지 모르겠는데
if문들이 지금 다 한줄만 실행되게 되있거든요
코드를보면 여러줄이 필요한부분이 보이는데 그부분을 if다음에 { } 로 감싸주셔야해요
2014/06/09