std::cout << " 첫번째 수 입력: ";

        while(input=getchar() != '\n')        // 첫번째 수를 입력받는 곳
        {
                loop++;

                if(loop>4)  // 자리수 맞춰 방에 차례차례 저장
                {
                        loop=1;
                        *(temp+i)=x;
                        i++;
                        x=0;
                }

                x=x*10+(input-48); // 입력 받은것을 숫자로해서 자리수 맞춘다.
        }

        if(loop>1)      // 마지막 입력받은수를 저장
                *(temp+i) = x;
        else            // 마지막에 없으면 방 공간도 하나를 감소해야 한다.
                i--;

        k = i; // 방 수를 임시 변수에 저장하여 사용

        switch(loop)  // 오른쪽 부터 채우기 위해 사용
        {
                case 2: // 마지막 수가 한자리면 오른쪽으로 세자리씩 더 옮기기 위함
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 1000)*10 + *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 1000);
                                k--;
                        }

                case 3: // 마지막 수가 두자리면 오른쪽으로 두자리씩 더 옮기기 위함
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 100)*100 + *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 100);
                                k--;
                        }

                case 4: // 마지막 수가 세자리면 오른쪽으로 한자리씩 더 옮기기 위함
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 10)*1000+ *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 10);
                                k--;
                        }
        }

        i++;    // 더하기를 할때 자리 올림을 위해 맨 앞에 0으로 한다.

        *s1=0;  // 맨 앞방을 0으로 하기 위함

        for(d=1; d<=i; d++)  // 다음방부터 첫번째 수 입력할 방에 저장
                *(s1+d) = *(temp+d-1);

        std::cout << std::endl;
        x=0; loop=0;   // 두번째수 입력받기위해 초기화! 위와 같으므로 설명은 안 하겠습니다.
        printf(" 두번째 수 입력: ");

        while(input=getchar() !='\n')
        {
                loop++;

                if(loop>4)
                {
                        loop=1;
                        *(temp+j)=x;
                        j++;
                        x=0;
                }

                x=x*10+(input-48);
        }

        if(loop>1)
                *(temp+j)=x;
        else
                j--;

        k=j;

        switch(loop)
        {
                case 2:
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 1000)*10 + *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 1000);
                                k--;
                        }

                case 3:
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 100)*100 + *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 100);
                                k--;
                        }

                case 4:
                        while(k)
                        {
                                *(temp+k) = (*(temp+k-1) % 10)*1000+ *(temp+k);
                                *(temp+k-1) = (*(temp+k-1) / 10);
                                k--;
                        }
        }

         t = i - j;  // 방수를 맞추기위해 수1에서 수2 방수를 빼서 남은 앞에 방은 0으로 초기화

        for(d=0; d<t; d++)  // 앞 방을 0으로 초기화
                *(s2+d) = 0;

        for(d=t; d<=i; d++) // 그 이후 방에 입력받은 수2를 차례로 저장
                *(s2+d) = *(temp+d-t);

        std::cout << std::endl;


첫번째 와일 문에서 멈춰서 데이터를 받아야 되는데

바로 2번째 숫자받기로 넘어가지네여 코드적으로는 오류는 없는데

어디가 문젠지 모르겟음여 ㅜㅜ 좀 알려주세용