Vote for your favorite Anime character
// Java Voting App (console-based)
import java.util.*;
class User {
private String username;
private String password;
private boolean hasVoted;
private static Map userdb = new HashMap<>();
public User(String username, String password) {
this.username = username;
this.password = password;
this.hasVoted = false;
}
public static boolean addUser(String username, String password) {
if (userdb.containsKey(username)) {
System.out.println("User already exists.");
return false;
}
userdb.put(username, new User(username, password));
return true;
}
public static User authenticate(String username, String password) {
User user = userdb.get(username);
if (user != null && user.password.equals(password)) {
return user;
}
return null;
}
public boolean hasVoted() {
return hasVoted;
}
public void setHasVoted(boolean hasVoted) {
this.hasVoted = hasVoted;
}
}
class VotingSystem {
private Map parties;
public VotingSystem() {
parties = new HashMap<>();
parties.put("a", 0);
parties.put("b", 0);
parties.put("c", 0);
}
public void voteUser(Scanner scanner) {
System.out.print("Enter username: ");
String username = scanner.nextLine();
System.out.print("Enter password: ");
String password = scanner.nextLine();
User user = User.authenticate(username, password);
if (user != null) {
if (user.hasVoted()) {
System.out.println("You have already voted.");
return;
}
System.out.println("Available parties: a, b, c");
System.out.print("Enter party name: ");
String choice = scanner.nextLine().toLowerCase();
if (parties.containsKey(choice)) {
parties.put(choice, parties.get(choice) + 1);
user.setHasVoted(true);
System.out.println("Vote cast successfully.");
} else {
System.out.println("Invalid party.");
}
} else {
System.out.println("Invalid credentials.");
}
}
public void viewResults() {
System.out.println("\nVoting Results:");
for (Map.Entry entry : parties.entrySet()) {
System.out.println("Party " + entry.getKey() + ": " + entry.getValue() + " vote(s)");
}
}
}
public class VotingSystemApp {
public static void registerUser(Scanner scanner) {
System.out.print("Enter username: ");
String username = scanner.nextLine();
System.out.print("Enter password: ");
String password = scanner.nextLine();
if (User.addUser(username, password)) {
System.out.println("User registered successfully.");
} else {
System.out.println("Registration failed.");
}
}
public static void loginUser(Scanner scanner) {
System.out.print("Enter username: ");
String username = scanner.nextLine();
System.out.print("Enter password: ");
String password = scanner.nextLine();
User user = User.authenticate(username, password);
if (user != null) {
System.out.println("Login successful.");
} else {
System.out.println("Invalid credentials.");
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
VotingSystem votingSystem = new VotingSystem();
while (true) {
System.out.println("\n1. Register");
System.out.println("2. Login");
System.out.println("3. Vote");
System.out.println("4. View Results");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
String choice = scanner.nextLine();
switch (choice) {
case "1":
registerUser(scanner);
break;
case "2":
loginUser(scanner);
break;
case "3":
votingSystem.voteUser(scanner);
break;
case "4":
votingSystem.viewResults();
break;
case "5":
System.out.println("Exiting program.");
scanner.close();
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
}
# Python Voting App (console-based)
import getpass
class User:
userdb = {}
def __init__(self, username, password):
self.username = username
self.password = password
self.has_voted = False
@classmethod
def add_user(cls, username, password):
if username in cls.userdb:
print("โ User already exists!")
return False
cls.userdb[username] = User(username, password)
return True
@classmethod
def authenticate(cls, username, password):
user = cls.userdb.get(username)
if user and user.password == password:
return user
return None
def register_user():
username = input("Enter username: ")
password = getpass.getpass("Enter password: ")
if User.add_user(username, password):
print("โ
Registered successfully.")
else:
print("โ Registration failed.")
def login_user():
username = input("Enter username: ")
password = getpass.getpass("Enter password: ")
user = User.authenticate(username, password)
if user:
print("โ
Login successful.")
if user.has_voted:
print("๐ณ๏ธ You have already voted.")
else:
print("๐ข You can vote now.")
vote = input("Who do you vote for? ")
user.has_voted = True
print(f"โ
Vote casted for {vote}")
else:
print("โ Login failed.")
# Example usage:
while True:
print("\n1. Register\n2. Login\n3. Exit")
choice = input("Choose option: ")
if choice == "1":
register_user()
elif choice == "2":
login_user()
elif choice == "3":
break
else:
print("โ Invalid choice")
# JavaScript Voting App (console-based)
const readline = require('readline');
class User {
static userdb = new Map();
constructor(username, password) {
this.username = username;
this.password = password;
this.has_voted = false;
}
static add_user(username, password) {
if (User.userdb.has(username)) {
console.log("โ User already exists!");
return false;
}
User.userdb.set(username, new User(username, password));
return true;
}
static authenticate(username, password) {
const user = User.userdb.get(username);
if (user && user.password === password) {
return user;
}
return null;
}
}
function register_user() {
const username = readline.question("Enter username: ");
const password = readline.question("Enter password: ", { hideEchoBack: true });
if (User.add_user(username, password)) {
console.log("โ
Registered successfully.");
} else {
console.log("โ Registration failed.");
}
}
function login_user() {
const username = readline.question("Enter username: ");
const password = readline.question("Enter password: ", { hideEchoBack: true });
const user = User.authenticate(username, password);
if (user) {
console.log("โ
Login successful.");
if (user.has_voted) {
console.log("๐ณ๏ธ You have already voted.");
} else {
console.log("๐ข You can vote now.");
const vote = readline.question("Who do you vote for? ");
user.has_voted = true;
console.log(โ
Vote casted for ${vote});
}
} else {
console.log("โ Login failed.");
}
}
// Example usage:
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
function main() {
rl.question("\n1. Register\n2. Login\n3. Exit\nChoose option: ", (choice) => {
switch (choice) {
case "1":
register_user();
break;
case "2":
login_user();
break;
case "3":
rl.close();
return;
default:
console.log("โ Invalid choice");
}
main();
});
}
main();