WS7 - Nguyễn Văn Nhật Linh - DE160328 - 1706

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

WORKSHOP 7

Nguyễn Văn Nhật Linh – DE160238 – SE1706


Bài 1:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <windows.h>

const int MAXN = 100;

const int MAXCHOICE = '5';

char Chon_Chuong_Trinh()

int c;

printf("1-Them mot nhan vien moi\n");

printf("2-Tim kiem mot nhan vien voi ten da nhap \n");

printf("3-Xoa mot nhan vien da nhap\n");

printf("4-In danh sach giam dan theo luong va tro cap\n");

printf("5-Thoat\n");

printf("Chon chuong trinh = ");

fflush(stdin);

scanf("%c", &c);

return c;

void Them_NV (char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

{
char ts[21];

double g;

int i, TT;

do {

printf("Ma ID moi (8 Ky Tu) : ");

fflush(stdin);

scanf("%8[^\n]", ts);

TT = 1;

for ( i = 0; i < *pn; i++)

if (strcmp(ts,Ma_ID[i]) == 0)

printf("Ma ID da ton tai!Vui long nhap lai!\n");

TT = 0;

i = *pn - 1;

} while (!TT);

strcpy(Ma_ID[*pn], ts);

do {

printf("Nhap Ten Moi(20 Ky Tu) : ");

fflush(stdin);

scanf("%20[^\n]", ts);

TT = 1;

for ( i = 0; i < *pn; i++)

if (strcmp(ts,Ma_ID[i]) == 0)

printf("Ten da ton tai!Vui long nhap lai!\n");

TT = 0;

i = *pn - 1;

}
} while (!TT);

strcpy(Ten[*pn], ts);

printf("Luong : ");

scanf("%lf", &g);

Luong[*pn] = g;

printf("Tro Cap : ");

scanf("%lf", &g);

Tro_Cap[*pn] = g;

(*pn)++;

printf("Them Thanh Cong!!\n\n");

system("pause");

system("cls");

void Tim_NV(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i;

printf("Tim kiem mot nhan vien : ");

char nv[21];

fflush(stdin);

scanf("%20[^\n]", &nv);

for (i = 0; i < *pn; i++)

int j;

char * ptr = strstr(Ten[i], nv);

if (ptr != " ") printf("Ket qua tim kiem :[%d] := Ma ID:%8s|Ten Nhan Vien:%20s|
Luong:%3.3lf|Tro Cap:%3.3lf \n"
,i ,
Ma_ID[i] , Ten[i] , Luong[i] , Tro_Cap[i]);

system("pause");

system("cls");

void Xoa_NV(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i,j;

for (i = 0; i < *pn; i++)

printf("Ma_ID:%8s|Ten:%20s|Luong:%3.3lf|Tro_Cap:%3.3lf \n", Ma_ID[i], Ten[i], Luong[i],


Tro_Cap[i]);

char xoa[8];

fflush(stdin);

printf("Ma de xoa (Chi xoa khi ma ton tai) : ");

scanf("%8[^\n]", &xoa);

for (i = 0; i < *pn; i++)

if (strcmp(Ma_ID[i], xoa) == 0)

for (j = i+1; j < *pn; j++)

strcpy(Ten[i-1], Ten[i]);

strcpy(Ma_ID[i-1], Ma_ID[i]);

Tro_Cap[i-1] = Tro_Cap[i];

(*pn)--;

printf("Hoan thanh!\n\n");
}

system("pause");

system("cls");

void IN_Giam_dam(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i, j;

for (i = 0; i < *pn-1; i++)

for (j = *pn-1; j > i; j--)

if ( (Luong[j] + Tro_Cap[j]) > (Luong[j-1] + Tro_Cap[j-1]) )

char t[21];

strcpy(t, Ten[j]);

strcpy(Ten[j], Ten[j-1]);

strcpy(Ten[j-1], t);

char tu[8];

strcpy(tu, Ma_ID[j]);

strcpy(Ma_ID[j], Ma_ID[j-1]);

strcpy(Ma_ID[j-1], tu);

double tg = Luong[j];

Luong[j]=Luong[j-1];

Luong[j-1]=tg;

double tb = Tro_Cap[j];

Tro_Cap[j]=Tro_Cap[j-1];
Tro_Cap[j-1]=tb;

for (i = 0; i < *pn; i++)

printf("Ma_ID:%8s|Ten:%10s|Luong:%3.3lf|Tro_Cap:%3.3lf \n", Ma_ID[i], Ten[i], Luong[i],


Tro_Cap[i]);

if (*pn)printf("Hoan Thanh!\n\n");

else printf("Khong co noi dung de In!\n\n");

system("pause");

system("cls");

void Ket_Thuc()

printf("Thank you\n");

main()

char Chon;

char Ma_ID[MAXN][8],Ten[MAXN][21];

double Luong[MAXN], Tro_Cap[MAXN];

int n = 0;

do

Chon = Chon_Chuong_Trinh();

switch(Chon)

case '1':

if (n == MAXN) printf("Danh sach da day!\n");

else Them_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);


break;

case '2':

if (n == 0) printf ("Danh sach rong!\n");

else Tim_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '3':

if (n == 0) printf ("Danh sach rong");

else Xoa_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '4':

if (n == 0) printf ("Nothing to print");

else IN_Giam_dam(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '5':Ket_Thuc();break;

if (Chon < '1' || Chon >'5') printf("1 to 5 only!\n");

} while (Chon != MAXCHOICE);


}
Bài 2

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <windows.h>

const int MAXN = 100;


const int MAXCHOICE = '5';

char Chon_Chuong_Trinh()

int c;

printf("1-Them mot nhan vien moi\n");

printf("2-Tim kiem mot nhan vien voi ten da nhap \n");

printf("3-Xoa mot nhan vien da nhap\n");

printf("4-In danh sach giam dan theo luong va tro cap\n");

printf("5-Thoat\n");

printf("Chon chuong trinh = ");

fflush(stdin);

scanf("%c", &c);

return c;

void Them_NV (char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

char ts[21];

double g;

int i, TT;

do {

printf("Ma ID moi (8 Ky Tu) : ");

fflush(stdin);

scanf("%8[^\n]", ts);

TT = 1;

for ( i = 0; i < *pn; i++)

if (strcmp(ts,Ma_ID[i]) == 0)

{
printf("Ma ID da ton tai!Vui long nhap lai!\n");

TT = 0;

i = *pn - 1;

} while (!TT);

strcpy(Ma_ID[*pn], ts);

do {

printf("Nhap Ten Moi(20 Ky Tu) : ");

fflush(stdin);

scanf("%20[^\n]", ts);

TT = 1;

for ( i = 0; i < *pn; i++)

if (strcmp(ts,Ma_ID[i]) == 0)

printf("Ten da ton tai!Vui long nhap lai!\n");

TT = 0;

i = *pn - 1;

} while (!TT);

strcpy(Ten[*pn], ts);

printf("Luong : ");

scanf("%lf", &g);

Luong[*pn] = g;

printf("Tro Cap : ");

scanf("%lf", &g);

Tro_Cap[*pn] = g;

(*pn)++;

printf("Them Thanh Cong!!\n\n");

system("pause");
system("cls");

void Tim_NV(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i;

printf("Tim kiem mot nhan vien : ");

char nv[21];

fflush(stdin);

scanf("%20[^\n]", &nv);

for (i = 0; i < *pn; i++)

int j;

char * ptr = strstr(Ten[i], nv);

if (ptr != " ") printf("Ket qua tim kiem :[%d] := Ma ID:%8s|Ten Nhan Vien:%20s|
Luong:%3.3lf|Tro Cap:%3.3lf \n"

,i ,
Ma_ID[i] , Ten[i] , Luong[i] , Tro_Cap[i]);

system("pause");

system("cls");

void Xoa_NV(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i,j;

for (i = 0; i < *pn; i++)

printf("Ma_ID:%8s|Ten:%20s|Luong:%3.3lf|Tro_Cap:%3.3lf \n", Ma_ID[i], Ten[i], Luong[i],


Tro_Cap[i]);
char xoa[8];

fflush(stdin);

printf("Ma de xoa (Chi xoa khi ma ton tai) : ");

scanf("%8[^\n]", &xoa);

for (i = 0; i < *pn; i++)

if (strcmp(Ma_ID[i], xoa) == 0)

for (j = i+1; j < *pn; j++)

strcpy(Ten[i-1], Ten[i]);

strcpy(Ma_ID[i-1], Ma_ID[i]);

Tro_Cap[i-1] = Tro_Cap[i];

(*pn)--;

printf("Hoan thanh!\n\n");

system("pause");

system("cls");

void IN_Giam_dam(char Ma_ID[][8], char Ten[][21], double Luong[],double Tro_Cap[], int *pn)

int i, j;

for (i = 0; i < *pn-1; i++)

for (j = *pn-1; j > i; j--)

if ( (Luong[j] + Tro_Cap[j]) > (Luong[j-1] + Tro_Cap[j-1]) )

{
char t[21];

strcpy(t, Ten[j]);

strcpy(Ten[j], Ten[j-1]);

strcpy(Ten[j-1], t);

char tu[8];

strcpy(tu, Ma_ID[j]);

strcpy(Ma_ID[j], Ma_ID[j-1]);

strcpy(Ma_ID[j-1], tu);

double tg = Luong[j];

Luong[j]=Luong[j-1];

Luong[j-1]=tg;

double tb = Tro_Cap[j];

Tro_Cap[j]=Tro_Cap[j-1];

Tro_Cap[j-1]=tb;

for (i = 0; i < *pn; i++)

printf("Ma_ID:%8s|Ten:%10s|Luong:%3.3lf|Tro_Cap:%3.3lf \n", Ma_ID[i], Ten[i], Luong[i],


Tro_Cap[i]);

if (*pn)printf("Hoan Thanh!\n\n");

else printf("Khong co noi dung de In!\n\n");

system("pause");

system("cls");

void Ket_Thuc()

printf("Thank you\n");
}

main()

char Chon;

char Ma_ID[MAXN][8],Ten[MAXN][21];

double Luong[MAXN], Tro_Cap[MAXN];

int n = 0;

do

Chon = Chon_Chuong_Trinh();

switch(Chon)

case '1':

if (n == MAXN) printf("Danh sach da day!\n");

else Them_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '2':

if (n == 0) printf ("Danh sach rong!\n");

else Tim_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '3':

if (n == 0) printf ("Danh sach rong");

else Xoa_NV(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;

case '4':

if (n == 0) printf ("Nothing to print");

else IN_Giam_dam(Ma_ID, Ten, Luong, Tro_Cap, &n);

break;
case '5':Ket_Thuc();break;

if (Chon < '1' || Chon >'5') printf("1 to 5 only!\n");

} while (Chon != MAXCHOICE);

You might also like