ภาษา C รบกวนผู้รู้ โปรดช่วยชี้แนะทีคะ

อาจารย์ท่านให้โจทย์แนวข้อสอบปลายภาคมาให้ไปลองทำ
-----------------------------------------
esy atm (รหัสผ่าน 1234 เงินคงเหลือในบัญชี1500)
    input password ....
ถ้า password ถูกต้องจะถอนเงินได้
ถ้า password ผิด ให้ปิดโปรแกรม
    input withdraw money .....500 เงินที่ต้องการถอน
ถ้า เงินคงเหลือในบัญชี พอ ที่จะถอน ให้แสดงผลดังนี้
    remaining money = ?? 1000 เงินที่เหลือในบัญชีหลังจากถอน
ถ้าเงินคงเหลือไม่พอที่จะถอน ให้แสดงผลดังนี้
    Not enough money เงินไม่เพียงพอ
    Your money = ... 1500เงินที่เหลือในบัญชีเท่าไร

******************
สร้างฟังชั่นย่อยอย่างน้อย 2  ฟังชั่น ไม่รวม void main
----------------------------------

หนูลองทำแล้วค่ะ โจทย์มีข้อกำหนดหลายอย่าง คือหนูลองทำ 2 แบบ  1.แบบครบข้อกำหนดของโจทย์ แต่ยกเว้นฟังชัน Modul แล้วมันรันโปรแกรมได้ปกติคะ  แต่พอลองทำ  2.แบบครบตามโจทย์ ลองแบ่งฟังชัน Modul ด้วย เป็น void ..... แล้วมันติด error คะ หนูลองแก้หลายรอบแล้วไม่หาย

โปรแกรมแบบ 1.

#include<stdio.h>
#include<conio.h>

int main(int argc, char *argv[])
{
int money,pass,input,a,i=0,b=0;
char ab;
money = 1500;

do{
printf("\n\t\t esy atm ");
printf("\n\n\t Password.= ");scanf("%d",&pass);
if(pass!=1234){
              i++;b--;
              if(b=0)
              printf("The code is not correct, again.\n");
              else
              printf("The code is not correct, Close Program.\n");
              }
            
if(pass==1234){
              do{
                    printf("Ok, success\n");  
                    printf("input withdraw money= ");scanf("%d",&input);
                    if (money>input){
                    a=money-input;
                    printf("Ok, success,Total= %d\n",input);
                    money=a;
                    printf("remaining money=%d\n",a);}
                    else{
                    printf("Not enough money");
                    printf("\n Your money = %d\n",money);}
                    printf("Do you want to continue? y or n [y >> Continue] [n >> Close Program] \n");
                    scanf("%s",&ab);
                    }while(ab=='y'||ab=='Y');  
                    printf("Thank you\n");
                    getch();
                    system("PAUSE");    return 0;
                    }
}while(i!=0);
printf("Thank you\n");
getch();
system("PAUSE");    
return 0;
}

โปรแกรมแบบที่ 2.

#include<stdio.h>
#include<conio.h>

int main(int argc, char *argv[])
{
int money,pass,input,a,i=0,b=0;
char ab;
money = 1500;

void else()
{
printf("\n\t\t esy atm ");
printf("\n\n\t Password.= ");scanf("%d",&pass);
if(pass!=1234){
              i++;b--;
              if(b=0)
              printf("The code is not correct, again.\n");
              else
              printf("The code is not correct, Close Program.\n");
              }
}            

void if()
{
if(pass==1234){
              do{
                    printf("Ok, success\n");  
                    printf("input withdraw money= ");scanf("%d",&input);
                    if (money>input){
                    a=money-input;
                    printf("Ok, success,Total= %d\n",input);
                    money=a;
                    printf("remaining money=%d\n",a);}
                    else{
                    printf("Not enough money");
                    printf("\n Your money = %d\n",money);}
                    printf("Do you want to continue? y or n [y >> Continue] [n >> Close Program] \n");
                    scanf("%s",&ab);
                    }while(ab=='y'||ab=='Y');  
                    printf("Thank you\n");
                    getch();
                    system("PAUSE");    return 0;
                    }
}

void main()
{
do{
    else();
    if();                

}while(i!=0);
}
printf("Thank you\n");
getch();
system("PAUSE");    
return 0;
}

หนูไม่รู้ว่าหนูแบ่งฟังชันผิดหรือเปล่าคะ  รบกวนด้วยคะ  ขอบคุณคะ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่