Chủ đề: Xử lý nguyên mẫu hàm!
-
25-05-2014, 11:41 AM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Xử lý nguyên mẫu hàm!
Alo anh chị ơi!
Anh chị xem rồi chỉnh giúp em bài này với ạ.
Với yêu cầu của bài tập là : Liệt kê danh sách các công nhân viên theo tháng bất kỳ.
Em chưa xử lý được trường hợp nếu trong một tháng có >=2 công nhân.
Anh chị giúp em với ah.
Em cám ơn anh chị nhiều!
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <iomanip>
using namespace std;
#define MAX 1000
#define LUONGGIO 15000
struct congnhan{
char ten[20];
int ma,thang;
float gio;
};
typedef congnhan CN;
void sapxep(CN[], int);
int tim(CN[], int, int);
int timth(CN[], int, int);
int main()
{
CN cn[MAX];
int scn, key, i=1;
cout << "Nhap so luong nhan vien (<=1000): ";
cin >> scn;
cout << endl;
//Nhap danh sach cong nhan
for (int i=0; i< scn; i++)
{
cout <<"Nhan vien thu "<<i+1<<endl;
cout << "Nhap thang lam viec: ";
cin >> cn[i].thang;
cout << "Nhap ten nhan vien: ";
cin >> cn[i].ten;
cout << "Nhap ma cua nhan vien: ";
cin >> cn[i].ma;
cout << "Nhap gio lam cua nhan vien: ";
cin >> cn[i].gio;
cout << endl;
}
cout << endl;
//Hien thi danh sach nhan vien
cout << "===DANH SACH NHAN VIEN===" << endl;
for (int i=0; i< scn; i++)
{
cout <<"Thang " << cn[i].thang;
cout <<"| Ma NV " << cn[i].ma;
cout <<"| Ten NV " << cn[i].ten;
cout <<"| So gio lam " << cn[i].gio;
cout <<"| Luong theo gio " << cn[i].gio * LUONGGIO;
cout << endl;
}
cout << endl;
// Tim kiem theo ma
cout << "Nhap ma cn can tim: ";
cin >> key;
int pos = tim(cn, scn, key);
if (pos != -1)
{
cout << "Phan tu can tim co trong mang.";
cout << " Va o vi tri " << pos +1 << endl;
cout << "Thang " << cn[pos].thang;
cout << "| Ma NV " << cn[pos].ma;
cout << "| Ten NV " << cn[pos].ten;
cout << "| So gio lam " << cn[pos].gio;
cout << "| Luong theo gio " << cn[pos].gio * LUONGGIO;
cout << endl;
}else
cout << "Khong co ma " << key << " trong mang." << endl;
cout << endl;
// Tim kiem theo thang
cout << "Nhap thang can tim: ";
cin >> key;
int dem = timth(cn, scn, key);
if (dem != -1)
{
cout << "Phan tu can tim co trong mang.";
cout << " Va o vi tri " << dem +1 << endl;
cout << "Thang " << cn[dem].thang;
cout << "| Ma NV " << cn[dem].ma;
cout << "| Ten NV " << cn[dem].ten;
cout << "| So gio lam " << cn[dem].gio;
cout << "| Luong theo gio " << cn[dem].gio * LUONGGIO;
cout << endl;
}else
cout << "Khong co thang " << key << " trong mang." << endl;
cout << endl;
//Hien thi danh sach sap xep luong tang dan
sapxep(cn, scn);
cout << "===DANH SACH SAP XEP LUONG TANG DAN===" << endl;
for (int i=0; i< scn; i++)
{
cout << "Thang " << cn[i].thang;
cout << "| Ma NV " << cn[i].ma;
cout << "| Ten NV " << cn[i].ten;
cout << "| So gio lam " << cn[i].gio;
cout << "| Luong theo gio " << cn[i].gio * LUONGGIO;
cout << endl;
}
_getch();
return 0;
}
void sapxep(CN cn[], int n)
{
int smallest;
for (int i=0; i< n-1; i++){
smallest = i;
for (int j=i+1; j<n; j++)
{
if (cn[smallest].gio*LUONGGIO > cn[j].gio*LUONGGIO)
smallest = j;
}
CN temp;
temp = cn[smallest];
cn[smallest]=cn[i];
cn[i]=temp;
}
}
int tim(CN cn[], int scn, int key)
{
for (int i=0; i<scn; i++)
if (cn[i].ma == key)
return i;
return -1;
}
int timth(CN cn[], int scn, int key)
{
for (int i=0; i<scn; i++)
{
if (cn[i].thang == key)
return i;
return -1;
}
}View more random threads:
- Tìm số điện thoại , xin giúp em .
- Về đọc file dạng nhị phân
- C++ và Visual C++
- Bài tập stack bị lỗi.Help
- hỏi về khai báo trong class
- bài tập in ra tam giac sao trong c nhưng gặp lỗi khi n > 8 trong dev c++
- [ Solved ]Hỏi về mảng có thứ tự tăng dần
- giúp mình in hình chữ nhật chéo với !!!
- đếm số lượng phần tử có trong mảng
- Thắc mắc về 1 đoạn code về "Biểu diễn số nguyên dương sang hệ nhị phân"
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...