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,148 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

trung [C1907L]

Ngày viết: 21:30 06/07/2020



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

namespace qlsv
{
    [Serializable]
    public class ClassRoom
    {
        public string Name { get; set; }
        public string Address { get; set; }
        public List<Student> ListStudent { get; set; }
        public ClassRoom()
        {

        }

        public void Input()
        {
            ListStudent = new List<Student>();
            Console.WriteLine("Input classroom name:");
            Name = Console.ReadLine();
            Console.WriteLine("Input classroom address:");
            Address = Console.ReadLine();
            int i = 1;
            do
            {
                Console.WriteLine("Input information for student number " + (i));
                Student std = new Student();
                std.Input();
                ListStudent.Add(std);
                Console.WriteLine("Add more student ? (y/n)");
                i++;
            } while (Console.ReadLine().Equals("y"));
        }

        public void Output()
        {
            Console.WriteLine("Classroom name:" + Name);
            Console.WriteLine("Address: " + Address);
            Console.WriteLine("List student is : ");
            foreach(Student std in ListStudent)
            {
                std.Output();
            }
        }
    }
}



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

namespace qlsv
{
    [Serializable]
    public 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)
        {
            FullName = fullName;
            BirthDay = birthDay;
            Email = email;
            Address = address;
            Gender = gender;
        }

        public void Input()
        {
            Console.WriteLine("Input fullname");
            FullName = Console.ReadLine();
            Console.WriteLine("Input birth day");
            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 Output()
        {

            Console.WriteLine("Fullname: {0}",FullName);
            Console.WriteLine("Birthday: {0}", BirthDay);
            Console.WriteLine("Email: {0}", Email);
            Console.WriteLine("Address: {0}", Address);
            Console.WriteLine("Gender: {0}", Gender);
        }
    }
}



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

namespace qlsv
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //tao json file
            /*List<ClassRoom> classList = new List<ClassRoom>();
            do
            {
                ClassRoom newClr = new ClassRoom();
                newClr.Input();
                classList.Add(newClr);
                Console.WriteLine("Continue adding classroom (y/n) ?");
            } while (Console.ReadLine().Equals("y"));

            string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(classList);
            Console.WriteLine(jsonString);
            System.IO.File.WriteAllText(@"test.json", jsonString);
            */
            int choice = 0;
            List<ClassRoom> realClassList = new List<ClassRoom>();
            do
            {
                ShowMenu();
                choice = int.Parse(Console.ReadLine());
                switch(choice)
                {
                    case 1:
                        string resultStr = System.IO.File.ReadAllText(@"test.json");
                        dynamic test = Newtonsoft.Json.JsonConvert.DeserializeObject(resultStr);
                        realClassList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClassRoom>>(resultStr);
                        foreach(ClassRoom clr in realClassList)
                        {
                            clr.Output();
                        }
                        break;
                    case 2:
                        foreach(ClassRoom clr in realClassList)
                        {
                            foreach(Student std in clr.ListStudent)
                            {
                                std.Output();
                            }
                        }
                        break;
                    case 3:
                        foreach (ClassRoom clr in realClassList)
                        {
                            using (Stream stream = File.Open((clr.Name+".obj"), FileMode.Create))
                            {
                                var bformatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                                bformatter.Serialize(stream, clr);
                            }
                            
                        }
                        break;
                    case 4:
                        Console.WriteLine("bye bye ...");
                        break;
                    default:
                        Console.WriteLine("Invalid input...");
                        break;
                }
            } while (choice != 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. Exit");
        }
    }
}


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

Tài Liệu Tham Khảo

Đã sao chép!!!