Chào mọi người. Tình hình là vừa rồi cũng hơi nghỉ nhiều nên môn C++ em cũng không hiểu cho lắm. Mà chính xác là học C++ em đã không hiểu gì rồi nên bài tập môn C++ em không thể làm được. Vậy các pro ai có thể làm được vui lòng làm giúp em mấy bài tập C++ được không ạ. *Tính số ngày đã qua kể từ đầu năm cho đến ngày hiện tại. Quy ước ngày được khai báo dưới dạng cấu trúc. *Nhập một ngày tháng năm dưới dang cấu trúc. Tính chính xác (kể cả năm nhuận) số ngày đã qua bắt đầu từ ngày 1/ 1/ 1 đến ngày vừa nhập. *Khai báo ngày tháng năm theo kiểu cấu trúc. Viết chương trình tính khoảng cách (số ngày) giữa 2 tháng bất kỳ. *Viết chương trình nhập vào một ngày tháng năm bất kỳ. Xuất ra màn hình ngày đó là thứ mấy nếu ta xem ngày 1/ 1/ 1 là thứ 2. *Viết chương trình nhập vào 2 ngày nào đó của tháng bất kỳ của năm bất kỳ. Tính và hiển thị ra màn hình khoảng cách giữa 2 ngày đó là bao nhiêu ngày. *Cho số phức dưới dạng cấu trúc gồm có 2 phần là phần thực và phần ảo. Viết chương trình nhập vào 2 số phức bất kỳ. Tính và xuất ra màn hình kết quả tổng, hiệu, tích, thương của chúng. *Cho phân số dưới dạng cấu trúc gồm 2 phần là tử số và mẫu số. Viết chương trình nhập vào 2 phân số. Tính và hiển thị ra màn hình tổng, hiệu, tích, thương của chúng sau khi đã rút gọn. Các pro giúp em với. P/S: các bài tập trên là bài tập trong chương 5 phần Kiểu Con Trỏ Và Kiểu Cấu Trúc Thanks!
hj mình k có pro đâu. mình cho bạn xin vài code mà mình thực hành trên lớp. bạn xem mà k hiểu chổ nào có thể liên hệ với mình, mình sẽ giải thích.hj.mà trong code của mình có lời giải thích nữa đó. bài dưới đây là tình số ngày đã qua kể từ ngày 1/1/1 (tính toán cả năm nhuận) [NOTE]#include<iostream> using namespace std; void main() { int i,sg=0,n; struct ngaythang { unsigned int ngay; unsigned int thang; unsigned int nam; }; ngaythang ngay_hien_tai; cout<<"moi nhap ngay hien tai"<<endl; cout<<" ngay";cin>>ngay_hien_tai.ngay; cout<<" thang";cin>>ngay_hien_tai.thang; cout<<" nam";cin>>ngay_hien_tai.nam; cout<<"hoom nay la ngay "<<ngay_hien_tai.ngay<<" thang"<<ngay_hien_tai.thang<<" nam "<< ngay_hien_tai.nam<<endl; n=ngay_hien_tai.thang-1; for(i=1;i<=n;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) sg=sg+31; else { if(i==4||i==6||i==9||i==11) sg=sg+30; else { if(ngay_hien_tai.nam%4==0) sg+=29; else sg+=28; } } } sg=sg+ngay_hien_tai.ngay-1; for(i=1;i<ngay_hien_tai.nam;i++) if(i%4==0) sg+=366; else sg+=365; cout<<"so ngay da qua tu ngay 1/1/1 den ngay "<<ngay_hien_tai.ngay<<"/"<<ngay_hien_tai.thang<<"/"<<ngay_hien_tai.nam<<"la: "<<sg<<" ngay"<<endl; } [/NOTE] bài đây là tính số ngày đã qua kể tù ngày 1/1 cùng năm.hj [WARNING]#include<iostream> using namespace std; void main() { int i,sg=0,n; struct ngaythang { unsigned int ngay; unsigned int thang; unsigned int nam; }; ngaythang ngay_hien_tai; cout<<"moi nhap ngay hien tai"<<endl; cout<<" ngay";cin>>ngay_hien_tai.ngay; cout<<" thang";cin>>ngay_hien_tai.thang; cout<<" nam";cin>>ngay_hien_tai.nam; cout<<"hoom nay la ngay "<<ngay_hien_tai.ngay<<" thang"<<ngay_hien_tai.thang<<" nam "<< ngay_hien_tai.nam<<endl; n=ngay_hien_tai.thang-1; for(i=1;i<=n;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) //switch(i) sg=sg+31; //{ else //case 1:case 3:case 5:case 7:case 8:case 10:case 12:sg+=31;break; { //case 4:case 6:case 9:case 11:sg+=30;break; if(i==4||i==6||i==9||i==11) //case 2:tu lam sg=sg+30; else { if(ngay_hien_tai.nam%4==0) sg+=29; else sg+=28; } } } sg=sg+ngay_hien_tai.ngay-1; for(i=1;i<ngay_hien_tai.nam;i++) if(i%4==0) sg+=366; else sg+=365; cout<<"so ngay da qua tu ngay 1/1/1 den ngay "<<ngay_hien_tai.ngay<<"/"<<ngay_hien_tai.thang<<"/"<<ngay_hien_tai.nam<<"la: "<<sg<<" ngay"<<endl; } [/WARNING] còn số bài còn lại có thể liên hệ tới gmail của lớp mình. thanks!
Share mấy bài đã làm khi trước, chủ yếu tham khảo để làm các bài khác 1.Phân số : Mã: #include <iostream> using namespace std; struct phanso { int tu; int mau; }; //Tim uoc chung lon nhat 2 so int ucln(int a, int b) { int i,uc; for (i=1;i<=a;i++) { if (a%i==0&&b%i==0) uc=i; } return uc; }; //Cong 2 phan so; phanso cong(phanso a, phanso b) { phanso c; c.tu=a.tu*b.mau+a.mau*b.tu; c.mau=a.mau*b.mau; return c; } //Tru 2 phan so phanso tru(phanso a, phanso b) { phanso c; c.tu=a.tu*b.mau-a.mau*b.tu; c.mau=a.mau*b.mau; return c; } //Nhan 2 phan so phanso nhan(phanso a, phanso b) { phanso c; c.tu=a.tu*b.tu; c.mau=a.mau*b.mau; return c; } //Chia 2 phan so phanso chia(phanso a, phanso b) { phanso c; c.tu=a.tu*b.mau; c.mau=a.mau*b.tu; return c; } void main() { phanso a,b,c; char pheptoan; int uoc_max; //Nhap phan so thu nhat cout<<"Nhap phan so thu 1..."<<endl; cout<<"Tu so : "; cin>>a.tu; do { if(a.mau==0) cout<<"\n Mau so phai #0"; cout<<"\n Mau so : "; cin>>a.mau; } while(a.mau==0); cout<<endl; //Nhap phan so thu 2 cout<<"Nhap phan so thu 2..."<<endl; cout<<"Tu so : "; cin>>b.tu; do { if(b.mau==0) cout<<"\n Mau so phai #0"; cout<<"\n Mau so : "; cin>>b.mau; } while(b.mau==0); cout<<endl; //Lua chon phep toan cout<<"Lua chon phep toan (+,-,*,/).- Nhap 'e' de thoat.."<<endl; cin>>pheptoan; switch (pheptoan) { case '+': c=cong(a,b); break; case '-': c=tru(a,b); break; case '*': c=nhan(a,b); break; case '/': c=chia(a,b); break; default: break; } //Toi gian phan so uoc_max=ucln(c.tu, c.mau); c.tu=c.tu/uoc_max; c.mau=c.mau/uoc_max; //Xuat ket qua cout<<endl; cout<<a.tu<<"/"<<a.mau<<" "<<pheptoan<<" "<<b.tu<<"/"<<b.mau<<" = "<<a.tu<<"/"<<c.mau<<endl; } 2. Số phức: Mã: #include <iostream> using namespace std; struct sophuc { int thuc,ao; }; void tong(sophuc a, sophuc b) { sophuc tg; tg.thuc=a.thuc + b.thuc; tg.ao= a.ao+b.ao; cout<<"Tong la:("<<tg.thuc<<","<<tg.ao<<")"; } void hieu(sophuc a, sophuc b) { sophuc tg; tg.thuc=a.thuc-b.thuc; tg.ao=a.ao-b.ao; cout<<"Hieu 2 so phuc: ("<<tg.thuc<<","<<tg.ao<<")"; } void tich(sophuc a, sophuc b) { sophuc tg; tg.thuc=a.thuc * b.thuc; tg.ao= a.ao * b.ao; cout<<"Tich la:("<<tg.thuc<<","<<tg.ao<<")"; } void thuong(sophuc a,sophuc b) { sophuc tg; int tongbp=b.thuc*b.thuc+b.ao*b.ao; tg.thuc=(a.thuc*a.ao+b.thuc*b.ao)/tongbp; tg.ao=(a.ao*b.thuc-a.thuc*b.ao)/tongbp; cout<<"Thuong 2 so phuc : ("<<tg.thuc<<","<<tg.ao<<")"; } void main() { sophuc sp1,sp2; cout<<"Nhap gia tri so phuc"; cout<<"So phuc thu 1:"<<endl; cout<<"thuc"; cin>>sp1.thuc; cout<<"ao"; cin>>sp1.ao; cout<<"So phuc thu 2:"<<endl; cout<<"thuc"; cin>>sp2.thuc; cout<<"ao"; cin>>sp2.ao; tong(sp1,sp2); cout<<endl; hieu(sp1,sp2); cout<<endl; tich(sp1, sp2); cout<<endl; thuong(sp1, sp1); } 3. Danh sách sinh viên (struct) Mã: #include <iostream> #include <string> using namespace std; struct sinhvien { char ten[50]; int tuoi; char diachi[100]; }; sinhvien sv[50]; int n; void nhap(sinhvien &sv) { cin.ignore(); cout<<"Ho ten..."; cin.getline(sv.ten,50); cout<<"Tuoi ..."; cin>>sv.tuoi; cin.ignore(); cout<<"Dia chi..."; cin.getline(sv.diachi,100); cout<<endl; }; void xuat(sinhvien sv) { cout<<sv.ten<<"\t"<<sv.tuoi<<"\t"<<sv.diachi; }; void hoanvi(sinhvien a[1],sinhvien b[1]) { sinhvien tmp[1]; tmp[0]=a[0]; a[0]=b[0]; b[0]=tmp[0]; }; void sapxep() { for(int i=0; i<n-1; i++) for(int j=i+1; j<n; j++) if(strcmp(sv[i].ten,sv[j].ten)>0) hoanvi(&sv[i],&sv[j]); return; }; void main() { int n,i; sinhvien sv[50]; cout<<"Nhap so luong sinh vien..."; cin>>n; cout<<"Nhap thong tin sinh vien"; for(i=0;i<n;i++) nhap(sv[i]); cout<<"DS sinh vien da nhap..."<<endl; for(i=0;i<n;i++) { xuat(sv[i]); cout<<endl; } sapxep(); cout<<"Danh sach sinh vien da sap xep"<<endl; for(i=0;i<n;i++) { xuat(sv[i]); cout<<endl; } } 4. Con trỏ - mảng số nguyên: Mã: #include <iostream> using namespace std; //Ham nhap void nhap(int **p, int n) { int i;int *q; q=new int[n]; for(i=0;i<n;i++) cin>>*(q+i); *p=q; }; //Ham xuat void xuat(int *p, int n) { for(int i=0;i<n;i++) cout<<*(p+i)<<"\t"; }; //Xoa 1 phan tu void xoa(int *p, int &n,int k) { for(int i=k-1; i<n;i++) *(p+i)=*(p+i+1); n--; }; //Them 1 phan tu void chen(int *p, int &n, int x, int v) { for(int i=n;i>v-1;i--) *(p+i)=*(p+i-1); *(p+v-1)=x; n++; }; //Ham sap xep void sapxep(int *p, int n) { for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(*(p+i)>*(p+j)) { int temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; } }; void max_min(int *p, int n) { int max=*(p+0); int min=*(p+0); for(int i=0;i<n;i++) { if(max<*(p+i)) max=*(p+i); if(min>*(p+i)) min=*(p+i); } cout<<"Max = "<<max<<endl; cout<<"Min = "<<min<<endl; } void main() { int n,*p,k,v,x; //Nhap cout<<"Nhap so phan tu day(n)"<<endl; cin>>n; p=new int [n]; cout<<"Nhap gia tri phan tu"<<endl; nhap(&p,n); cout<<"Day sau khi nhap"<<endl; xuat(p,n); cout<<endl; //Max- min max_min(p,n); cout<<endl; //Xoa cout<<"Nhap vi tri can xoa..."; cin>>k; xoa(p,n,k); cout<<"Day sau khi xoa"<<endl; xuat(p,n); cout<<endl; //Them cout<<"Nhap vi tri can chen"; cin>>v; cout<<"\n Nhap gia tri can chen"; cin>>x; chen(p,n,x,v); cout<<"\n Day sau khi chen"<<endl; xuat(p,n); sapxep(p,n); cout<<"\n Day sua khi sap xep"<<endl; xuat(p,n); }
t đã cho bạn địa chỉ và pass rồi đó. một số bài mình làm rồi mà chưa coppy vào usb nên vẫn còn trong máy trường.để tuần sau học mình sẽ chia sẽ cho, trong gmail có tất cả các bài mình làm có ghi bài và chương nên dễ biết đề. thanks!