수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

변수의 값이 저장이 않되네요;;

피네

2025.06.16

질문 제목 : 변수의 값이 저장이 않되네요;;질문 요약 :포인터와 메모리 어드레스를 사용해서 함수호출을 했는데 변수의 값이 변하지 않네요;;질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
int wi();
void work();
void mushroom();
void rest();
main()
{
static unsigned int homi;
static unsigned int doki;
static unsigned int mjang;
static unsigned int gok;
static unsigned int hlight;
static unsigned int fipole;
static unsigned int hammer;
static unsigned int welder;
static unsigned int sap;
static unsigned int fdate;
static unsigned int pratice;
static unsigned int ground;
static int money;
static unsigned int fmoney;
static unsigned int date;
static int hp;
static char name[80];
int i4=0;
if(date==0)
{
int i1=0;
int i2=2;
int i3=0;
printf(===============================================================================);
printf(\n돈벌기 타이쿤 ver 0.1);
printf(\n===============================================================================);
while(i1==0)
{
printf(\n[1]처음 시작하기 \t [2]불러오기\n);
scanf(%d,&i1);
if(i1!=1&&i1!=2)
i1=wi(i1,0);
if(i1==2)
{
printf(\n미준비 서비스입니다.);
i1=0;
}
}
while(i1==1)
{
printf(\n===============================================================================);
printf(\n[1] 처음 시작하기를 선택하셨습니다.);
printf(\n===============================================================================);
while(i2==2)
{
printf(\n시작시 사용할 이름을 쓰시오 :);
scanf(%s,&name);
printf(\n%s가 맞습니까?,name);
printf(\n[1]예 [2]아니오\n);
scanf(%d,&i2);
if(i2!=1&&i2!=2)
i2=wi(i2,2);
}
printf(이름이 %s로 결정되었습니다.,name);
while(i3==0)
{
printf(\n===============================================================================);
printf(\n난이도를 선택하십시오.);
printf(\n[1]쉬움 [2]보통 [3]어려움 [4]Help\n);
scanf(%d,&i3);
if(i3!=1&&i3!=2&&i3!=3&&i3!=4)
i3=wi(i3,0);
if(i3==1)
{
printf(\n[1]쉬움 난이도가 선택되었습니다.);
fdate=100;
fmoney=10000;
}
else if(i3==2)
{
printf(\n[2]보통 난이도가 선택되었습니다.);
fdate=80;
fmoney=12000;
}
else if(i3==3)
{
printf(\n[3]어려움 난이도가 선택되었습니다.);
fdate=60;
fmoney=14000;
}
else if(i3==4)
{
printf(\n===============================================================================);
printf(\n[1]쉬움: 기한 일수 100일, 목표 금액 10,000원\n);
printf(\n[2]보통: 기한 일수 80일, 목표 금액 12,000원\n);
printf(\n[3]어려움: 기한 일수 60일, 목표 금액 14,000원);
i3=0;
}
}
i1=0;
date=1;
}
}
while(i4==0)
{
printf(\n===============================================================================\n);
printf(\t\t\t\t%d 일 %d 현재 금액 %d 남은 기간 %d 목표 금액,date,money,fdate,fmoney);
printf(「1」호미 %d 개 「2」도끼 %d 개 「3」전기톱 %d 개 「4」면장갑 %d 개\n「5」곡괭이 %d 개 「6」헤드 라이트 %d 개 「7」낚시대 %d 개 「8」망치 %d 개\n「9」용접기 %d 개 「10」삽 %d 개,homi,doki,mjang,gok,hlight,fipole,hammer,welder,sap);
printf(\n===============================================================================\n);
printf([1]일하러 가기 [2]물건 사기 [3]내 정보 살펴보기 [4]세이브 [5]쉬기 [6]도움말\n);
scanf(%d,&i4);
switch(i4)
{
case 1: work(&pratice,&hp,homi,&money,ground);
break;
case 5: rest(&date,&hp);
break;
}
i4=0;
}
return 0;
}
int wi(wrongp,truep)
int wrongp,truep;
{
printf(\n잘못된 입력입니다.);
wrongp=truep;
return wrongp;
}
void work(pratice,hp,homi,money,ground)
int *pratice,*hp,homi,*money,ground;
{
int work1=0;
while(*pratice10&&work1==0)
{
printf(\n===============================================================================\n);
printf([1]ntf([1]버섯 캐기 [2]벌목 하기 [3]농사 짓기\n);
scanf(%d,&work1);
if(work1!=1&&work1!=2&&work1!=3&&work1!=4)
work1=wi(work1,0);
if(work1==1&&*hp30)
{
printf([1]버섯 캐기를 선택하셨습니다.);
mushroom(homi,&hp,ground,&pratice,&money);
}
}
}
void mushroom(int homi,int *hp,int ground,int *pratice,int *money)
{
int getmoney,pluspratice;
srand(time(NULL));
getmoney=rand()%31+5;
*money=+getmoney;
*hp=-30;
pluspratice=rand()%11+3;
*pratice+=pluspratice;
printf(%d의 금액을 얻었고 30의 체력이 소모되었으며 %d만큼의 숙련도가 올라갔습니다.,getmoney,pluspratice);
}
void rest(int *date,int *hp)
{
*date++;
*hp=100;
}
색을 칠한 부분 중에서 메인 함수 및 work함수에 있는 색칠한 부분은 함수를 호출한 부분입니다. 어드레스 연산자를 사용했지요;; 그리고 함수 호출을 했는데 값이 변하지 않네요;;(예를 들어 mushroom 함수에서 money 변수 값이 변했는데 메인 함수로 되돌아가면 변하지 않고 rest 함수에서 date 변수 값이 변했는데 변하지 않네요;;

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 소희 2025-06-16

    오오오;;;
    감사합니다 ㅠ.ㅠ 되네요;;

  • 거북이 2025-06-16

    흠...컴파일 되는진 모르겠지만
    *money += getmoney
    (*date)++
    이렇게 바꿔보세요

  • 망고 2025-06-16

    아마 될겁니다;; 전 visual c++ 6.0 쓰지만요 ㅇㅅㅇ;;

  • 지음 2025-06-16

    이거 복사해서 컴파일하면 되는건가요... VS2005 쓰는뎅 ;;

번호 제 목 글쓴이 날짜
2698693 재귀 함수 에러 바닐라 2025-06-19
2698673 고민이있는데 들어좀주세요!! (1) 초코맛캔디 2025-06-19
2698644 1부터 n까지의 합을 구하는데 엄청긴숫자의 합을 구할때는 어떻게 해야하나요? (4) 슬우 2025-06-18
2698616 다른 함수로 안넘어갑니다..;;; 도1도캣 2025-06-18
2698587 배열하다 막혀서... (3) WhiteCat 2025-06-18
2698559 문자열을 비우는방법 (2) 하늘 2025-06-18
2698528 착하고 친절한 선생씌구해염~ㅋㅋ (4) 옆집언니야 2025-06-17
2698502 자료구조 큐 캔서 2025-06-17
2698477 실행화면 배경문의요 선아 2025-06-17
2698430 변수의 값이 저장이 않되네요;; (4) 피네 2025-06-16
2698404 C#을 배울려고 하는데 C나 C++을 알아야 하나요 ?? (1) 신당 2025-06-16
2698342 프로그램 질문점녀 (4) 데빌의눈물 2025-06-16
2698318 파일 입출력 질문입니다~ (2) 꽃 2025-06-15
2698291 문자 출력 함수 : putchar, fputc에 관하여. 으뜸 2025-06-15
2698261 씨언어 (1) 마리 2025-06-15
2698212 구조체, 포인터가 같이 들어간 프로그램 소스코드 있으신분? (4) 그림자 2025-06-14
2698184 간단한 C언어 인데 .. 붕붕 2025-06-14
2698120 -연산자 가 먼지 좀 알려주세요 (1) 낮선검객 2025-06-14
2698091 길찾기문제 질문이요! 노을빛 2025-06-13
2698060 while 문에 대한 질문입니다. (9) 물고기자리 2025-06-13
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com