# Requirements

## Create an in-memory student database

### Student class

```csharp
public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string City { get; set; }
}
```

### The expectations are shown below:

```
**************** MENU *********************
1) List students
2) Create new student
3) Update student details
4) Delete student
5) Exit
*******************************************

Enter your choice: 1
>
Id	Name	City
1	Sam		NYC
2	Ted		BLR

**************** MENU *********************
1) List students
2) Create new student
3) Update student details
4) Delete student
5) Exit
*******************************************
Enter your choice: 2
>
Enter Student ID: 3
Enter Student Name: kim
Enter Student City: SVC

Student kim created!

**************** MENU *********************
1) List students
2) Create new student
3) Update student details
4) Delete student
5) Exit
*******************************************

Enter your choice: 1
>
Id	Name	City
1	Sam		NYC
2	Ted		BLR
3	kim		SVC

**************** MENU *********************
1) List students
2) Create new student
3) Update student details
4) Delete student
5) Exit
*******************************************

Enter your choice: 4
>
Enter Id of the student to be deleted: 2
>
Kim deleted!

**************** MENU *********************
1) List students
2) Create new student
3) Update student details
4) Delete student
5) Exit
*******************************************

Enter your choice: 5
>
bye
```

#### Similarly, you can create update functionality as well.

### Optional Requirements

1. Also have an option in main menu saying "Filter". Upon selecting it, user must be asked to enter city name. Then the system must show only those students who come from that city
2. Try this using a `WinForms` project where we have UI to view and create data?


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://raviram.gitbook.io/c-programing/c-mini-project/requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
