Mấy bác pro ơi giúp em với, đang lập trình Console Application trên C# . Ai cho em bài giải với ( đặc biệt là phần xuất danh sách ấy) : Đề : Viết chương trình Nhập điểm của một lớp: - Nhập vào số sinh viên của lớp - Nhập điểm và thông tin của sinh viên bao gồm : mã số, họ và tên, điểm - Xuất danh sách sinh viên với các thông tin mã số, họ và tên, điểm - Xuất danh sách các sinh viên đậu ( sinh viên đậu là sinh viên có điểm >=5) - Xuất ra thông tin của sinh viên có điểm cao nhất (Gợi ý : Dùng struct)
À, thế thì bạn tạo struct , rồi viết mấy hàm nhập và xuất tương ứng thôi mà , cố gắng lên tí xíu bạn , cái này không có khó lắm
mình nghĩ là nên dùng mảng : class Hocsinh() { static void Main() { int n; //số học sinh int[] stt=new int[100]; string[] Hoten=new string[100]; int[] diem=new int[100]; n=convert.toint32(System.console.Readline()); for (int i=1;i<=n;i++) { System.Console.writeline("Nhap vao stt :"); Stt=convert.toint32(System.Console.Readline()); System.Console.Writeline("Nhap vao Ho & ten : "); Hoten[Stt]=convert.tostring(System.Console.Readline()); System.Console.Writeline("Nhap vao diem : "); diem[stt]=convert.tostring(System.Console.Readline()); } Hocsinh.Xuat(); } } ___________________________ class Hocsinh() { static void Xuat() { int diemmax=0,hotenmax="", sttmax=0; // cái này để lưu học sinh điểm cao nhất System.Console.Writeline("Stt ho ten diem"); Foreach(int i in stt) { System.Console.Writeline("{0} {1} {2}",Stt,Hoten,diem); if (diem>diemmax) {diemmax=diem; hotenmax=hoten; sttmax=stt;} } System.Console.Writeline("Danh sach hoc sinh dau :"); Foreach(int i in diem) { If (diem>=5) {System.Console.Writeline("{0} {1} {2}",stt,hoten,diem); } System.Console.Writeline("Hoc sinh diem cao nhat : {0} {1} {2}",sttmax,hotenmax,diemmax); } }
class SinhVien { public string MaSV; public string HoTen; public float Diem; } class Test { static SinhVien[] dsSinhVien; static void Main(string[] args) { Console.Write("Nhap si so lop : "); int SiSo = Int32.Parse(Console.ReadLine()); dsSinhVien = new SinhVien[SiSo]; Console.WriteLine("Nhap Danh Sach Sinh Vien ---------"); NhapDanhSachSV(); Console.WriteLine("Xuat Danh Sach Sinh Vien ---------"); XuatDanhSachSV(); Console.WriteLine("Danh Sach Sinh Vien Dau ----------"); XuatDanhSachSVDau(); Console.WriteLine("Sinh Vien Diem Cao Nhat ----------"); SinhVienDiemCaoNhat(); Console.ReadLine(); } static void NhapDanhSachSV() { for (int i = 0; i < dsSinhVien.Length; i++) { dsSinhVien = new SinhVien(); Console.WriteLine("Sinh Vien : {0}", i+1); Console.Write("Ma SV : "); dsSinhVien.MaSV = Console.ReadLine(); Console.Write("Ho Ten : "); dsSinhVien.HoTen = Console.ReadLine(); Console.Write("Diem : "); dsSinhVien.Diem = float.Parse(Console.ReadLine()); } } static void XuatDanhSachSV() { for (int i = 0; i < dsSinhVien.Length; i++) { Console.WriteLine("Sinh Vien : {0}", i + 1); Console.WriteLine("Ma SV : {0}", dsSinhVien.MaSV); Console.WriteLine("Ho Ten : {0}", dsSinhVien.HoTen); Console.WriteLine("Diem : {0}", dsSinhVien.Diem); } } static void XuatDanhSachSVDau() { foreach (SinhVien sv in dsSinhVien) { if (sv.Diem >= 5) { Console.WriteLine("Ma SV : {0}", sv.MaSV); Console.WriteLine("Ho Ten : {0}", sv.HoTen); Console.WriteLine("Diem : {0}", sv.Diem); Console.WriteLine("------------------"); } } } static void SinhVienDiemCaoNhat() { int pos = 0; float maxDiem=dsSinhVien[pos].Diem; for (int i = 0; i < dsSinhVien.Length; i++) { if (maxDiem < dsSinhVien.Diem) { maxDiem = dsSinhVien.Diem; pos = i; } } Console.WriteLine("Ma SV : {0}", dsSinhVien[pos].MaSV); Console.WriteLine("Ho Ten : {0}", dsSinhVien[pos].HoTen); Console.WriteLine("Diem : {0}", dsSinhVien[pos].Diem); } }
Chỗ này mình nghĩ dùng vòng lặp Foreach sẽ thuận tiện hơn, duyệt tất cả các phần tử trong mảng, sau đó lọc ra thôi, dùng vòng lặp For sẽ khó kiểm soát hơn.
Các bạn pro ơi giúp mình với cho mình xinh tài liệu liên quan đến .Net C++,C#,visual basic.net: Mình rất cảm ơn các bạn Địa chỉ của mình là:ilove_bluesky_redsky@yahoo.com.vn