Hotline: 01628228880 Tìm kiếm
Showing posts with label ltC. Show all posts
Showing posts with label ltC. Show all posts

Bài tập quản lý thư viện trong C, C++, C#

Bài tập quản lý thư viện trong C, C++
Một bài tập được khá nhiều bạn quan tâm trong thời gian vừa qua. Các hàm xây dựng để quản lý thư viện có liên kết với nhau. Bài tập quản lý thư viện này được các bạn thường sử dụng cho môn học CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT.
code quan ly thu vien trong c, bai tap quan ly thu vien trong c

 Mình đã gửi tới các bạn bài này khá lâu rồi, thời gian đầu làm quen với Blogger mình có đưa bài này.
Các hàm có trong quản lý thư viện quản lý sách như:
- Thêm sách
- Tìm sách
- Xóa sách
- Sửa sách
- Thể loại sách
....
Các hàm quản lý thời hạn, tình trạng sách... đều được thể hiện trong bài quản lý thư viện Code C này. Nếu các bạn trình bày ở dạng console trong C# thì các bạn khai báo tương tự
Các bạn có thể tham khảo
Lấy Code tại đây

----------------------------
Chúc các bạn học tập tốt !

Xử lý ngày - tháng - năm trong C, C#

Trong tập hợp các bài tập về C, C# của ITViet360 đáng chú ý tới bài xử lý ngày - tháng - năm. Bởi vì bài này có một số ràng buộc rất khắt khe.
bai tap xu ly ngay thang nam trong C, C#
Bài tập xử lý ngày tháng năm trong C
Bài code hoàn chỉnh có những hàm, giải quyết các vấn đề sau của xử lý ngày-tháng-năm:
1. Nhập ngày tháng năm
2. Cập nhật ngày tháng năm
3. Kiểm tra ngày tháng năm có hợp lệ
4. Tính số ngày
5. Tìm ngày.
6. In lịch theo tháng, năm.
7. Đọc ngày tháng năm (Ví dụ: 12/11/1990: Ngày mười hai tháng mười một năm một ngàn chín trăm chín mươi)
8. Tìm thứ.
Các bạn quan tâm tới code bài xử lý ngày tháng năm trong C, C# này thì DOWNLOAD CODE TẠI ĐÂY
- Các bạn vào Code sửa
Menu1 -> Menu
Chon1 -> Chon
Main1 -> Main
------------------------
Chúc các bạn học tập tốt !

Bài toán dãy số Fibonacci - Đệ quy trong C, C++

Ở bài giới thiệu C, C++ này itviet360 gửi tới các bạn Code C, C++ bài toán dãy số Fibonacci - Đệ quy. Khái niệm đệ quy không được giới thiệu ở đây nên các bạn có thể tham khảo ở rất nhiều trang đưa ra những đ/n khái quát.
Bài toán dãy số Fibonacci trong C
Code dưới đây là theo code C, đối với console trong C# cũng tương tự.
Các bạn tham khảo code Full:

#include <stdio.h>
#include <conio.h>

void DaoSo(long a)
{
if(a>9)
{
printf("%d",a%10);
DaoSo(a/10);
}
else
printf("%d",a);

}

long Fibonaci(int vt)
{
if(vt==1||vt==2)
return 1;
else
return (Fibonaci(vt-2)+Fibonaci(vt-1));

}

void InDayFibonaci(int n,long a=1,long b=0)
{
long kq;
if(n>0)
{
kq=a+b;
printf("%ld ",kq);
InDayFibonaci(n-1,b,kq);
}



}

void main()
{
clrscr();
long a,b;
int choice;

menu:
//Menu Select
printf("\t\t\t www.itviet360.com \n");
printf("\t\t\tCac Chuc Nang\n\n");
printf("\t\t1. Dao So\n");
printf("\t\t2. Tim 1 PT Cua Day Fibonaci\n");
printf("\t\t3. In Day Fibonaci co n pha tu\n");
printf("\t\t4. Thoat\n");


do{
printf("\n\tNhap Lua Chon Cua Ban:");
scanf("%d",&choice);
}while(choice<1||choice>4);


clrscr();
switch(choice)
{
case 1:
printf("\nNhap 1 So Nguyen:");
scanf("%ld",&a);
printf("So Sau khi dao Thu Tu:");
DaoSo(a);
getch(); clrscr();
goto menu;

case 2:
do{
printf("\n%s","Nhap Vi Tri Cua So Fibonaci Can Tim:");
scanf("%d",&b);
}while(b<0);
printf("%s%ld","Phan Tu Can Tim La:",Fibonaci(b));
getch(); clrscr();
goto menu;

case 3:
printf("\nNhap So PT Cua Day Fibonaci can xem:");
scanf("%d",&b);
printf("Day Fibonaci:\n");
InDayFibonaci(b);
getch(); clrscr();
goto menu;

case 4:
break;
}

}

Quản lý nhân viên - Danh sách liên kết trong C, C++

Bài tập quản lý nhân viên theo danh sách liên kết trong C, C++ là một ví dụ điển hình về sanh sách liên kết. Việc xây dựng danh sách liên kết để quản lý nhân viên ở bài code dưới đây gửi tới các bạn các hàm để quản lý nhân viên như: thêm, xóa, sửa thông tin nhân viên, code tính bảng lương nhân viên, in bảng lương nhân viên...
Bài tập quản lý nhân viên theo danh sách liên kết trong C
Ở bài code dưới đây là code theo C, Console trong C# cũng tương tự như thế. Các bạn xem một số hàm tham khảo và Download code Full ở cuối bài viết.
- Tất cả các hàm trong bài code đều có ràng buộc.
Ví dụ: thêm, sửa thông tin nhân viên có ràng buộc tuổi, ngày tháng năm sinh,...
Đi vào Code cụ thể:
Hàm Nhập nhân viên:

void nhapNV(NHANVIEN &nv)
{
clrscr();
printf("\n\t Nhap cac thong tin cua nhan vien: Ho lot, ten, ...\n");
fflush(stdin);
printf("\n\t Ho lot : ");
gets(nv.holot);
fflush(stdin);
printf("\n\t Ten : ");
gets(nv.ten);
do{
fflush(stdin);
printf("\n\t Ngay thang nam sinh (ngay/thang/nam): ");
scanf("%d/%d/%d",&nv.ngaysinh.ngay, &nv.ngaysinh.thang,&nv.ngaysinh.nam);
}while(!IsValidDate(nv.ngaysinh.ngay,nv.ngaysinh.thang,nv.ngaysinh.nam));

do{
fflush(stdin);
printf("\n\t Phai (0:Nu, 1:Nam ): ");
scanf("%d" ,&nv.phai);
}while(nv.phai!=0 && nv.phai!=1);

fflush(stdin);
printf("\n\t Noi sinh : ");
gets(nv.noisinh);

fflush(stdin);
printf("\n\t Phu cap :");
scanf("%ld",&nv.phucap);

fflush(stdin);
printf("\n\t Luong co ban :");
scanf("%ld",&nv.luongcb);

fflush(stdin);
printf("\n\t Ngay cong :");
scanf("%d",&nv.ngaycong);

}

Hàm tìm nhân viên:

NODEPTR timNV(NODEPTR dsnv, char key[])
{
NODEPTR p = dsnv;
while (p!=NULL)
{
if(strcmp(p->info.maNV,key)==0) break;
p=p->pNext;
}
return p;
}


Hàm thêm nhân viên

void themNV(NODEPTR &dsnv,NHANVIEN nv)
{
NODEPTR n;
n = new NODE;
n->info = nv;
n->pNext = dsnv;
dsnv = n;
}

Hàm thêm nhiều nhân viên 1 lúc các bạn Download trong Code full nhé.
Hàm xóa nhân viên, sửa thông tin nhân viên, bảng lương nhân viên đã có trong Code Full.
CODE FULL DOWNLOAD TẠI ĐÂY
chúc các bạn học tập tốt

Đổi (đọc) số thành chữ trong C, C++

Đổi (đọc) số thành chữ trong C, C++
Một bài tập lập trình  tiếp theo của những bài C# trước mình gửi tới các bạn. Code đọc số thành chữ trong C, C++. Yêu cầu của bài là nhập 1 dãy số từ bàn phím, chương trình xuất ra chuỗi ký tự chữ tương ứng với con số vừa nhập.
Ví dụ:
- Nhập: 123456789
- Xuất: mot tram hai muoi ba trieu bon tram nam muoi sau nghin bay tram tam muoi chin
Đọc số thành chữ trong C
Ý tưởng: Đọc theo Block số 3 số
Cụ thể:
Code:

#include <conio.h>
#include <stdio.h>
#include <string.h>
void readblock3(char scr[],char result[])
{
int len=strlen(scr);
int vt=0;
char *chu[10]={" ","Mot","Hai","Ba","Bon","Nam","Sau","Bay","Tam","Chin"};


if(len==3)
{
if(scr[0]=='0')
strcat(result," Khong Tram ");
else
{
strcat(result,chu[scr[vt]-48]);
strcat(result," Tram ");
}
--len;
++vt;
}

if(len==2)
{
if(scr[vt]=='0')
{
if(scr[vt+1]!='0')
strcat(result," Le ");
}
else if(scr[vt]=='1')
strcat(result," Muoi ");
else
{
strcat(result,chu[scr[vt]-48]);
if(scr[vt+1]!='0')
strcat(result," Muoi ");
}
--len; ++vt;

}

if(len==1)
{
if(scr[vt]=='1')
strcat(result," Mot ");
else
strcat(result,chu[scr[vt]-48]);

}

}
void readall(char scr[],char result[])
{
int len=strlen(scr);
int i,j,vt=0,dv;
char *donvi[4]={""," Ngan "," Trieu "," Ti "};
char tmp[200];

if(len%3==0)
dv=len/3-1;
else
dv=len/3;

if(len%3!=0)
{
for(j=0;j<len%3;++j)
tmp[j]=scr[vt++];
tmp[j]=NULL;
readblock3(tmp,result);
strcat(result,donvi[dv]);
--dv;
}


for(i=0;i<len/3;++i)
{
for(j=0;j<3;++j)
tmp[j]=scr[vt++];
tmp[j]=NULL;
readblock3(tmp,result);
strcat(result,donvi[dv]);
--dv;

}
}
void main()
{
char chuoi[255];
char result[255];
strcpy(result,"");
printf("Nhap Mot Chuoi So:");
scanf("%s",chuoi);
readall(chuoi,result);
printf("%s%s","\nChuoi Sau Khi Doi:\n",result);
getch();
}

Chúc các bạn học tập tốt !

Bài tập Stack - Queue trong C, C# - Code Demo (2)

Bài tập Stack - Queue trong C, C# - Code Demo cài theo phương thức hướng đối tượng. Ở Bài tập Queue - Stack trong C, C# này mình đã giới thiệu Code về Queue. Tiếp theo mình giới thiệu về Stack.
Stack là gì ?
- Trong khoa học máy tính, một ngăn xếp (còn gọi là bộ xếp chồng, tiếng Anh: stack) là một cấu trúc dữ liệu trừu tượng hoạt động theo nguyên lý "vào sau ra trước" (Last In First Out (LIFO.
Ngăn xếp - Stack
- Cụ thể:
Code Push (thêm phần tử vào Stack)

public void push(int x) // Cai phuong thuc (thua ke giao dien) them phan tu vao Stack
{
if (!this.isFull())
{
this.top++;
this.day[this.top] = x;
}
else
Console.WriteLine("\n\n\t Stack day !!!");
}

Code Pop (lấy phần tử khỏi Stack)

public void pop(ref int x) // Cai phuong thuc (thua ke giao dien) lay phan tu vao Stack
{
if (!this.isEmpty())
{
x = this.day[this.top];
top--;
}
else
Console.WriteLine("\n\n\t Stack rong !!!");
}

-------------------------------------------
Bài cài đầy đủ (copy and run ^_^) các bạn Download tại đây !
chúc các bạn học tập tốt !

Bài tập Queue - Stack trong C, C# - Code Demo

Ở bài này mình sẽ chia ra làm 2 phần để trình bày về Queue - Stack. Sau đó là Code dành cho các bạn tham khảo. Code cài theo lập trình hướng đối tượng
1. Giới thiệu:
  • Queue là gì?
Queue - Hàng đợi: là một cấu trúc dữ liệu dùng để chứa các đối tượng làm việc theo cơ chế FIFO (viết tắt từ tiếng Anh: First In First Out), nghĩa là "vào trước ra trước". Tham khảo trang wikipedia
Queue - Queue là gì ?

Đi vào code cụ thể:
Hàm push - Thêm phần tử vào Queue:
Code:

public void push(int x) // Cai phuong thuc (thua ke giao dien) them phan tu vao Queue
{
if (!this.isFull())
{
this.top++;
this.day[this.top] = x;
}
else
Console.WriteLine("\n\n\t Queue day !!!");
}

Queue = Vào trước ra trước:
Hàm pop - Lấy phần tử ra khỏi queue

public void pop(ref int x) // Cai phuong thuc (thua ke giao dien) lay phan tu Queue
{
x = this.day[0];
for (int i = 0; i < this.top; i++)
{
this.day[i] = this.day[i + 1];
}
this.top--;
}

------------------------
Bài Code hoàn chỉnh TẠI ĐÂY
Các bạn lấy Code hoàn chỉnh về tham khảo nhé!
- Stack mình sẽ gửi các bạn sau.
Chúc các bạn học tập tốt

Giải phương trình bậc 2 trong C, C# - Lập trình hướng đối tượng

Giải phương trình bậc 2 trong C, C# - Bài tập nhập môn của lập trình hướng đối tượng. Giải phương trình bậc 2 chắc hẳn chúng ta đã quen với nhiều phương pháp khác nhau. Bài Code ở đây trình bày theo hướng lập trình hướng đối tượng.
Giải phương trình bậc 2 trong C
Hàm nhập gồm 3 thuộc tính A, B, C
Code:

public void Nhap()
{
Console.Write("\t Nhap he so a: ");
this.a = float.Parse(Console.ReadLine());
Console.Write("\t Nhap he so b: ");
this.b = float.Parse(Console.ReadLine());
Console.Write("\t Nhap he so c: ");
this.c = float.Parse(Console.ReadLine());
}

Phương thức giải phương trình bậc 2.
Code:

public void GiaiPT()
{
float delta, x1, x2;
delta = this.b * this.b - 4 * this.a * this.c;
if (delta > 0)
{
x1 = (float)(-this.b - Math.Sqrt(delta)) / (2 * this.a);
x2 = (float)(-this.b + Math.Sqrt(delta)) / (2 * this.a);
Console.WriteLine("\n Phuong trinh co 2 nghiem la X1 = {0} va X2 = {1}", x1.ToString("0.000"), x2.ToString("0.000"));
}
else if (delta == 0)
{
x1 = (-this.b) / (2 * this.a);
Console.WriteLine("\n Phuong trinh co nghiem duy nhat X = {0}", x1.ToString("0.000"));
}
else
Console.WriteLine("\n Phuong trinh vo nghiem");
}

Code đầy đủ các bạn TẢI TẠI ĐÂY
- Sửa lại chữ Menu4 thành Menu dùm mình.
----------------------
Chúc các bạn học tập tốt !

Xử lý phân số trong C, C# - cộng, trừ, nhân, chia, ước số chung lớn nhất

Bài tập lập trình hướng đối tượng tiếp theo mình gửi tới các bạn: Xử lý phân số trong C, C#. Gồm các hàm: Cộng 2 phân số, trừ 2 phân số, tích 2 phân số, thương 2 phân số, tìm ước số chung lớn nhất của tử số và mẫu số, mục đích là để tối giản, rút gọn phân số.
Cộng trừ nhân chia phân số trong C
Cụ thể các hàm:
- Tìm ước số chung lớn nhất

public int USCLN()
{
int t, m;
//lay gia tri tuyet doi cua va mau
t = Math.Abs(this.tu);
m = Math.Abs(this.mau);
//tim USCLN
while (t != 0)
if (t > m)
t = t - m;
else
m = m = t;
//tra ket qua
return t; //hay return m
}

- Cộng 2 phân số:

public Phanso cong(Phanso ps) //phuong thuc cong hai phan so
{
Phanso p_s; //khai bao doi tuong
//tao phan so p_s trong bo nho
p_s = new Phanso();
//tim tu va mau cua phan so p_s
p_s.tu = (this.tu * ps.mau + this.mau * ps.tu);
p_s.mau = (this.mau * ps.mau);
//toi gian phan so
p_s.toigian();
//doi dau mau
p_s.doidaumau();
//tra ket qua
return p_s;
}

- Trừ 2 phân số:

public Phanso tru(Phanso ps)
{
Phanso p_s;
//tao phan so p_s trong bo nho
p_s = new Phanso();
//tim tu va mau cua phan so p_s
p_s.tu = (this.tu * ps.mau - this.mau * ps.tu);
p_s.mau = (this.mau * ps.mau);
//toi gian phan so
p_s.toigian();
//doi dau mau
p_s.doidaumau();
//tra ket qua
return p_s;
}

- Nhân 2 phân số

public Phanso nhan(Phanso ps)
{
Phanso p_s;
//tao phan so p_s trong bo nho
p_s = new Phanso();
//tim tu va mau cua phan so p_s
p_s.tu = (this.tu * ps.tu);
p_s.mau = (this.mau * ps.mau);
//toi gian phan so
p_s.toigian();
//tra ket qua
return p_s;
}

- Chia 2 phân số:

public Phanso chia(Phanso ps)
{
Phanso p_s;
//tao phan so p_s trong bo nho
p_s = new Phanso();
//tim tu va mau cua phan so p_s
p_s.tu = (this.tu * ps.mau);
p_s.mau = (this.mau * ps.tu);
//tra ket qua
return p_s;
}

trên đây là những hàm xử lý phân số.
Bài code hoàn hình các bạn TẠI ĐÂY
Chúc các bạn học tập tốt !

Tính thể tích - diện tích hình trụ trong C C# - Bài toán hình trụ

Bài Code tiếp theo về lập trình hướng đối tượng, lớp (class) thừa kế. Gửi tới các bạn Code Tính thể tích - diện tích hình trụ trong C C# - Bài toán hình trụ. Trong Code này mình có sử dụng thừa kế của lớp hình tròn. Lớp hình tròn mình đã giới thiệu Ở ĐÂY. Bài toán xử lý hình trụ mình xây dựng thêm các hàm tính thể tích, diện tích của hình trụ.
Tính thể tích - diện tích hình trụ trong C

Vẫn như những bài Code trước, các hàm nhập, cập nhật...
Cụ thể:
Code:

public class HinhTru : HinhTron //thua ke class HinhTron
{
//thuoc tinh
private float h;
//phuong thuc
public void NhapHTru()
{
base.Nhap();
Console.Write("Nhap chieu cao: ");
this.h = float.Parse(Console.ReadLine());
}
public void CapNhatChieuCao(float cc)
{
this.h = cc;
}
public double TheTich()
{
double tt;
tt = this.Dientich() * this.h;
return tt;
}
public double DienTichXQ()
{
double dtxq;
dtxq = this.Chuvi() * this.h;
return dtxq;
}
public void Xuat()
{
Console.WriteLine("\t Chieu cao: " + this.h + "\n");
base.Xuat();
Console.ReadLine();
}
public void Menu(out byte Chon)
{
Console.Clear();
Console.WriteLine("\n\t|| BAN DA LUA CHON - THAO TAC VOI HINH TRU");
Console.WriteLine("\t||----------------------------------------||");
Console.WriteLine("\t|| 1. - Nhap thong tin hinh tru ||");
Console.WriteLine("\t|| 2. - Cap nhap diem ||");
Console.WriteLine("\t|| 3. - Cap nhap hoanh do ||");
Console.WriteLine("\t|| 4. - Cap nhap tung do ||");
Console.WriteLine("\t|| 5. - Cap nhat chieu cao ||");
Console.WriteLine("\t|| 6. - Cap nhap ban kinh ||");
Console.WriteLine("\t|| 7. - Tinh the tich hinh tru ||");
Console.WriteLine("\t|| 8. - Tinh dien tich hinh tru ||");
Console.WriteLine("\t|| 9. - Xuat thong tinh hinh tru ||");
Console.WriteLine("\t|| 0. - Ve menu chinh ||");
Console.WriteLine("\t||----------------------------------------||");
Console.Write("\n\t\t NHAP LUA CHON: ");
Chon = byte.Parse(Console.ReadLine());
}
public void Main()
{
HinhTru HTru = new HinhTru();
byte Chon;
char kitu10;
int a, b;
float h1;
double r1;
do
{
Menu(out Chon);
switch (Chon)
{

case 1:
Console.Clear();
HTru.NhapHTru();
break;
case 2:
Console.Clear();
Console.Write("\t= Nhap ten diem: ");
kitu10 = char.Parse(Console.ReadLine());
HTru.Capnhapdiem(kitu10);
break;
case 3:
Console.Write("\t= Nhap hoanh do: ");
a = int.Parse(Console.ReadLine());
HTru.Capnhaphoanhdo(a);
break;
case 4:
Console.Write("\t= Nhap tung do: ");
b = int.Parse(Console.ReadLine());
HTru.Capnhattungdo(b);
break;
case 5:
Console.Write("\t= Nhap chieu cao: ");
h1 = int.Parse(Console.ReadLine());
HTru.CapNhatChieuCao(h1);
break;
case 6:
Console.Write("\t= Nhap ban kinh r = ");
r1 = int.Parse(Console.ReadLine());
HTru.Capnhapbankinh(r1);
break;
case 7:
Console.Clear();
double V;
V = HTru.TheTich();
Console.Write("\t\n The tich hinh tru la: " + V.ToString("0.000")); // Xu ly cat chuoi
Console.ReadLine();
break;
case 8:
Console.Clear();
double Sht;
Sht = HTru.DienTichXQ();
Console.Write("\t\n Dien tich hinh tru la: " + Sht.ToString("0.000")); // Xu ly cat chuoi
Console.ReadLine();
break;
case 9:
Console.Clear();
Console.Write("Thong tin cua hinh tru \n");
HTru.Xuat();
Console.ReadLine();
break;
case 0:
break;
default:
Console.WriteLine("\n\t Khong co lua chon nay ! !");
break;
}
} while (Chon != 0);
}
}

-----------------------
Chúc các bạn học tập tốt !

Tính chu vi - diện tích hình tròn trong C, C# - Code Lập trình hướng đối tượng

Bài tập tính chu vi, diện tích hình tròn trong C# mình làm theo hướng dẫn của thầy lập trình hướng đối tượng. Trong bài này những hàm phải xây dựng cho lớp Điểm (tọa độ): Nhập điểm, Cập nhật điểm (hoành độ, tung độ, ký tự điểm). Bên lớp hình tròn kế thừa lại lớp điểm để xây dựng thêm các hàm khác như: Tâm (tọa độ), tính chu vi hình tròn, tính diện tích hình tròn...
Tính chu vi - diện tích hình tròn trong C

Cụ thể:
Class Diem
Code:

public class Diem
{
// Khai bao thuoc tinh
private char kitu;
private int x,y;
// Phuong thuc nhap
public Diem() //Phuong thuc khoi tao khong co tham so
{
this.kitu='O';
this.x=this.y=0;
}
public Diem(char ch, int a, int b) // Phuong thuc khoi tao co tham so
{
this.kitu=ch;
this.x=a;
this.y=b;
}
public void Nhap()
{
Console.Write("\t- Diem: ");
Console.ReadLine();
Console.Write("\t- Tung do: ");
this.x=int.Parse(Console.ReadLine());
Console.Write("\t- Hoanh do: ");
this.y=int.Parse(Console.ReadLine());
}
public void Capnhapdiem(char ch)
{
this.kitu = ch;
}
public void Capnhaphoanhdo(int a)
{
this.x = a;
}
public void Capnhattungdo(int b)
{
this.y = b;
}
public char Dockitu()
{
return this.kitu;
}
public int Dochoanhdo()
{
return this.x;
}
public int Doctungdo()
{
return this.y;
}
public void Xuat()
{
Console.Write(kitu+"("+this.x+","+this.y+")");
}
}

Class HinhTron:Diem (lớp hình tròn kế thừa lớp điểm)
Code:

public class HinhTron:Diem
{
// Thuoc tinh
private double bankinh;
// Cac phuong thuc
public HinhTron():base()
{
this.bankinh = 0;
}
public HinhTron(int r):base()
{
this.bankinh = r;
}
public HinhTron(char ch, int a, int b, double r):base(ch,a,b)
{
this.bankinh = r;
}
public void Nhap()
{
Console.WriteLine("\t\n- Cac toa do cua tam");
base.Nhap();
Console.Write("\t - Ban kinh hinh tron: ");
this.bankinh = double.Parse(Console.ReadLine());
}
public void Capnhapbankinh(double r)
{
this.bankinh = r;
}
public double Docbankinh()
{
return this.bankinh;
}
public double Dientich()
{
return Math.PI * this.bankinh * this.bankinh;
}
public double Chuvi()
{
return 2 * Math.PI * this.bankinh;
}
public void Xuat()
{
Console.Write("\t Tam: ");
base.Xuat();
Console.WriteLine("\t Ban kinh: "+ this.bankinh);
Console.ReadLine();
}
public void Menu(out byte chon)
{
Console.Clear();
Console.WriteLine("\t||--------------------------------------------||");
Console.WriteLine("\t|| 1. - Nhap thong tin hinh tron ||");
Console.WriteLine("\t|| 2. - Cap nhap diem ||");
Console.WriteLine("\t|| 3. - Cap nhap hoanh do ||");
Console.WriteLine("\t|| 4. - Cap nhap tung do ||");
Console.WriteLine("\t|| 5. - Cap nhap ban kinh ||");
Console.WriteLine("\t|| 6. - Tinh chu vi hinh tron ||");
Console.WriteLine("\t|| 7. - Tinh dien tich hinh tron ||");
Console.WriteLine("\t|| 8. - Xuat thong tinh hinh tron ||");
Console.WriteLine("\t|| 0. - Ve menu chinh ||");
Console.WriteLine("\t||--------------------------------------------||");
Console.Write("\n\t\t NHAP LUA CHON: ");
chon5 = byte.Parse(Console.ReadLine());
}
public void Main()
{
HinhTron HT = new HinhTron();
//HT.NhapHT();
//double DTich;
//DTich = HT.Dientich();
//Console.Write("Dien tich hinh tron vua nhap la: {0}", DTich);
byte chon;
char kitu1;
int a, b;
double r1;
do
{
Menu5(out chon);
switch (chon)
{

case 1:
Console.Clear();
HT.Nhap();
break;
case 2:
Console.Clear();
Console.Write("\t= Nhap ten diem: ");
kitu1 = char.Parse(Console.ReadLine());
HT.Capnhapdiem(kitu1);
break;
case 3:
Console.Write("\t= Nhap hoanh do: ");
a = int.Parse(Console.ReadLine());
HT.Capnhaphoanhdo(a);
break;
case 4:
Console.Write("\t= Nhap tung do: ");
b = int.Parse(Console.ReadLine());
HT.Capnhattungdo(b);
break;
case 5:
Console.Write("\t= Nhap ban kinh r = ");
r1 = int.Parse(Console.ReadLine());
HT.Capnhapbankinh(r1);
break;
case 6:
Console.Clear();
double P;
P = HT.Chuvi();
Console.Write("\t\n Chu vi hinh tron la: " + P.ToString("0.000")); // xử lý cắt chuỗi
Console.ReadLine();
break;
case 7:
Console.Clear();
double S;
S = HT.Dientich();
Console.Write("\t\n Dien tich hinh tron la: " + S);
break;
case 8:
Console.Clear();
Console.Write("Thong tin hinh tron \n");
HT.Xuat();
break;
case 0:
Console.Clear();
break;
default:
Console.WriteLine("\n\t Khong co lua chon nay !");
break;

}
} while (chon != 0);
}
}

Mình đưa toàn bộ code lên, có thể hơi dài nhưng tiện cho các bạn copy and run ^_^
--------------------
Chúc các bạn học tập tốt!

Bài toán xử lý ma trận trong C, C#

Code bài tập xử lý ma trận trong C# - Lập trình hướng đối tượng.
Bài tập này mình làm cho môn lập trình hướng đối tượng @.@ Nhắc đến lập trình là cũng hơi ngán rồi. Bài tập tính toán ma trận này gồm các hàm: Nhập ma trận, cập nhật phần tử ma trận, tính tổng cộng 2 ma trận, hiệu 2 ma trận, tích 2 ma trận, xuất ma trận. Ở Code C các bạn chuyển đổi lại theo C
Ma trận trong C
Bạn nào có cần bài tập xử lý ma trận trong C# - Lập trình hướng đối tượng thì tham khảo code nhé !
Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Matran
{
// Cac thuoc tinh
private int So_Hang;
private int So_Cot;
private int[,] MT;
// Phuong thuc khoi tao
public Matran(int sh, int sc)
{
this.So_Hang = sh;
this.So_Cot = sc;
this.MT = new int[sh, sc];
}
// Phuong thuc Nhap ma tran
public void NhapMT()
{
Console.Write("\n\t Nhap so hang cua ma tran: ");
this.So_Hang = int.Parse(Console.ReadLine());
Console.Write("\n\t Nhap so cot cua ma tran: ");
this.So_Cot = int.Parse(Console.ReadLine());
for (int i = 1; i <= this.So_Hang; i++)
for (int j = 1; j <= this.So_Cot; j++)
{
Console.Write("\n\t - Nhap phan tu thu A[" + i + "," + j + "]: ");
this.MT[i, j] = int.Parse(Console.ReadLine());
}
}
// Tim kiem phan tu ma tran
public int Tim_Kiem(int x)
{
for (int i = 1; i <= this.So_Hang; i++)
for (int j = 1; j <= this.So_Cot; j++)
if (this.MT[i, j] == x)
return 1;
return 0;
}
// Cap nhat phan tu
public void CapNhat(int m, int n, int pos)
{
this.MT[m, n] = pos;
}
// Cong 2 ma tran
public Matran Cong2MT(Matran a, Matran b)
{
Matran c = new Matran(this.So_Hang,this.So_Cot);
if (a.So_Hang == b.So_Hang && a.So_Cot == b.So_Cot)
{
for (int i = 0; i < this.So_Hang; i++)
{
for (int j = 0; j < this.So_Cot; j++)
{
c.MT[i, j] = a.MT[i, j] + b.MT[i, j];
}
}
}
else
{
Console.WriteLine("\n\t Khong cong duoc !!! \n");
}
return c;
}
// Tru 2 ma tran
public Matran Hieu2MT(Matran a, Matran b)
{
Matran c = new Matran(this.So_Hang, this.So_Cot);
if (a.So_Hang == b.So_Hang && a.So_Cot == b.So_Cot)
{
for (int i = 0; i < this.So_Hang; i++)
{
for (int j = 0; j < this.So_Cot; j++)
{
c.MT[i, j] = a.MT[i, j] - b.MT[i, j];
}
}
}
else
{
Console.WriteLine("\n\t Khong tru duoc !!!");
}
return c;
}
// Tich 2 ma tran
public Matran Tich2MT(Matran a, Matran b)
{
Matran c = new Matran(this.So_Hang, this.So_Cot);
if (a.So_Cot != b.So_Hang)
{
Console.Write("\n\t ERROR: Khong thuc hien dc phep nhan !!!");
}
else
{
for (int i = 0; i < this.So_Hang; i++)
for (int j = 0; j < this.So_Cot; j++)
{
c.MT[i, j] = 0;
for (int k = 0; k < b.So_Hang; k++)
{
c.MT[i, j] += a.MT[i, k] * b.MT[k, j];
}
}
}
return c;
}
// Xuat Ma tran
public void XuatMT()
{
Console.WriteLine("\t Ma tran: \n");
for (int i = 1; i <= this.So_Hang; i++)
{
for (int j = 1; j <= this.So_Cot; j++)
{
Console.Write("\t" + this.MT[i,j] +" ");
}
Console.WriteLine();
}
}
// Menu 9
public void Menu(out byte chon)
{
Console.Clear();
Console.WriteLine("\n\t|| BAN DA LUA CHON 9 - BAI TOAN MA TRAN || ");
Console.WriteLine("\t||----------------------------------------||");
Console.WriteLine("\t|| 1. Nhap Ma Tran ||");
Console.WriteLine("\t|| 2. Cap nhap phan tu Ma Tran. ||");
Console.WriteLine("\t|| 3. Tong hai Ma tran ||");
Console.WriteLine("\t|| 4. Hieu hai Ma tran ||");
Console.WriteLine("\t|| 5. Tich hai Ma Tran ||");
Console.WriteLine("\t|| 6. Xuat Ma Tran ||");
Console.WriteLine("\t|| 0. Quay ve Menu chinh ||");
Console.WriteLine("\t||________________________________________||\n");
Console.Write("\n\tNHAP LUA CHON: ");
chon = byte.Parse(Console.ReadLine());
}
// Main 9
public void Main()
{
Matran M1 = new Matran(50,50);
Matran M2 = new Matran(50,50);
Matran M3 = new Matran(50,50);
byte chon;
int pos;
int h, c, n;
//int[,] a;
do
{
Menu9(out chon);
switch(chon)
{
case 1:
M1.NhapMT();
break;
case 2:
Console.Write("\n\t Nhap vi tri phan tu can cap nhat \n");
Console.Write("\t\tHang: ");
h = int.Parse(Console.ReadLine());
Console.Write("\n\t\t Cot: ");
c = int.Parse(Console.ReadLine());
Console.Write("\n\t\t Gia tri: ");
n = int.Parse(Console.ReadLine());
if (M1.Tim_Kiem(n) == -1)
{
Console.Write("\n\t KET QUA TIM KIEM KHONG HOP LE !!!");
}
else
{
Console.Write("\n\t Nhap gia tri moi: ");
pos = int.Parse(Console.ReadLine());
M1.CapNhat(h, c, pos);
}
Console.ReadLine();
break;
case 3:
Console.WriteLine("\n\t Nhap ma tran 1: ");
M1.NhapMT();
Console.WriteLine("\n\t Nhap ma tran thu 2: ");
M2.NhapMT();
Console.WriteLine("\t Tong hai ma tran la: ");
M3.Cong2MT(M1,M2);
M3.XuatMT();
Console.ReadLine();
break;
case 4:
Console.WriteLine("\n\t Nhap ma tran thu 1: ");
M1.NhapMT();
Console.WriteLine("\n\t Nhap ma tran thu 2: ");
M2.NhapMT();
Console.WriteLine("\t Hieu hai ma tran la: ");
M3.Hieu2MT(M1, M2);
M3.XuatMT();
Console.ReadLine();
break;
case 5:
Console.WriteLine("\n\t Nhap ma tran thu 1: ");
M1.NhapMT();
Console.WriteLine("\n\t Nhap ma tran thu 2: ");
M2.NhapMT();
Console.WriteLine("\n\t Tich 2 Ma tran la: ");
M3.Tich2MT(M1,M2);
M3.XuatMT();
Console.ReadLine();
break;
case 6:
M1.XuatMT();
Console.ReadLine();
break;
case 0:
Console.Clear();
break;
default:
Console.Write("\n KHONG CO LUA CHON NAY !!!");
break;
}
} while(chon!=0);
}
}

Bài tập xử lý dãy số trong C, C# - Lập trình hướng đối tượng

Bài tập xử lý dãy số trong C# - Lập trình hướng đối tượng.
Bài tập này mình làm cho môn lập trình hướng đối tượng @.@ Nhắc đến lập trình là cũng hơi ngán rồi. Xử lý dãy số trong C này gồm những hàm sau: Cập nhật, tìm kiếm phần tử, tính tổng các phần tử trong dãy số, tính trung bình cộng các phần tử, in dãy con các số nguyên tố, sắp xếp các phần tử theo thứ tự tăng.
Bạn nào có cần bài tập xử lý dãy số trong C# - Lập trình hướng đối tượng thì tham khảo nhé !
Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class DaySo
{
//cac thuoc tinh
private int[] ds;
private int sopt;

//cac phuong thuc
public DaySo(int n)
{
this.ds = new int[n];
this.sopt = 0;
}
public void Nhap()
{
//string x;
Console.Write("\t Nhap so phan tu cua mang: ");
this.sopt = int.Parse(Console.ReadLine());
for (int i = 0; i < this.sopt; i++)
{
Console.Write("\t Nhap phan tu thu " + i + ": ");
this.ds[i]=int.Parse(Console.ReadLine());
}
}
public void CapNhat(int pos, int a)
{
this.ds[pos] = a;
}
public int TimKiem(int a)
{
for (int i = 0; i < this.sopt; i++)
{
if (this.ds[i] == a)
return i;
}
return -1;
}
public void Sapxep()
{
int tam;
for (int i = 0; i < this.sopt; i++)
for (int j = i + 1; j <= this.sopt; j++ )
{
if (this.ds[i] > this.ds[j])
{
tam = this.ds[i];
this.ds[i] = this.ds[j];
this.ds[j] = tam;
}
}
Console.WriteLine("\t Cac phan tu sau khi sap xep la: ");
for (int i = 1; i <= this.sopt; i++)
Console.WriteLine("\t" + this.ds[i]);
}
public int Doc(int pos)
{
return this.ds[pos - 1];
}
public long TinhTong()
{
long tg = 0;
for (int i = 0; i < this.sopt; i++)
{
tg += this.ds[i];
}
return tg;
}
public float TrungBinhCong()
{
return (this.TinhTong() / this.sopt);
}
public bool LaSoNguyenTo(int i)
{
if (this.ds[i] < 2)
return false;
for (int j = 2; j <= this.ds[i] / 2; j++)
if (this.ds[i] % j == 0)
return false;
return true;
}
public DaySo DayCon()
{
DaySo a = new DaySo(this.sopt);
for (int i = 0; i < this.sopt; i++)
{
if (this.LaSoNguyenTo(this.ds[i]))
{
a.ds[a.sopt] = ds[i];
a.sopt++;
}
}
return a;
}
public void Xuat()
{
Console.Write("Day phan tu: ");
for (int i = 0; i < this.sopt; i++)
Console.Write(this.ds[i] + " ");
}
public static void Menu(out byte chon)
{
Console.Clear();
Console.WriteLine("\n\t|| BAN DA LUA CHON 4 - THAO TAC DAY SO || ");
Console.WriteLine("\t||----------------------------------------||");
Console.WriteLine("\t|| 1. Nhap ||");
Console.WriteLine("\t|| 2. Cap nhat. ||");
Console.WriteLine("\t|| 3. Tim kiem. ||");
Console.WriteLine("\t|| 4. Tinh tong cac phan tu. ||");
Console.WriteLine("\t|| 5. Tinh trung binh cong cac phan tu. ||");
Console.WriteLine("\t|| 6. In day con cac so nguyen to. ||");
Console.WriteLine("\t|| 7. Sap xep phan tu theo thu tu tang ||");
Console.WriteLine("\t|| 8. Xuat day ||");
Console.WriteLine("\t|| 0. Ve menu chinh ||");
Console.WriteLine("\t||________________________________________||\n");
Console.Write("\n\tNHAP LUA CHON: ");
chon4 = byte.Parse(Console.ReadLine());
}
public void Main()
{
DaySo d1 = new DaySo(50);
byte chon;
int pos, gt;
do
{
Menu4(out chon);
switch (chon)
{
case 1:
d1.Nhap();
break;
case 2:
Console.Write("\t Vi tri can cap nhat: ");
pos = int.Parse(Console.ReadLine());
if (d1.TimKiem(pos) == -1)
{
Console.WriteLine("\t Vi tri khong hop le!!!");
}
else
{
Console.Write("\tNhap gia tri moi: ");
gt = int.Parse(Console.ReadLine());
d1.CapNhat(pos, gt);
}
break;
case 3:
Console.Write("\tNhap vi tri can truy xuat: ");
pos = int.Parse(Console.ReadLine());
if (d1.TimKiem(pos) == -1)
{
Console.WriteLine("\tVi tri khong hop le!!!");
}
else
{
Console.WriteLine("\tGia tri tai vi tri truy xuat la: " + d1.Doc(pos));
}
break;
case 4:
long tong;
tong = d1.TinhTong();
Console.Write("\n\t Tong cac phan tu la: {0}", tong);
break;
case 5:
float TBC;
TBC = d1.TrungBinhCong();
Console.Write("\n\t Trung Binh Cong cac phan tu la: {0} ",TBC);
break;
case 6:
//int[] i;
//Console.WriteLine("\t\n Cac so nguyen to: " +i );
break;
case 7:
//int n=this.sopt;
//int[] a=this.ds;
d1.Sapxep();
break;
case 8:
d1.Xuat();
break;
case 0:
Console.Clear();
break;
default:
Console.WriteLine("\n\n\t Khong co lua chon nay !!!");
break;
}
Console.ReadLine();
}
while (chon != 0);
}
}
BACK TO TOP