All Projects

Bus Ticket Booking System in Python
Bus Ticket Booking System in Java
Bus Ticket Booking System in Cpp
Bus Ticket Booking System in C
Cafe Order System in Python
Cafe Order System in Java
Cafe Order System in Cpp
Cafe Order System in C
Social Media Account Details Manager in Python
Social Media Account Details Manager in Java
Social Media Account Details Manager in Cpp
Social Media Account Details Manager in C
Mini ATM in Python Language
Mini ATM in Java Language
Mini ATM in cpp language
Mini ATM in c language
Pocket Money Manager in Python Language
Pocket Money Manager in Java Language
Pocket Money Manager in Cpp Language
Pocket Money Manager in C Language
Username Password Generator in Python Language
Username Password Generator in Cpp Language
Username Password Generator in C Language
Telephone Directory in Python Language
Telephone Directory in Java Language
Telephone Directory in Cpp Language
Telephone Directory in C Language
Calander in Cpp Language
Calander in C Language
NoteBook in Python Language
NoteBook in Cpp Language
NoteBook in C Language
Voting System in Python Language
Voting System in Java Language
Voting System in Cpp Language
Voting System in C Language
Age Calculator in Python Language
Age Calculator in Java Language
Age Calculator in Cpp Language
Age Calculator in C Language
Currency Converter in Python Language
Currency Converter in Java Language
Currency Converter in Cpp Language
Currency Converter in C Language
Random Password Generator in python language
Random Password Generator in java language
Random Password Generator in cpp language
Random Password Generator in c language
Billing System in python language
Billing System in c++ language
Billing System in c language
Atm in c language

Mini ATM in c language


Aniket The Programmer

1K+ Subscribers

Click To Subscribe My Channel

Subscribe

Source Code

        
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

#define MAX_ACCOUNTS 10

// Structure to represent an account
struct Account {
    int accountNumber;
    char pin[6];
    float balance;
};

struct Account accounts[MAX_ACCOUNTS];
int accountCount = 0;

// Function to create a new account
void createAccount(int accountNumber, char pin[], float initialBalance) {
    if (accountCount < MAX_ACCOUNTS) {
        accounts[accountCount].accountNumber = accountNumber;
        strcpy(accounts[accountCount].pin, pin);
        accounts[accountCount].balance = initialBalance;
        accountCount++;
        printf("Account created successfully!\n");
    } else {
        printf("Cannot create more accounts. Limit reached.\n");
    }
}

// Function to find an account by account number
int findAccount(int accountNumber) {
    for (int i = 0; i < accountCount; ++i) {
        if (accounts[i].accountNumber == accountNumber) {
            return i; // Return the index of the account if found
        }
    }
    return -1; // Return -1 if account not found
}

// Function to simulate a withdrawal
void withdraw(int accountIndex, float amount) {
    if (accounts[accountIndex].balance >= amount) {
        accounts[accountIndex].balance -= amount;
        printf("Withdrawal successful. Remaining balance: $%.2f\n", accounts[accountIndex].balance);
    } else {
        printf("Insufficient funds!\n");
    }
}

// Function to simulate a deposit
void deposit(int accountIndex, float amount) {
    accounts[accountIndex].balance += amount;
    printf("Deposit successful. New balance: $%.2f\n", accounts[accountIndex].balance);
}

// Function to display account balance
void displayBalance(int accountIndex) {
    printf("Account Number: %d\n", accounts[accountIndex].accountNumber);
    printf("Current Balance: $%.2f\n", accounts[accountIndex].balance);
}

int main() {
    // Creating sample accounts
    int acc_no;
    float init_balance;
    char acc_pin[20];
    printf("Enter Account Number:\t");
    scanf("%d", &acc_no);
    printf("Enter Account Pin:\t");
    scanf("%s", &acc_pin);
    printf("Enter Account Starting Balance:\t");
    scanf("%f", &init_balance);
    createAccount(acc_no, acc_pin, init_balance);

    int choice, accountNumber, accountIndex;
    char pin[6];
    float amount;

    do {
        printf("\nWelcome to Mini ATM\n");
        printf("1. Login\n");
        printf("2. Exit\n");
        printf("Enter choice: ");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                printf("Enter account number: ");
                scanf("%d", &accountNumber);
                printf("Enter PIN: ");
                scanf("%s", pin);

                accountIndex = findAccount(accountNumber);
                if (accountIndex != -1 && strcmp(accounts[accountIndex].pin, pin) == 0) {
                    int option;
                    do {
                        printf("\n1. Withdraw\n");
                        printf("2. Deposit\n");
                        printf("3. Check Balance\n");
                        printf("4. Logout\n");
                        printf("Enter option: ");
                        scanf("%d", &option);

                        switch (option) {
                            case 1:
                                printf("Enter amount to withdraw: ");
                                scanf("%f", &amount);
                                withdraw(accountIndex, amount);
                                break;
                            case 2:
                                printf("Enter amount to deposit: ");
                                scanf("%f", &amount);
                                deposit(accountIndex, amount);
                                break;
                            case 3:
                                displayBalance(accountIndex);
                                break;
                            case 4:
                                printf("Logged out.\n");
                                break;
                            default:
                                printf("Invalid option\n");
                        }
                    } while (option != 4);
                } else {
                    printf("Invalid account number or PIN\n");
                }
                break;
            case 2:
                printf("Exiting...\n");
                break;
            default:
                printf("Invalid choice\n");
        }
    } while (choice != 2);

    return 0;
}
        
    

Source Code Github Link: View

View Video On Youtube Link: View