Tuesday, July 23, 2024

What is Generative AI?

Addition and Subtraction Using Polymorphism in Java

Addition and Subtraction Using Polymorphism in Java

 


Program Listing

import java.util.Scanner;


class MathOperation {

    public int performOperation(int a, int b) {

        return 0; // Base class default implementation

    }

}


class Addition extends MathOperation {

    @Override

    public int performOperation(int a, int b) {

        return a + b;

    }

}


class Subtraction extends MathOperation {

    @Override

    public int performOperation(int a, int b) {

        return a - b;

    }

}


public class Main {

    public static void main(String[] args) {

        MathOperation operation = null;

        int num1, num2;

        char op;


        Scanner scanner = new Scanner(System.in);


        System.out.println("\n\n\tAddition and Subtraction Using Polymorphism in Java\n");

        System.out.print("\tEnter two numbers: ");

        num1 = scanner.nextInt();

        num2 = scanner.nextInt();

        System.out.print("\tEnter the operation (+ for addition, - for subtraction): ");

        op = scanner.next().charAt(0);


        if (op == '+') {

            operation = new Addition();

        } else if (op == '-') {

            operation = new Subtraction();

        } else {

            System.out.println("\tInvalid operation.");

            return;

        }


        int result = operation.performOperation(num1, num2);

        System.out.println("\n\tThe Result: " + result);


        scanner.close();


        System.out.println("\n\tEnd of Program. Thank you for using this program.");

    }

}


Monday, July 15, 2024

Simple Calculator Using Abstraction in C++

Simple Calculator Using Abstraction in C++

 


Program Listing

#include <iostream>


// Abstract class for calculator operations

class Operation {

public:

    virtual double calculate(double a, double b) = 0;

};


// Concrete subclasses for each operation

class Addition : public Operation {

public:

    double calculate(double a, double b) override {

        return a + b;

    }

};


class Subtraction : public Operation {

public:

    double calculate(double a, double b) override {

        return a - b;

    }

};


class Multiplication : public Operation {

public:

    double calculate(double a, double b) override {

        return a * b;

    }

};


class Division : public Operation {

public:

    double calculate(double a, double b) override {

        if (b == 0) {

            std::cerr << "Error: Division by zero is not allowed." << std::endl;

            return 0; // Return 0 as an error value

        }

        return a / b;

    }

};


int main() {

    double num1, num2;

    char operation;


    std::cout <<"\n\n\tSimple Calculator Using Abstraction in C++\n";

    std::cout << "\n\tGive two numbers: ";

    std::cin >> num1 >> num2;


    std::cout << "\tEnter the operation (+, -, *, /): ";

    std::cin >> operation;


    Operation* op = nullptr;


    switch (operation) {

        case '+':

            op = new Addition();

            break;

        case '-':

            op = new Subtraction();

            break;

        case '*':

            op = new Multiplication();

            break;

        case '/':

            op = new Division();

            break;

        default:

            std::cerr << "\tError: Invalid operation." << std::endl;

            return 1;

    }


    double result = op->calculate(num1, num2);


    std::cout << "\n\tThe Result: " << result << std::endl;

     std::cout << "\n\n\tEnd of Program. Thank you for using this program." << std::endl;

    delete op;


    return 0;

}