Professional Documents
Culture Documents
Development Timeline
Compare your program flow plan with your project delivery.
Plan Delivery
Program Processes/Operations:
Design a console-based POS system with The delivered program successfully executes key
features like adding items to the order, operations, allowing users to add items to the
viewing the order, checking out, and exiting. order, view the order, proceed to checkout, and
exit the system.
Utilize a LinkedList to efficiently manage The chosen data structure, LinkedList, effectively
order items and calculate the total amount. manages order items, ensuring flexibility and
efficiency in handling dynamic changes to the
order.
Coding Approach:
Adopt a modular coding approach with The coding approach aligns with the planned
functions for key functionalities (e.g., modular structure, enhancing code readability
displaying the menu, adding items, viewing and maintainability. Functions are well-organized
orders, and checking out). for each specific operation.
Challenges
List down the challenges you have encountered when developing your project.
• I encountered a Challenge in validating user input to ensure it aligns with menu options,
leading to refinements in the AddItemToOrder function.
• Formatting issues posed a challenge, especially in aligning text for a visually appealing
display, requiring adjustments in the DisplayMenu function.
Evidences
• Insert here the entire code of your project
• Insert here images of all the interfaces of your program and its processes
using System;
using System.Collections.Generic;
namespace DASTRU_FINAL_PROJECT
{
internal class Program
{
// LinkedList to store order items
static LinkedList<OrderItem> orderItems = new LinkedList<OrderItem>();
// Total amount of the order
static double totalAmount = 0;
switch (choice)
{
case 1:
AddItemToOrder();
break;
case 2:
ViewOrder();
break;
case 3:
Checkout();
break;
case 4:
Environment.Exit(0);
break;
default:
Console.WriteLine("Invalid choice. Please try again.");
break;
}
}
}
double[] prices = { 30, 45, 55, 65, 75, 85, 95, 100, 110, 115 };
Console.WriteLine("╔═════════════════════════════════╗");
Console.WriteLine("╚═════════════════════════════════╝");
}
Console.WriteLine("\n╔═════════════════════════════════╗");
Console.WriteLine("║ Receipt ║");
Console.WriteLine("╚═════════════════════════════════╝");
ViewOrder();
// Calculate change
double change = payment - totalAmount;
return items[index];
}
return prices[index];
}
}