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

Quản lý sinh viên C++ ppsx

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

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 200,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết chương trình thực hiện các chức năng sau: 1.Nhập thêm sinh viên Nhập thông tin về sinh viên không nhập điểm tổng kết và Học bổng.. Trong đó điểm rèn luyện tính theo thang 100.. Có k

Trang 1

Quản lý sinh viên C++

Lớn | Vừa | Nhỏ [ Tự viết | 2009/09/14 02:03 | by Administrators ]

Đề bài:

Thông tin về Sinh viên gồm: Mã sinh viên, Họ tên, Ngày sinh, Lớp, ĐTB Học tập, Điểm rèn luyện, Điểm Tổng kết, và Học bổng

Viết chương trình thực hiện các chức năng sau:

1.Nhập thêm sinh viên

Nhập thông tin về sinh viên (không nhập điểm tổng kết và Học bổng) Trong đó điểm rèn luyện tính theo thang 100

Nếu điểm rèn luyện từ 70 - 80, ĐTK = ĐTB Học tập + 0,2

Nếu điểm rèn luyện từ 80 - 90, ĐTK = ĐTB Học tập + 0,5

Nếu điểm rèn luyện từ 90 - 100, ĐTK = ĐTB Học tập + 0,8

Học bổng: Nếu ĐTK >=7.0, Học bổng = 120000, ĐTK>=80, Học bổng = 180000, nếu ĐTK

>=90, Học bổng = 240000

Có kiểm tra mã sinh viên khi nhập (không có hai sinh viên mã trùng nhau)

Code tham khảo

#include<conio.h>

#include<stdio.h>

#include<ctype.h>

#include<string.h>

#include<iostream.h>

#include<fstream.h>

#include<stdlib.h>

#include<iomanip.h>

using namespace std;

Trang 2

class SinhVien{

private:

char hoTen[50];

int maSV;

char ngaySinh[20];

char lop[20];

float diemTB;

float diemRenLuyen;

float diemTK;

int hocBong;

SinhVien *sv;

static const char *dataFile;

int sl;

public:

void nhapSV();

void hienThiSinhVien();

Trang 3

void sapXepTheoDTB();

void sapXepTheoHocBong();

void timTheoTen();

void timTheoDTK();

void ghiFile();

void docFile();

void khoiTaoFile();

SinhVien(){

sl= 0;

sv= NULL;

}

~SinhVien(){

delete sv;

}

};

const char *SinhVien::dataFile="QuanLySinhVien.txt";

//Nhap sinh vien

void SinhVien::nhapSV(){

Trang 4

int i= sl+1;

cout<<endl<<" Nhap ho va ten: ";

cin.getline(sv[i].hoTen,sizeof(sv[i].hoTen));

//Nhap ma sinh vien co kiem tra

int check;

do{

check= 1;

cout<<endl<<" Nhap ma sinh vien: ";

cin>>sv[i].maSV;

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

if(sv[j].maSV== sv[i].maSV){

cout<<endl<<"Ban da nhap sai! Nhap lai"; check= 0;

}

}

}while(check== 0);

//Nhap ngay thang nam sinh

cout<<endl<<" Nhap ngay sinh sinh vien (dd-mm-yy): ";

Trang 5

cin.ignore();

cin.getline(sv[i].ngaySinh,sizeof(sv[i].ngaySinh));

cout<<endl<<" Nhap lop: ";

cin.getline(sv[i].lop,sizeof(sv[i].lop));

cout<<endl<<" Nhap diem trung binh hoc tap (0->10): ";

cin>>sv[i].diemTB;

cout<<endl<<" Nhap diem ren luyen (0->100): ";

cin>>sv[i].diemRenLuyen;

//Tinh diem tong ket

if((sv[i].diemRenLuyen>=70)&&(sv[i].diemRenLuyen<80)){

sv[i].diemTK= sv[i].diemTB+ 0.2;

}

else if((sv[i].diemRenLuyen>=80)&&(sv[i].diemRenLuyen<90)){ sv[i].diemTK= sv[i].diemTB+ 0.5;

}

else if((sv[i].diemRenLuyen>=90)&&(sv[i].diemRenLuyen<=100)){ sv[i].diemTK= sv[i].diemTB+ 0.8;

Trang 6

}

/*Học bổng: Nếu ĐTK >=7.0,Học bổng = 120000,

ĐTK>=80, Học bổng = 180000, nếu ĐTK >=90, Học bổng = 240000*/

if((sv[i].diemTK>=7)&&(sv[i].diemTK<8)){

sv[i].hocBong= 120000;

}

else if((sv[i].diemTK>=8)&&(sv[i].diemTK<9)){

sv[i].hocBong= 180000;

}

else if((sv[i].diemTK>=9)&&(sv[i].diemTK<=10)){

sv[i].hocBong= 240000;

}

}

//Ham khoi tao file

void SinhVien::khoiTaoFile(){

fstream f(dataFile,ios::out&#124;ios::app);

f.close();

Trang 7

}

//Ham ghi file

void SinhVien::ghiFile(){

fstream os(dataFile,ios::out&#124;ios::app);

int i= sl+1;

os<<sv[i].hoTen<<endl;

os<<sv[i].maSV<<endl;

os<<sv[i].ngaySinh<<endl;

os<<sv[i].lop<<endl;

os<<setw(5)<<sv[i].diemTB

<<setw(5)<<sv[i].diemRenLuyen

<<setw(5)<<sv[i].diemTK

<<setw(10)<<sv[i].hocBong<<endl;

os.close();

}

//Ham doc file

void SinhVien::docFile(){

fstream s(dataFile,ios::in);

Trang 8

int dem=1;

string buffer;

while(1){

getline(s,buffer);

if(!s.eof()){

dem++;

}

else

break;

}

sl= dem/5;

s.close();

fstream f(dataFile,ios::in);

sv= new SinhVien[100];

for(int i=1;i<=sl;i++){

f.getline(sv[i].hoTen,sizeof(sv[i].hoTen)); f>>sv[i].maSV;

f.ignore(1);

Trang 9

f.getline(sv[i].ngaySinh,sizeof(sv[i].ngaySinh));

f.getline(sv[i].lop,sizeof(sv[i].lop));

f>>sv[i].diemTB>>sv[i].diemRenLuyen>>sv[i].diemTK>>sv[i].hocBong;

f.ignore();

}

f.close();

}

//Hien thi sinh vien

void SinhVien::hienThiSinhVien(){

cout<<endl;

cout<<endl<<"Ho va ten sinh vien: "<<hoTen;

cout<<endl<<"Ma sinh vien: "<<maSV;

cout<<endl<<"Ngay thang nam sinh: "<<ngaySinh;

cout<<endl<<"Lop: "<<lop;

cout<<endl<<"Diem trung binh: "<<diemTB;

cout<<endl<<"Diem ren luyen: "<<diemRenLuyen;

cout<<endl<<"Diem tong ket: "<<diemTK;

Trang 10

cout<<endl<<"Xep loai hoc bong: "<<hocBong;

}

//Sap xep SV theo diem trung binh

void SinhVien::sapXepTheoDTB(){

SinhVien s;

for(int i=1;i<=sl;i++){

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

if(sv[j].diemTB>sv[i].diemTB){

s= sv[i];

sv[i]= sv[j];

sv[j]= s;

}

}

}

for(int i=1;i<=sl;i++){

sv[i].hienThiSinhVien();

}

Trang 11

}

//Sap xep SV theo hoc bong

void SinhVien::sapXepTheoHocBong(){ SinhVien s;

for(int i=1;i<=sl;i++){

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

if(sv[j].hocBong>sv[i].hocBong){ s= sv[i];

sv[i]= sv[j];

sv[j]= s;

}

}

}

for(int i=1;i<=sl;i++){

sv[i].hienThiSinhVien();

}

}

Trang 12

//Tim kiem theo ten sinh vien

void SinhVien::timTheoTen(){

char tenSV[20];

char *strKiemTra;

char ten[20];

int count=0;

cout<<endl<<"Nhap ten sinh vien ma ban muon tim kiem: "; cin.ignore();

cin.getline(tenSV,sizeof(tenSV));

char *token;

char str[20];

for(int i=1;i<=sl;i++){

strKiemTra= NULL;

//Tach ten sinh vien

//Gan ho ten vao bien str -> cat bien str ko cat ho ten strcpy(str,sv[i].hoTen);

//su dung phan tich tu to tokenizing de cat xau str

Trang 13

token= strtok(str," ");

while(token!=NULL){

strcpy(ten,token);

token= strtok(NULL," ");

}

strKiemTra= strstr(ten, tenSV);

if(strKiemTra!= NULL){

cout<<endl<<"Sinh vien ma ban can tim la";

sv[i].hienThiSinhVien();

count++;

}

}

cout<<endl<<endl<<"So ket qua phu hop la: "<<count;

}

//Tim kiem theo tong diem

void SinhVien::timTheoDTK(){

int diemTimKiem;

int count=0;

Trang 14

cout<<endl<<"Nhap diem tong ket muon tim kiem (0->10): ";

cin>>diemTimKiem;

cout<<endl<<"Cac sinh vien co diem tong ket >= "<<diemTimKiem<<" la: ";

for(int i=1;i<=sl;i++){

if(sv[i].diemTK>= diemTimKiem){

sv[i].hienThiSinhVien();

count++;

}

}

if(count> 0){

cout<<endl<<"So ket qua phu hop la: "<<count;

}

else

cout<<endl<<"Khong co ket qua nao phu hop"<<endl;

}

//Ham hien thi menu

void menu(){

Trang 15

cout<<endl<<"******Quan Ly Sinh Vien******"<<endl;

cout<<endl<<"1 Nhap sinh vien"<<endl;

cout<<endl<<"2 Sap xep SV theo diem TB "<<endl;

cout<<endl<<"3 Sap xep SV theo hoc bong"<<endl; cout<<endl<<"4 Tim kiem theo ten sinh vien"<<endl;

cout<<endl<<"5 Tim kiem theo diem TK"<<endl;

cout<<endl<<"6 Thoat"<<endl;

}

main(){

system("cls");

SinhVien SV;

SV.khoiTaoFile();

do{

system("cls");

SV.docFile();

menu();

int input= getch();

//nhap vao so 6 thoat

Trang 16

if(input=='6'){

cout<<"Ban da chon thoat khoi chuong trinh! "; break;

}

switch(input){

case ('1'):{

system("cls");

cout<<endl<<"Nhap sinh vien"<<endl; cin.ignore();

SV.nhapSV();

SV.ghiFile();

getch();

break;

}

case('2'):{

system("cls");

cout<<endl<<"Sap xep SV theo diem TB";

SV.sapXepTheoDTB();

Trang 17

getch();

break;

}

case('3'):{

system("cls");

cout<<endl<<"Sap xep SV theo hoc bong"; SV.sapXepTheoHocBong();

getch();

break;

}

case('4'):{

system("cls");

cout<<endl<<"Tim kiem theo ten sinh vie";

SV.timTheoTen();

getch();

break;

}

case('5'):{

system("cls");

Trang 18

cout<<endl<<"Tim kiem theo diem TK";

SV.timTheoDTK();

getch();

break;

}

default:{

cout<<"Hay nhap tu 1-6:";

getch();

}

}

}while(1);

getch();

}

Lập trình C++ | Nhận xét(0) | Trích dẫn(0) | Đọc(159)

Viết nhận xét

Hình vui

Tên gọi Mật khẩu Khách không cần mật khẩu

Địa chỉ web Email [Đăng ký]

Trang 19

Mở HTML

Mở UBB

Mở hình vui

Ẩn giấu

Làm l?i

Phân loại

• Phân loại mặc định [7]

• Assembly ( Lập trình hợp ngữ ) [2]

• Lập trình C++ [10]

• Lập trình java [5]

• Hệ điều hành [3]

Lịch

< 2010 > < 10 >

Năm Canh Dần(Hổ)

1

3

10

mồng 3 mồng 411 mồng 512 mồng 613 mồng 7 14 mồng 815 mồng 916 17

24

31

24

Thống kê

Số lượt khách 4330

Khách hôm nay 6

Số bài 27

Số nhận xét 12

Số trích dẫn 0

Số lưu bút 2

Thành viên 5

Số có mặt 3

Tìm kiếm

Tìm ki?m

Trang 20

Bài viết mới nhất

• Bài 2: OOP,C

• Bài 2: OOP,C

• Sửa vị trí b

• Crack Win 7

• Coding Conve

• [Assembly] N

• [Assembly] T

• Không vào đư

Nhận xét mới nhất

• killloveshua

• co the hoan

Kết nối

Nhóm Kết nối mặc định

• svptit

• dantri

• dqt'blog

• blackdiamond'sblog

Hồ sơ

Khác

Đăng nhập

Đăng ký

Xin kết nối

RSS Bài viết | Nhận xét

MãUTF-8

XHTML 1.0

Powered by Bo-Blog 2.1.1 Release |Skin by bluebee

Run in 223 ms, 6 Queries

Ngày đăng: 06/07/2014, 09:20

HÌNH ẢNH LIÊN QUAN

Hình vui - Quản lý sinh viên C++ ppsx
Hình vui (Trang 18)

TỪ KHÓA LIÊN QUAN

w