2507 라용대 작품 제출 |
|||||
---|---|---|---|---|---|
작성자 | 라용대 | 등록일 | 19.12.26 | 조회수 | 57 |
첨부파일 |
|
||||
솔루션 작품 제출합니다.
#include #include #include #include int main() { int res,m; int type,i,j; int scnt=0,cnt1=0,cnt2=0; char ca[1000],cb[1000],cc[1000]; int a,d,r,s=1,n,ty;//수열 계산기 변수 start: if(scnt==0){ printf("\n계산기의 종류를 선택하세요\n"); Sleep(1000); printf("\n*숫자만 입력해주세요*\n"); Sleep(1000); printf("\n1. 일반 계산기\n"); Sleep(300); printf("\n2. 수열 계산기\n"); Sleep(300); printf("\n0. 종료\n\n"); scanf("%d",&type); } else{ printf("\n계산기의 종류를 선택하세요\n"); printf("\n*숫자만 입력해주세요*\n"); printf("\n1. 일반 계산기\n"); Sleep(300); printf("\n2. 수열 계산기\n"); Sleep(300); printf("\n0. 종료\n\n"); scanf("%d",&type); } //계산기 종류 if(type==1){ //일반 계산기수 res=0; if(cnt1==0){ printf("\n일반 계산기입니다\n"); Sleep(1000); printf("\n연산하고자 하는 항의 개수를 입력하세요\n"); Sleep(300); printf("\n0. 처음으로\n\n"); scanf("%d",&m); if(m==0){ scnt++; printf("\n처음으로 돌아갑니다\n"); Sleep(1000); goto start; } Sleep(1000); printf("\n연산할 식을 입력하세요\n"); Sleep(300); printf("\n*사칙연산만 허용됩니다\n"); Sleep(300); printf("\n*\"/\"기호는 몫을 출력합니다\n"); Sleep(300); printf("\n*괄호는 구현되지 않았습니다\n"); Sleep(300); printf("\n*예시처럼 입력해주세요*\n\n예시 : 1+2*3=\n\n"); } else{ printf("\n일반 계산기입니다\n"); printf("\n연산하고자 하는 항의 개수를 입력하세요\n"); printf("\n0. 처음으로\n\n"); scanf("%d",&m); if(m==0){ scnt++; printf("\n처음으로 돌아갑니다\n"); Sleep(1000); goto start; } else{ printf("\n연산할 식을 입력하세요\n"); Sleep(300); printf("\n*사칙연산만 허용됩니다\n"); Sleep(300); printf("\n*\"/\"기호는 몫을 출력합니다\n"); Sleep(300); printf("\n*괄호는 구현되지 않았습니다\n"); Sleep(300); printf("\n*예시처럼 입력해주세요*\n\n예시 : 1+2*3=\n\n"); } } for(i=0; i scanf("%d%c",&ca[i],&cb[i]); } for(i=0; i if(cb[i]=='*'){ ca[i+1]=ca[i]*ca[i+1]; ca[i]=ca[i-1]; cb[i]=cb[i-1]; ca[i-1]='\0'; cb[i-1]='\0'; } else if(cb[i]=='/'){ ca[i+1]=(double)ca[i]/ca[i+1]; ca[i]=ca[i-1]; cb[i]=cb[i-1]; ca[i-1]='\0'; cb[i-1]='\0'; } //printf("%d%c",ca[i],cb[i]); } for(i=0; i switch(cb[i]){ case '+': if(ca[i+1]=='\0'){ ca[i+1]=ca[i]; ca[i]='\0'; cb[i+1]=cb[i]; cb[i]='\0'; } ca[i+1]=ca[i]+ca[i+1]; break; case '-': if(ca[i+1]=='\0'){ ca[i+1]=ca[i]; ca[i]='\0'; cb[i+1]=cb[i]; cb[i]='\0'; } ca[i+1]=ca[i]-ca[i+1]; break; case '=': printf("\n계산 중입니다...\n"); Sleep(1000); printf("\n입력하신 식의 결과는 %d 입니다\n",ca[m-1]); break; } } Sleep(1000); printf("\n처음으로 돌아갑니다\n"); Sleep(1000); scnt++; cnt1++; goto start; } else if(type==2){ //수열 계산기 type2: if(cnt2==0){ printf("\n수열 계산기입니다\n"); Sleep(1000); printf("\n어떤 수열을 계산할지 고르세요\n"); Sleep(500); } else{ printf("\n수열 계산기입니다\n"); printf("\n어떤 수열을 계산할지 고르세요\n"); } printf("\n1. 등차수열\n"); Sleep(300); printf("\n2. 등비수열\n"); Sleep(300); printf("\n0. 처음으로\n\n"); scanf("%d",&ty); if(ty==1){//등차수열 계산기 printf("\n처음 값과 공차, 그리고 몇 번째 항인지 입력하세요\n"); Sleep(1000); printf("\n처음 값(a) : "); Sleep(1000); scanf("%d",&a); printf("\n공차(d) : "); Sleep(1000); scanf("%d",&d); printf("\n몇 번째 항?(n) : "); Sleep(1000); scanf("%d",&n); printf("\n계산 중입니다...\n"); Sleep(1000); printf("\n입력하신 등차수열의 %d 번째 항은 %d 입니다\n",n,a+(n-1)*d); Sleep(1000); printf("\n처음으로 돌아갑니다\n"); cnt2++; goto start; } else if(ty==2){//등비수열 계산기 printf("\n처음 값과 공비, 그리고 몇 번째 항인지 입력하세요\n"); Sleep(1000); printf("\n처음 값(a) : "); Sleep(1000); scanf("%d",&a); printf("\n공비(r) : "); Sleep(1000); scanf("%d",&r); printf("\n몇 번째 항?(n) : "); Sleep(1000); scanf("%d",&n); for(int i=1; i<=n-1; i++){ s=s*r; } printf("\n계산 중입니다...\n"); Sleep(1000); printf("\n입력하신 등비수열의 %d 번째 항은 %d 입니다\n",n,a*s); Sleep(1000); printf("\n처음으로 돌아갑니다\n"); cnt2++; goto start; } else if(ty==0){ printf("\n수열 선택 화면으로 돌아갑니다\n"); Sleep(1000); cnt2++; goto type2; } else{ printf("\n처음으로 돌아갑니다\n"); goto start; } } else if(type==0){ //프로그램 종료 printf("\n연산을 마칩니다\n"); } else{ printf("\n처음으로 돌아갑니다\n"); Sleep(1000); scnt++; goto start; } } |
이전글 | 2505 김준호 작품 보고서 |
---|---|
다음글 | 20415 송민주 솔루션 보고서 |