IMG-LOGO
×

Giáo Trình Học

Khoá học lập trình C# (.NET Core)

Kiến Thức Căn Bản - Khai Báo Biến, Toán Tử, Mệnh Đề Điều Kiện, Lặp

[Video] Giới thiệu về ngôn ngữ lập trình C# & .NET Framework + Khai báo biến trong C# [Video] Hướng dẫn tìm hiểu biến + toán tử trong lập trình C# [Video] Hướng dẫn tìm hiểu mệnh đề điều kiện if - else - switch trong C# [Video] Tìm dãy số nguyên tố - Lập trình C# - Loop trong C# [Video] In dãy số chẵn & lẻ từ mảng số nguyên - Lập trình C# - Loop trong C#




Trang Chủ C Sharp Chương trình quản lý sinh viên C# + Import/Export JSON + File - Lập Trình C# - Lập Trình C Sharp

Chương trình quản lý sinh viên C# + Import/Export JSON + File - Lập Trình C# - Lập Trình C Sharp

by GokiSoft.com - 10:17 19/10/2021 10,147 Lượt Xem

I. Tạo lớp đối tượng sinh viên (Student) gồm các thuộc tính : fullname, birthday, email, address, gender

- Tạo hàm tạo ko đối và có đầy đủ đối số

- Tạo hàm getter & setter

- Tạo hàm nhập thông tin sinh và hiển thị thông tin sinh viên

II. Tạo lớp đối tượng lớp học (ClassRoom) gồm các thuôc tính : name, address và mảng danh sach sinh viên (List<Student> studentList)

- Tạo hàm tạo ko đối

- Tạo getter/setter

- Tạo hàm nhập và hiển thị thông tin sinh viên

III. Tạo lớp Main chứa mảng đối tượng ClassRoom

List<ClassRoom> classList = new ArrayList<>()

IV. Xây dựng menu chương trình sau

1. Nhập thông tin sinh viên từ file json (data.json -> xem nội dụng file đc import ở dưới)

2. Hiển thị thông tin sinh viên

3. Lưu thông tin mỗi lớp học vào 1 file ten_lop.obj

Chú thích :

Khi người dùng chọn 1 : thực hiện đọc dữ liệu từ file data.json và lưu thông tin đọc vào mảng classList

Khi người dùng chọn 2 : Hiển thị thông tin lớp học từ mảng classList

Khi người dùng chọn 3 : thực hiện lưu thông tin từng lớp học vào 1 file tương ứng (Ví dụ : T1801A.obj, ...)

JSON File

[
  {
    "name": "T1801A",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  },
  {
    "name": "T1804M",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  }
]



Bình luận



Chia sẻ từ lớp học

Trần Văn Lâm [T2008A]

Ngày viết: 17:10 21/05/2021


#Program.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace les4t1
{
    class Program
    {
        static void Main(string[] args)
        {
            List<ClassRoom> classRooms = new List<ClassRoom>();
            int choose;
            do
            {
                showMenu();
                choose = Convert.ToInt32(Console.ReadLine());

                switch (choose)
                {
                    case 1:
                         ImportJSON(classRooms);
                        break;
                    case 2:
                        Display(classRooms);
                        break;
                    case 3:
                        SaveFiles(classRooms);
                        break;
                    case 4:
                        Console.WriteLine("Exit!!!");
                        break;
                    default:
                        Console.WriteLine("Input Fail!!!");
                        break;
                }
            } while (choose != 4);
            
        }
        static void ImportJSON(List<ClassRoom> classRooms)
        {
            var content = System.IO.File.ReadAllText(@"data.json");
            Console.WriteLine(content);
            classRooms = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClassRoom>>(content);

            Console.WriteLine("Length: " + classRooms.Count);
            Display(classRooms);

        }
        static void Display(List<ClassRoom> classRooms)
        {
            foreach (ClassRoom classroom in classRooms)
            {
                classroom.Display();
            }
        }
        static void SaveFiles(List<ClassRoom> classRooms)
        {
            foreach(ClassRoom classroom in classRooms)
            {
                using (Stream stream = File.Open(classroom.Name+".obj", FileMode.Create))
                {
                    var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                    binaryFormatter.Serialize(stream, classroom);
                }
            }
        }
        static void showMenu()
        {
            Console.WriteLine("1.Input data from file data.json");
            Console.WriteLine("2.Display Class Room");
            Console.WriteLine("3.Save");
            Console.WriteLine("4.Exit");
            Console.WriteLine("Choose");     
        }
    }
}


#Student.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace les4t1
{
    [Serializable]
    class Student
    {
        public string Fullname { set; get; }
        public string Birthday { get; set; }
        public string Email { set; get; }
        public string Address { set; get; }
        public string Gender { set; get; }
        
        public Student()
        {

        }
        public Student(string Fullname, string Birthday, string Email, string Address, string Gender)
        {
            this.Fullname = Fullname;
            this.Birthday = Birthday;
            this.Email = Email;
            this.Address = Address;
            this.Gender = Gender;
        }
        public void Input()
        {
            Console.WriteLine("Input fullname:");
            Fullname = Console.ReadLine();
            Console.WriteLine("Input birthday:");
            Birthday = Console.ReadLine();
            Console.WriteLine("Input email:");
            Email = Console.ReadLine();
            Console.WriteLine("Input address:");
            Address = Console.ReadLine();
            Console.WriteLine("Input gender:");
            Gender = Console.ReadLine();
        }
        public void Display()
        {
            Console.WriteLine("fullname : {0}, birthday : {1}, email : {2}, address : {3}, gender : {4}", Fullname, Birthday, Email, Address, Gender);
        }
    }
}


#ClassRoom.cs


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace les4t1
{
    [Serializable]
    class ClassRoom
    {
        public string Name { get; set; }
        public string Address { get; set; }
        public List<Student> studentList { get; set; }

        public ClassRoom()
        {
            studentList = new List<Student>();
        }
        public void Input()
        {
            Console.WriteLine("Input Name:");
            Name = Console.ReadLine();
            Console.WriteLine("Input Address:");
            Address = Console.ReadLine();
            Console.WriteLine("Input N Student:");
            int N = Convert.ToInt32(Console.ReadLine());
            for (int i = 0; i < N; i++ )
            {
                Student std = new Student();
                std.Input();
                studentList.Add(std);
            }
        }
        public void Display()
        {
            Console.WriteLine("Name : {0}, Address : {1}", Name, Address);
            foreach(Student std in studentList)
            {
                std.Display();
            }
        }
    }
}


#data.json


{
  [
    {
      "name": "T1801A",
      "address": "Detech Building",
      "studentList": [
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        },
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        },
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        }
      ]
    },
    {
      "name": "T1804M",
      "address": "Detech Building",
      "studentList": [
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        },
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        },
        {
          "fullname": "Tran Van A",
          "birthday": "01-01-19991",
          "email": "[email protected]",
          "address": "Nam Dinh",
          "gender": "Nam"
        }
      ]
    }
  ]
}


Đỗ Minh Quân [T2008A]

Ngày viết: 16:43 21/05/2021



[
  {
    "name": "T1801A",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  },
  {
    "name": "T1804M",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  }
]


Đỗ Minh Quân [T2008A]

Ngày viết: 16:43 21/05/2021



using System;
using System.Collections.Generic;
using System.Text;
namespace Ql.sinhvien
{
    class Student
    {
        public string FullName { get; set; }
        public string Email { get; set; }
        public string BirthDay { get; set; }
        public string Address { get; set; }
        public string Gender { get; set; }

        public Student(string fullName, string email, string birthDay, string address, string gender)
        {
            FullName = fullName;
            Email = email;
            BirthDay = birthDay;
            Address = address;
            Gender = gender;
        }

        public Student()
        {
        }
        public void input()
        {
            Console.WriteLine("Enter fullname : ");
            FullName = Console.ReadLine();
            Console.WriteLine("Enter birthday(MM/dd/yyyy) : ");
            BirthDay = Console.ReadLine();
            Console.WriteLine("Enter email : ");
            Email = Console.ReadLine();
            Console.WriteLine("Enter address : ");
            Address = Console.ReadLine();
            Console.WriteLine("Enter gender : ");
            Gender = Console.ReadLine();
        }
        public void display()
        {
            Console.WriteLine("----Full name : {0} , BirthDay : {1} , Email : {2} , Address : {3} , Gender : {4}", FullName, BirthDay, Email, Address, Gender);
        }
    }
}


Nguyên Phấn Đông [T2008A]

Ngày viết: 16:21 21/05/2021


#ClassRoom.cs


using System;


namespace buoi4
{
    [Serializable]
    class ClassRoom
    {
        public string Name { get; set; }
        public string Address { get; set; }
        public List<Student> studentList { get; set; }

        public ClassRoom()
        {
            studentList = new List<Student>();
        }
        public void inputClassRoom()
        {
            Console.WriteLine("input nameclass");
            Name = Console.ReadLine();
            Console.WriteLine("input address");
            Address = Console.ReadLine();
            bool ischeck = true;
            Console.WriteLine("input num student");
            Int32 num = Convert.ToInt32(Console.ReadLine());
            for(Int32 i = 1, i <= num , i++)
            {
                Console.WriteLine(i);
                Student st = new Student();
                st.input();
                studentList.Add(st);
            }
            
        }
        public void display()
        {
            Console.WriteLine("NameClass={0},Address={1}", Name, Address);
            foreach (var item in studentList)
            {
                item.display();
            }
        }
    }
}


#data.json


[
  {
    "name": "T1801A",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  },
  {
    "name": "T1804M",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  }
]


#Main .cs


using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Newtonsoft.Json;
namespace buoi4

public class Main
{
   

        static void Main(string[] args)
        {
        List<ClassRoom> classList = new ArrayList<>()
        do
        {
            showmenu();
            int choose = Convert.ToInt32(Console.ReadLine());
            switch (choose)
            {
                case 1:
                    class = importJSON(classList);
                    listclass(class);
                    break;
                case 2:
                    listclass(classList);
                    break;
                case 3:
                    exportJSON(classList);
                    break;
                case 4:
                    Console.WriteLine("Thoat !!");
                    break;

            }
        } while (choose != 4);
        public static void showmenu()
        {
            Console.WriteLine("1. Nhập thông tin sinh viên từ file json");
            Console.WriteLine("2. Hiển thị thông tin sinh viên");
            Console.WriteLine("3. Lưu thông tin mỗi lớp học vào 1 file ten_lop.obj");
            Console.WriteLine("4. Thoát");
            Console.WriteLine("Choose");
         }
        public static void listclass(List<ClassRoom> classList)
        {

            Console.WriteLine("Danh sach sinh vien theo classroom");
            foreach (var item in classList)
            {
                item.display();
            }
        }
        static void exportJSON(List<ClassRoom> classRooms)
        {
            foreach (ClassRoom classroom in classRooms)
            {


                using (StreamWriter file = File.CreateText(@"C:/Users/dong/source/repos/CMakeProject1/buoi4/" + classroom.name + ".obj"))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Serialize(file, classroom);
                }
            }
        static List<ClassRoom> importJSON(List<ClassRoom> classRooms)
        {
            var content = File.ReadAllText(@"C:/Users/dong/source/repos/CMakeProject1/buoi4/data.json");
            classRooms = JsonConvert.DeserializeObject<List<ClassRoom>>(content);


            return classRooms;
        }
    }
}


#stuednt.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace buoi4
{
    class Student
    {
        public string Fullname { get; set; }
        public string Birthday { get; set; }
        public string Email { get; set; }
        public string Address { get; set; }
        public string Gender { get; set; }

        public Student() { }
        public Student(string Fullname, string Birthday, string Email, string Address, string Gender)
        {
            this.Fullname = Fullname;
            this.Birthday = Birthday;
            this.Email = Email;
            this.Address = Address;
            this.Gender = Gender;

        }
        public void display()
        {
            Console.WriteLine("FullName ={0},Birthday={1},Email={2},Address={3},Gender={4}", Fullname, Birthday, Email, Address, Gender);
        }
        public void input()
        {
            Console.WriteLine("input fullname: ");
            Fullname = Console.ReadLine();
            Console.WriteLine("input birthday:");
            Birthday = Console.ReadLine();
            Console.WriteLine("input email");
            Email = Console.ReadLine();
            Console.WriteLine("input address:");
            Address = Console.ReadLine();
            Console.WriteLine("input gender:");
            Gender = Console.ReadLine();
        }


    }
}


Nguyễn Tiến Đạt [T2008A]

Ngày viết: 16:00 21/05/2021


#Program.cs


using System;
using System.Collections.Generic;
using QuanLySinhVien.Modals;

namespace QuanLySinhVien
{
    class Program
    {
        static void Main(string[] args)
        {
            List<ClassRoom> classList = new List<ClassRoom>();
            int choose=0;
            do
            {
                showMenu();
                choose = int.Parse(Console.ReadLine());
                switch (choose)
                {
                    case 1:
                        string content = System.IO.File.ReadAllText(@"data.json");
                        classList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClassRoom>>(content);
                        Console.WriteLine("Lay du lieu thanh cong!!");
                        break;
                    case 2:
                        foreach (ClassRoom classroom in classList)
                        {
                            Console.WriteLine("Ten lop: {0}", classroom.name);
                            Console.WriteLine("Dia chi: {0}", classroom.address);
                            classroom.display();
                        }
                        break;
                    case 3:
                        foreach (ClassRoom classroom in classList)
                        {
                            string text = "Dia chi lop: " + classroom.address + "\n";
                            foreach(Student std in classroom.studentList)
                            {
                                text += std.chuoi();
                            }
                            System.IO.File.WriteAllText(classroom.name + ".json", text);
                        }
                        Console.WriteLine("Luu thanh cong!!");
                        break;
                    case 4:
                        Console.WriteLine("Tam biet!!");
                        break;
                    default:
                        Console.WriteLine("Loi nhap!!");
                        break;
                }
            } while (choose != 4);

        }
        static void showMenu()
        {
            Console.WriteLine("Lua chon chuong trinh:");
            Console.WriteLine("1.Nhap thong tin sinh vien tu file json");
            Console.WriteLine("2.Hien thi thong tin sinh vien");
            Console.WriteLine("3.Luu tung lop hoc");
            Console.WriteLine("4.Thoat");
        }
    }
}


#ClassRoom.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace QuanLySinhVien.Modals
{
    class ClassRoom
    {
        public string name { get; set; }
        public string address { get; set; }
        public List<Student> studentList = new List<Student>();
        public ClassRoom()
        {

        }
        public void input()
        {
            Console.WriteLine("Nhap ten lop:");
            name = Console.ReadLine();
            Console.WriteLine("Nhap dia chi lop:");
            address = Console.ReadLine();
        }
        public void display()
        {
            foreach(Student std in studentList)
            {
                std.display();
            }
        }
    }
}


#Student.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace QuanLySinhVien.Modals
{
    class Student
    {
        public string fullname { get; set; }
        public string birthday { get; set; }
        public string email { get; set; }
        public string address { get; set; }
        public string gender { get; set; }
        public Student()
        {

        }
        public Student(string fullname, string birthday, string email, string address, string gender)
        {
            this.fullname = fullname;
            this.birthday = birthday;
            this.email = email;
            this.address = address;
            this.gender = gender;
        }
        public void input()
        {
            Console.WriteLine("Nhap ten:");
            fullname = Console.ReadLine();
            Console.WriteLine("Nhap ngay sinh:");
            birthday = Console.ReadLine();
            Console.WriteLine("Nhap email:");
            email = Console.ReadLine();
            Console.WriteLine("Nhap dia chi:");
            address = Console.ReadLine();
            Console.WriteLine("Nhap gioi tinh:");
            gender = Console.ReadLine();
        }
        public void display()
        {
            Console.WriteLine("Ho va ten: {0}, Ngay sinh: {1}, Email: {2}, Dia chi: {3}, Gioi tinh: {4}", fullname, birthday, email, address, gender);
        }
        public string chuoi()
        {
            return "Ho va ten: " + fullname + ", Ngay sinh: " + birthday + ", Email: " + email + ", Dia chi: " + address + ", Gioi tinh: " + gender + "\n";
        }
    }
}


#data.json


[
  {
    "name": "T1801A",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  },
  {
    "name": "T1804M",
    "address": "Detech Building",
    "studentList": [
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      },
      {
        "fullname": "Tran Van A",
        "birthday": "01-01-19991",
        "email": "[email protected]",
        "address": "Nam Dinh",
        "gender": "Nam"
      }
    ]
  }
]


#T1801A.json


Dia chi lop: Detech Building
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam


#T1804M.json


Dia chi lop: Detech Building
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam
Ho va ten: Tran Van A, Ngay sinh: 01-01-19991, Email: [email protected], Dia chi: Nam Dinh, Gioi tinh: Nam


Phân Loại Bài Viết

Tài Liệu Tham Khảo

Ứng Dụng Tiện Ích



Đã sao chép!!!