Ví dụ áp dụng
Viết chương trình bằng ngôn ngữ C# để giúp trung tập ngoại ngữ quản lý kỳ thi cuối khoá của một phòng thi sử dụng một cấu trúc tương ứng. Thông tin thí sinh có cấu trúc như sau: - Tên sinh viên( Tên sinh viênlà một xâu ký tự có độ dài bằng 25) ...
Viết chương trình bằng ngôn ngữ C# để giúp trung tập ngoại ngữ quản lý kỳ thi cuối khoá của một phòng thi sử dụng một cấu trúc tương ứng. Thông tin thí sinh có cấu trúc như sau:
- Tên sinh viên( Tên sinh viênlà một xâu ký tự có độ dài bằng 25)
- Điểm viết(Điểm viết của sinh viên là một số nguyên >=0 và <=10)
- Điểm nói (Điểm nói của sinh viên là một số nguyên >=0 và <=10)
Yêu cầu:
a) Nhập thông tin về họ tên và điểm của sinh viên với định dạng sau
Tên sinh viên: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Điểm viết :xx
Điểm nói :xx
Chú ý:Chương trình phải kiểm tra sự hợp lệ của điểm thi
b) In ra bảng điểm của mỗi phòng thi như sau:
Stt Tên Điểm viết Điểm nói Tổng điểm
xx xxxxxxxxxxxxxxx xx xx xx
c)In ra danh sách các sinh viên thi qua( điều kiện để các sinh viên thi qua là các môn thi phái >=5)
Stt Tên Điểm viết Điểm nói Tổng điểm
xx xxxxxxxxxxxxxx xx xx xx
d) In ra sinh viên có tổng điểm cao nhất. Nếu nhiều thí sinh có cùng điểm cao nhất thì in ra tất cả
Stt Tên Tổng điểm
xx xxxxxxxxxxxxxxxxxx xx
e) Sắp xếp các sinh viên theo thứ tự giảm dần của điểm viết và in ra danh sách mới theo định dạng thứ hai.
---------------------------------------------------------------------------------------------
using System;
struct KieuSV
{
public string HoTen;
public int Viet,Doc;
}
class CauTruc
{
static KieuSV []DSSV;
static int SoLuong;
static void NhapDSSV()
{
Console.Write("So TS can nhap :");
SoLuong=int.Parse(Console.ReadLine());
DSSV=new KieuSV[SoLuong];
for (int i=0; i < SoLuong; i++)
{
Console.Write("Ho ten thi sinh : ");
DSSV[i].HoTen=Console.ReadLine();
do {
Console.Write("Diem viet : ");
DSSV[i].Viet=int.Parse(Console.ReadLine());
} while (DSSV[i].Viet < 1 || DSSV[i].Viet > 10);
do {
Console.Write("Diem doc : ");
DSSV[i].Doc=int.Parse(Console.ReadLine());
} while (DSSV[i].Doc < 1 || DSSV[i].Doc > 10);
}
}
static void DSDiem()
{
int i;
Console.Write("STT Ho va Ten Viet Noi Tong diem ");
for (i=0; i< SoLuong; ++i)
{
Console.Write("{0} {1} {2} {3} {4}", i+1, DSSV[i].HoTen, DSSV[i].Viet, DSSV[i].Doc, DSSV[i].Viet + DSSV[i].Doc);
Console.Write(" ");
}
}
/* In danh sach nhung sinh vien co diem dat ( deu >= 5) */
static void DSSVDat()
{
int i;
Console.Write("STT Ho va Ten Viet Noi Tong diem ");
for (i=0; i < SoLuong; ++i)
{
if (DSSV[i].Viet >= 5 && DSSV[i].Doc >= 5)
{
Console.Write("{0} {1} {2} {3} {4}", i+1, DSSV[i].HoTen, DSSV[i].Viet, DSSV[i].Doc, DSSV[i].Viet + DSSV[i].Doc);
Console.Write(" ");
}
}
}
static void TongDiemCaoNhat()
{
int MAX, i;
/* Tinh tong diem cao nhat */
MAX = DSSV[0].Viet + DSSV[0].Doc;
for (i=0; i< SoLuong ; i++)
{
if (DSSV[i].Viet + DSSV[i].Doc > MAX)
MAX = DSSV[i].Viet + DSSV[i].Doc;
}
/* In ra danh sach cac ts co diem 2 mon cao nhat (= MAX) */
Console.Write("Ten Viet Noi Tong diem ");
for (i=0; i < SoLuong; i++)
{
if (DSSV[i].Viet + DSSV[i].Doc == MAX)
{
Console.Write("{0} {1} {2} {3}", DSSV[i].HoTen, DSSV[i].Viet, DSSV[i].Doc, DSSV[i].Viet + DSSV[i].Doc);
Console.Write(" ");
}
}
}
static void SapXep()
{
int i, j;
KieuSV TG=new KieuSV();
for (i=0; i < SoLuong - 1; i++)
for (j=i+1; j < SoLuong; j++)
if (DSSV[j].Viet > DSSV[i].Viet)
{
TG = DSSV[i];
DSSV[i] = DSSV[j];
DSSV[j] = TG;
}
}
static int ChonMenu()
{
Console.Write(" 1. Nhap danh sach sinh vien");
Console.Write(" 2. Hien thi danh sach sinh vien");
Console.Write(" 3. Danh sach sinh vien dat ");
Console.Write(" 4. Cac thi sinh co tong diem cao nhat");
Console.Write(" 5. Sap xep danh sach sinh vien");
Console.Write(" 6. Thoat khoi chuong trinh");
Console.Write(" Ban hay chon mot muc (1->6) : ");
int Tam;
Tam=int.Parse(Console.ReadLine());
return Tam;
}
static void Main()
{
Console.Clear();
do
{
switch (ChonMenu())
{
case 1: NhapDSSV(); break;
case 2: DSDiem(); Console.ReadKey();break;
case 3: DSSVDat();Console.ReadKey();break;
case 4: TongDiemCaoNhat(); Console.ReadKey();break;
case 5: SapXep(); Console.Write("Da sap xong !");
Console.ReadKey();break;
case 6: Environment.Exit(0);break;
/* Thoat khoi chuong trinh */
}
Console.Clear();
} while(true);
}
}
---------------------------------------------------------------------------------------------