import 'dart:io'; import 'dart:core'; class Participant{ var name, role, stack, time; //class members Participant(){ //constructors stdout.write("Name: "); name = stdin.readLineSync(); } //class methods void addStacks(){ print("Enter number of intersets: "); int num_intrs = int.parse(stdin.readLineSync()); print("Enter $num_intrs skills you are looking for: "); for(int i=0; i<num_intrs; i++){ stack.add(stdin.readLineSync()); } } void setMentorOrLearner(){ print("Role: "); role = stdin.readLineSync(); } void setAvailableTime(){ if (role == "Mentor"){ time = int.parse(stdin.readLineSync()); } } void getMentor(var stk, var tm){ if (role == "Mentor"){ for (var tech in stk){ var result = stack.Where(tech, orElse: () => null); if (result == null){ break; } else if (tm < time){ print("$tech : $name"); } } } } } void main(){ var person = {}, stack, time; print("Enter number of participants: "); int nm = int.parse(stdin.readLineSync()); for(int i=0; i<nm; i++){ print("\n Person: "+(i+1).toString()); person.putIfAbsent(i, () => Participant()); person[i].addStacks(); person[i].setMentorOrLearner(); person[i].setAvailableTime(); } print("\n\n<< == Database Updated == >>\n\n"); print("Enter number of intersets: "); int num_intrs = int.parse(stdin.readLineSync()); print("Enter $num_intrs skills you are looking for: "); for(int i=0; i<num_intrs; i++){ stack.add(stdin.readLineSync()); } print("Enter avaliable time: "); time = int.parse(stdin.readLineSync()); for(int i=0; i<nm; i++){ person.putIfAbsent(i, () => person[i].getMentor(stack, time)); } }