수다닷컴

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

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

퐁당

2023.04.01

질문 제목 : 변수의 값이 저장이 않되네요;;질문 요약 :포인터와 메모리 어드레스를 사용해서 함수호출을 했는데 변수의 값이 변하지 않네요;;질문 내용 :
#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

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

  • 징징몬

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

  • 레나

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

  • 새늘

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

  • 매1혻적

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

번호 제 목 글쓴이 날짜
2699842 질문을 너무 많이 하네여.....죄송.... (2) 해님꽃 2025-06-29
2699816 오류 질문입니다.. (1) 해비치 2025-06-29
2699763 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) 미라 2025-06-28
2699555 c언어 다항식을 입력을 했는데 왜 출력이 안될까요? 피스케스 2025-06-27
2699528 C언어 포인터연산 질문입니다. (3) 안녕나야 2025-06-26
2699476 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) 클라우드 2025-06-26
2699444 [좀 급함] system("explorer [주소] ") 문에 변수를 사용할 수 있나요? 알 2025-06-26
2699415 파일//read//와 배열 아란 2025-06-25
2699386 구조체 안에 일부분만 char 배열에 복사하려면 어떻게 해야하나요? (1) 미즈 2025-06-25
2699361 연결리스트 정렬하는 부분에 대해서 질문 드립니다 아이처럼 2025-06-25
2699304 [기초]아직 안주무시는분 계신가요..?포인터배열? 좀 도와주세요. 놀리기 2025-06-24
2699272 printf() 함수이용해서 프로그램 만들기 질문요! (5) 다가 2025-06-24
2699221 PUSH와 POP코드를 더 간단하게 어떻게 해야할까요? 파라미 2025-06-24
2699192 설치오류가 자꾸 나요 한번봐주세여~ (1) 소녀틳향기 2025-06-23
2699161 for loop안에 있는 if문 (9) Orange 2025-06-23
2699105 링크더리스트 이전 링크값 출력함수. 꼬꼬마 2025-06-23
2699078 정수를 한자리씩 배열에 담는 법은 어떻게 하나요.. (4) 귀염포텐 2025-06-22
2699024 C언어 공부하려는데 도와주세요!!! (2) 달님 2025-06-22
2698994 날짜 계산하는 C 코드 짜고 있는데 꽉 막혀서 질문드립니다.. (6) 별 2025-06-22
2698967 파일삭제 윈도우 폴더까지 접근하게하는 함수가 뭔가요 (2) 샤인 2025-06-21
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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