1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập hệ điều hành xây dựng lớp sinh viên

9 961 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 13,19 KB

Nội dung

Bai 27: Viet lai bai 1 bang cach xay dung lop sinh vien BAI GIAI #include #include #include #include #include #include struct sinhvien { char mssv[5]; char tensv[50]; char msmh[5]; char tenmh[50]; float dtb; }; class QLSV { public: void Nhapsv(sinhvien a[], int n); void Insv(sinhvien a[], int n); void Sapxepsv(sinhvien a[], int n);

Trang 1

Bai 27: Viet lai bai 1 bang cach xay dung lop sinh vien

BAI GIAI

#include <iostream.h>

#include <iomanip.h>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct sinhvien

{

char mssv[5];

char tensv[50];

char msmh[5];

char tenmh[50];

float dtb;

};

class QLSV

{

public:

void Nhapsv(sinhvien a[], int n);

void Insv(sinhvien a[], int n);

void Sapxepsv(sinhvien a[], int n);

void ThemCuoiDanhSach(sinhvien a[], int &n, sinhvien x); void ThemVaoBatKy(sinhvien a[], int &n, sinhvien x, int vitri);

Trang 2

void ThemVaoBatKy_Soft(sinhvien a[], int &n, sinhvien x, int vitri); void XoaBatKy_Soft(sinhvien a[], int &n, int vitri);

void TimKiemSinhVien(sinhvien a[], int n, sinhvien x);

};

void QLSV::Nhapsv(sinhvien a[], int n)

{

int i;

for(i=0;i<n;i++)

{

cout<<"\nNhap sinh vien thu: "<<i+1;

cout<<"\n\t+ Nhap ma sinh vien: ";

gets(a[i].mssv);

cout<<"\n\t+ Nhap ten sinh vien: ";

gets(a[i].tensv);

cout<<"\n\t+ Nhap ma mon hoc: ";

cin>>a[i].msmh;

cout<<"\n\t+ Nhap ten mon hoc: ";

gets(a[i].tenmh);

cout<<"\n\t+ Nhap diem trung binh: ";

cin>>a[i].dtb;

}

}

void QLSV::Insv(sinhvien a[], int n)

Trang 3

int i;

cout<<"\n"<<setw(15)<<"MA SINH VIEN"<<setw(20)<<"TEN SINH VIEN"<<setw(15)<<"MA MON HOC"<<setw(15)<<"TEN MON HOC"<<setw(10)<<"DIEM TB";

cout<<"\

n"<<setw(15)<<"============"<<setw(20)<<"============="<<setw(15)<<"=========="<<setw(15)<

<"==========="<<setw(10)<<"======";

for(i=0;i<n;i++)

{

cout<<"\

n"<<setw(15)<<a[i].mssv<<setw(20)<<a[i].tensv<<setw(15)<<a[i].msmh<<setw(15)<<a[i].tenmh<<setw( 10)<<a[i].dtb;

}

}

void QLSV::Sapxepsv(sinhvien a[], int n)

{

int i,j;

sinhvien tg;

for(i=0;i<n-1;i++)

{

for(j=i+1;j<n;j++) {

if(a[i].dtb>a[j].dtb) {

tg=a[i];

a[i]=a[j];

Trang 4

} }

}

}

void QLSV::ThemCuoiDanhSach(sinhvien a[], int &n, sinhvien x) {

cout<<"\n\t+ Nhap ma sinh vien: ";

gets(x.mssv);

cout<<"\n\t+ Nhap ten sinh vien: ";

gets(x.tensv);

cout<<"\n\t+ Nhap ma mon hoc: ";

cin>>x.msmh;

cout<<"\n\t+ Nhap ten mon hoc: ";

gets(x.tenmh);

cout<<"\n\t+ Nhap diem trung binh: ";

cin>>x.dtb;

a[n] = x;

n++;

}

void QLSV::ThemVaoBatKy(sinhvien a[], int &n, sinhvien x, int vitri) {

cout<<"\n\t+ Nhap ma sinh vien: ";

Trang 5

cout<<"\n\t+ Nhap ten sinh vien: ";

gets(x.tensv);

cout<<"\n\t+ Nhap ma mon hoc: ";

cin>>x.msmh;

cout<<"\n\t+ Nhap ten mon hoc: ";

gets(x.tenmh);

cout<<"\n\t+ Nhap diem trung binh: ";

cin>>x.dtb;

a[n]=a[vitri];

a[vitri] = x;

n++;

}

void QLSV::ThemVaoBatKy_Soft(sinhvien a[], int &n, sinhvien x, int vitri) {

cout<<"\n\t+ Nhap ma sinh vien: ";

gets(x.mssv);

cout<<"\n\t+ Nhap ten sinh vien: ";

gets(x.tensv);

cout<<"\n\t+ Nhap ma mon hoc: ";

cin>>x.msmh;

cout<<"\n\t+ Nhap ten mon hoc: ";

gets(x.tenmh);

cout<<"\n\t+ Nhap diem trung binh: ";

cin>>x.dtb;

Trang 6

for (int i=n-1; i>vitri; i )

{

a[i] = a[i-1];

a[vitri] = x;

}

n++;

}

void QLSV::XoaBatKy_Soft(sinhvien a[], int &n, int vitri)

{

for (int i=vitri; i<n-1; i++)

a[i] = a[i+1];

n ;

}

void QLSV::TimKiemSinhVien(sinhvien a[], int n, sinhvien x)

{

cout<<"\n"<<setw(15)<<"MA SINH VIEN"<<setw(20)<<"TEN SINH VIEN"<<setw(15)<<"MA MON HOC"<<setw(15)<<"TEN MON HOC"<<setw(10)<<"DIEM TB";

cout<<"\

n"<<setw(15)<<"============"<<setw(20)<<"============="<<setw(15)<<"=========="<<setw(15)<

<"==========="<<setw(10)<<"=======";

for (int i=0; i<n; i++)

{

if (strcmp(a[i].tensv,x.tensv)==0) {

cout<<"\

n"<<setw(15)<<a[i].mssv<<setw(20)<<a[i].tensv<<setw(15)<<a[i].msmh<<setw(15)<<a[i].tenmh<<setw( 10)<<a[i].dtb;

Trang 7

} else {

cout<<setw(15)<<"\n\tKhong tim thay sinh vien nay."; }

}

}

void main()

{

int n, chon,vitri;

char c;

QLSV sv;

sinhvien a[50],x;

clrscr();

do

{

cout<<"\nChon 1 de nhap diem sinh vien ";

cout<<"\nChon 2 de sap xep thong tin diem sinh vien "; cout<<"\nChon 3 de in thong tin diem sinh vien ";

cout<<"\nChon 4 de them thong tin diem sinh vien ";

cout<<"\nChon 5 de xoa thong tin diem sinh vien ";

cout<<"\nChon 6 de tim kiem thong tin diem sinh vien "; cout<<"\nChon 7 de thoat chuong trinh ";

cout<<"\nHay chon chuc nang: ";

Trang 8

switch (chon)

{

case 1:

cout<<"\nNhap so sinh vien: ";

cin>>n;

sv.Nhapsv(a,n);

break;

case 2:

sv.Sapxepsv(a,n);

break;

case 3:

cout<<"\nIn danh sach diem sinh vien:"; sv.Insv(a,n);

break;

case 4:

//ThemCuoiDanhSach(a,n,x);

cout<<"\nChon vi tri de them diem sinh vien: "; cin>>vitri;

sv.ThemVaoBatKy_Soft(a,n,x,vitri);

//ThemVaoBatKy(a,n,x,vitri);

break;

case 5:

cout<<"\nChon vi tri de xoa diem sinh vien: "; cin>>vitri;

Trang 9

break;

case 6:

cout<<"\nNhap ten sinh vien de tim kiem: ";

gets(x.tensv);

sv.TimKiemSinhVien(a,n,x);

break;

case 7:

cout<<"\nTiep tuc nua khong (c/k), khong tiep nua nhan n de thoat: "; c=getche();

} }while(c!='c' && c!='C');

getch();

}

Ngày đăng: 19/08/2013, 09:35

TỪ KHÓA LIÊN QUAN

w