命令语法:add firstName lastName month day year生日簿中的每个条目都包含名字,姓氏和日期。日期包括一个月,一天和一年。您无需验证月,日和年是否为合理值。您可能不会假设月,日和年以整数形式给出,并且您必须要求用户给您整数。示例(“>”是提示):
> add Natalie Hershlag 6 9 1981
Added "Natalie Hershlag, 6/9/1981" to birthday book.
> add William Pitt 12 18 1963
Added "William Pitt, 12/18/1963" to birthday book.
> add John Depp 6 9 1963
Added "John Depp, 6/9/1963" to birthday book.
> add Bono
Error: unable to add birthday to book. Add requires 5 arguments.
> add Paul Hewson May 10 1960
Error: unable to add birthday to book. Please use integers for dates.
命令语法:list 打印出所有生日书条目的列表,编号为每行一个。例如:
> list
1. Madonna Ciccone, 8/16/1958
2. Natalie Hershlag, 6/9/1981
3. William Pitt, 12/18/1963
4. John Depp, 6/9/1963
命令语法:删除号码 您可能不会认为用户总是会给出一个整数作为他们想要删除的数字。后 检查条目号是否有效,程序应验证用户是否确实要删除 要求输入“y”或“n”,分别表示“是”或“否”。你应该继续提示 “y”或“n”直到你得到一个或另一个。例如:
> list
1. Madonna Ciccone, 8/16/1958
2. Natalie Hershlag, 6/9/1981
3. William Pitt, 12/18/1963
4. John Depp, 6/9/1963
> delete 3
Really delete William Pitt from the birthday book? (y/n) y
> list
1. Madonna Ciccone, 8/16/1958
2. Natalie Hershlag, 6/9/1981
3. John Depp, 6/9/1963
> delete 4
I'm sorry, but there is no such entry in the book.
> delete 1
Really delete Madonna Ciccone from the birthday book? (y/n) nada
Please enter "y" or "n". (y/n) n
> list
1. Madonna Ciccone, 8/16/1958
2. Natalie Hershlag, 6/9/1981
3. John Depp, 6/9/1963
我将如何开始这个问题?我还需要结合使用类吗?我不需要特定的代码,而是需要如何开始这一点。 我是否首先将每个函数(添加,列表,删除)放入另一个类来处理它们并在主类中使用一个公共数组?
答案 0 :(得分:0)
本着帮助的精神,我会给你一个起点:
Console.ReadLine <-- gives you inputs from what they typed in
您需要一些课程,例如:
public class Person {
public string FirstName;
public string LastName;
public Date BirthDate;
}
然后你会想要一个使用
等行进行某种打印的主类Console.WriteLine("Gimme stuffs");
甚至可能还有一些
foreach(var p in People){
Console.WriteLine("Found person {0} {1}, {2}",p.FirstName, p.LastName, p.BirthDate);
}
在那个主要课程的某个地方,你会有像
这样的东西List<Person> People = new List<Person>();
验证:
我会做出类似的事情:
public static Person GetPerson(string str){
var all = str.Split(' ');
var p = new Person();
p.FirstName = all[0];
p.LastName = all[1];
int month = (int)all[2];
int day = (int)all[3];
int year = (int)all[4];
p.BirthDate = new Date(year,month,day);
return p;
}
并进行快速验证:
if(str.Split(' ').Length != 5) //you don't have a valid input line
但也
int testInt = 0;
if(!int.TryParse(str.Split(' ')[3], out testInt)) //you don't have a valid month
现在,这有很多帮助。出去试试自己。