Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.65 MB, 67 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA CƠ KHÍ ĐỘNG LỰC
TIỂU LUẬN MƠN HỌC LẬP TRÌNH C
Giảng viên: ThS. Trương Ngọc Hà
Sinh viên: Nguyễn Xuân Trường 20145316
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">Bài 2: Vẽ lưu đồ và viết chương trình nhập 2 số nguyên từ bàn phím và in ra tổng, hiệu, tích, thương của 2 số đó
<small>5</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">Int a, b, tong, hieu, tich; float thuong;
printf(“Moi ban nhap vao 2 so a va b : \n’’); scanf(‘’%d%d’’, &a, &b);
tong = a + b; hieu = a – b; tich = a*b; thuong = (float)a/b;
printf(‘’ Tong cua 2 so a va b la :%d’’, tong); printf(‘’\n Hieu cua 2 so a va b la: %d’’, hieu); printf(‘’\n Tich cua 2 so a va b la: %d’’, tich); printf(‘’\n Thuong cua 2 so a va b la: %.2f’’, thuong); }
Bài 6 : Vẽ lưu đồ giải thuật cho bài toán: nhập vào 1 số nguyên và kiểm tra xem số vừa nhập có phải là số nguyên tố hay không<small>,</small>
<small>7</small>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Bài 7: Viết chương trình cho bài tốn nhập vào 4 số nguyên, in ra màn hình số lớn nhất, số bé nhất trong các số đã nhập.
<small>8</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Int main (void)
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">float x1 = (-b + sqrt(delta)) / (2 * a); float x2 = (-b - sqrt(delta)) / (2 * a);
printf("\nPhuong trinh co 2 nghiem phan biet:\nx1 = %f\nx2 = %f", x1, x2); }
Câu 3: Viết chương trình giải phương trình bậc 2 (xét đến a có thể bằng 0) <small>11</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">float x1 = (-b + sqrt(Delta)) / (2 * a); float x2 = (-b - sqrt(Delta)) / (2 * a);
printf("\nPhuong trinh co 2 nghiem phan biet:\nx1 = %f\nx2 = %f", x1, x2);
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Câu 4: Viết chương trình nhập vào: giờ: phút : giây
từ bàn phím; kiểm tra thời gian vừa nhập vào có hợp lệ hay không; nếu hợp lệ cho biết sau đó 15s là thời gian bao nhiêu.
if((h>=0 && h<=23) && (p>=0 && p<=59) && (s>=0 && s<=59)) { printf("%d gio %d phut %d giay hop le",h,p,s);
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">Chương 3
Bài 4: Viết chương trình nhâ bp vào 2 số nguyên a, b từ bàn phím và in ra tất cả các số nguyên tố trong đo愃⌀n [a b]
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Bài 5: Viết chương trình nhâ bp vào 2 số nguyên a và b. Tìm và in ra ước số chung lớn nhất và bô bi số chung nhf nhất của 2 số này
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">void main() {
int traudung, traunam, traugia;
for (traudung = 1; traudung <= 20; traudung++){ for (traunam = 1; traunam <= 33; traunam++){ traugia=100-traudung-traunam;
if ((5 * traudung + 3 * traunam + traugia / 3 == 100) && (traugia % 3 == 0) ){
printf("Trau dung : %d con Trau nam : %d con Trau gia : %d con\n", tr audung, traunam, traugia);
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">Chương 4
Câu 1: Viết chương trình nhập vào một mảng gồm n số nguyên, với n nhập từ bàn phím, tìm và in ra số ngun tố có trong mảng; nếu khơng có thì in ra
for (i=0 ; i<n ; i++) {
printf ("Nhap phan tu thu %d: ", i+1);
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Câu 2: Viết chương trình nhập vào một ma trận m X n các số nguyên, sắp xếp từng hàng của ma trận theo thứ tự tăng dần và in ra.
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Câu 3: Viết chương trình nhập vào một ma trận m X n các số nguyên. Tìm và in ra giá trị lớn nhất trên đường chéo chính của ma trận:
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">Câu 4: Viết chương trình nhập vào một mảng gồm 10 số nguyên, yêu cầu: không cho phép nhập số âm. Sau đó tiến hành sắp xếp mảng theo thứ tự số lẻ
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">Chương 5
Bài 2: Viết chương trình nhập vào một mảng gồm 10 số nguyên. Sau đó copy và lưu các số lẻ (nếu có) trong mảng đã nhập ra một mảng thứ hai. In ra mảng thứ hai vừa copy được
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">Bài 3. Viết chương trình nhập vào n số nguyên, sau đó nhập vào một số X bất kỳ, tìm xem số X này có tồn t愃⌀i trong dãy số vừa nhập không.
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">printf("nhap vao mot so nguyen bat ki\n");
Bài 4: Viết chương trình nhâ bp vào mơ bt mảng 1 chivu gồm n số nguyên và thực hiê bn các yêu cầu:
- Khơng được phép nhâ bp số âm.
- Tìm và in ra số lẻ lớn nhất trong mảng, nếu mảng khơng có số lẻ thì in ra
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">Bài 5: Viết chương trình nhập mảng gồm n phần tử số nguyên, in các phần tử vừa nhập theo thứ tự giảm dần. Nhập tiếp m phần tử số nguyên vào mảng trên, in (n+m) phần tử vừa nhập theo thứ tự giảm dần.
<small>30</small>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">Chương 6
Bài 2: Viết chương trình nhập vào một mảng gồm n số nguyên, tìm và in ra số lớn nhất và số nhf nhất có trong mảng,sử dụng hai hàm sau:
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">printf ("\nso lon nhat la : %d",max); printf ("\nso nho nhat la : %d",min); getch();
Bài 3: Viết hàm thực hiện phép cộng 2 mảng 1 chivu có cùng kích thước. Viết chương trình nhập vào 2 mảng một chivu, in ra mảng là kết quả của phép cộng 2 mảng vừa nhập.
#include <stdio.h> #define N 100
<small>34</small>
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">void nhap(int * , int * , int )a b n
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">printf("Mang sau khi da cong la: "); cong(a,b,n);
getch(); }
Bài 4: Viết hàm tìm số chtn lớn nhất trong mảng 1 chivu gồm n số ngun,nếu khơng có số chtn thì hàm trả vv giá trị -1. Ứng dụng: viết chương trình nhập vào một mảng gồm n số nguyên, tìm và in ra số chtn lớn nhất, nếu khơng có
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">for (int i=0;i<n;i++)
if(max==-1) printf("khong co so chan"); else printf("so chan lon nhat: %d",max);
getch(); }
Bài 5: Viết chương trình nhập vào một mảng gồm n số nguyên, cho biết giá trị và vị trí của số lớn nhất trong mảng. Trong đó xây dựng và sử dụng các hàm
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">nhapmang(a,n); b= timmax(a,n); c= timvitri(a,n);
printf("gia tri lon nhat cua mang la %d\n",b); printf("vi tri gia tri lon nhat cua mang la %d",c);
b. In ra sinh viên có điểm tổng kết thấp nhất.
c. Sắp xếp và in ra danh sách sinh viên đã nhập theo thứ tự tăng dần của điểm
printf("So luong sinh vien: %d",n); printf("\nNhap du lieu cho sinh vien");
<small>39</small>
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">for (i=1;i<=n;i++)
{ printf ( "\nSinh vien thu : %d", i); printf( "\nHo ten: "); fflush(stdin);
SV[i].diemtongket = (SV[i].diemgiuaki + SV[i].diemcuoiki)/2; } printf("\nDiem tb cua danh sach SV" );
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42">Bài 5: T愃⌀o một kiểu cấu trúc để quản lý thiết bị, với các thông tin của mỗi thiết bị cần quản lý là:
-Mã thiết bị (kiểu int) -Tên thiết bị (chuỗi) - Năm sản xuất (kiểu int)
-Tr愃⌀ng thái hiện t愃⌀i (Tắt hay Mở) Viết chương trình thực hiện các công việc sau: a. Nhập thông tin của 10 thiết bị.
b. In ra danh sách các thiết bị đang Mở. Nếu tất cả các thiết bị đvu đang Tắt thì in thơng báo “Tat ca thiet bi da Tat”.
c. Tìm và in ra danh sách các thiết bị được sản xuất từ năm 2018 trở vv trước. d. Cho phép người dùng tìm kiếm thơng tin của một thiết bị nào đó bằng cách nhập vào mã thiết bị để tìm kiếm. Nếu tìm thấy thì in thơng tin của thiết bị đã tìm thầy, nếu khơng tìm thấy thì in thơng báo “Khong tim thay”.
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43">int i, n=10;
printf("So luong thiet bi la: %d",n); printf(" \nNhap thong tin cac thiet bi \n"); for (i=1;i<=n;i++)
printf(" Nhap thong tin thiet bi thu %d :\n", i); printf(" Nhap ma thiet bi: ");
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44">if(dem1 < 1) printf("Khong co thiet bi san xuat truoc nam 2018"); printf("Nhap ma thiet bi can tim: "); int Ma, dem3=0;
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45">Bài 7: T愃⌀o cấu trúc để quản lý danh b愃⌀ điện tho愃⌀i với các nội dung: - Họ tên
- Số điện tho愃⌀i -Địa chỉ
Viết chương trình quản lý danh b愃⌀ điện tho愃⌀i với các chức năng sau: a. In ra menu lựa chọn với các tủy chọn:
Nhập số 1: Thêm tên vào danh b愃⌀ Nhập số 2: Tìm theo số điện tho愃⌀i nhập vào Nhập số 3: Thốt chương trình
b. Chương trình sẽ xử lý theo lựa chọn của người dùng sau khi nhập số tương ứng với menu chức năng, trong đó khi xử lý chức năng Thêm tên, danh b愃⌀ lưu được tối đa 40 số
printf(" Nhap thong tin thiet bi thu %d :\n", i); printf(" Nhap ma thiet bi: ");
<small>45</small>
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">printf("Thiet bi thu %d:\n",i+1); printf("Ma thiet bi: %d\n", tb->MaTB); printf("Ten thiet bi: "); puts(tb->TenTB); printf("Nam san xuat: %d\n", tb->NamSX); printf("Trang thai thiet bi: %d", tb->Trangthai);
</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48">printf("\nNhap ma thiet bi can tim: "); scanf("%d", &Ma); for (int i=1; i<=n; i++)
tb[i] = (ThietBi *) calloc (1, sizeof(ThietBi)); printf(" \nNhap thong tin cac thiet bi \n");
</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49">Viết chương trình nhâ bp dữ liê bu cho 10 sinh viên và thực hiê bn các yêu cầu sau: - In ra danh sách sinh viên đâ b u, sinh viên đâ bu là sinh viên có điểm tổng kết >= 5 và điểm giữa kỳ khác 0. ---In ra sinh viên có điểm tổng kết thấp nhất.
-Sắp xếp và in ra danh sách sinh viên đã nhâ b p theo thứ tự tăng dần của điểm
</div><span class="text_page_counter">Trang 54</span><div class="page_container" data-page="54">+ nhap( ): dùng để nhập dữ liệu đối tượng’
+ xuat( ): dùng để in thơng tin của đối tượng ra màn hình Viết chương trình:
-Nhập dữ liệu của n sinh viên
-In ra sinh viên có điểm tổng kết thấp nhất.
- Sắp xếp và in ra danh sách sinh viên đã nhập theo thứ tự tăng
</div><span class="text_page_counter">Trang 55</span><div class="page_container" data-page="55">friend sinhvien nhapdanhsach( sinhvien *p, int n); friend sinhvien indanhsach(sinhvien *p,int n); friend sinhvien svdiemthap(sinhvien *p,int n); friend sinhvien sapxep(sinhvien *p,int n);
</div><span class="text_page_counter">Trang 57</span><div class="page_container" data-page="57">cout<<"Danh sach sau khi sap xep:\n "; //sap xep theo thu tu tang dan
</div><span class="text_page_counter">Trang 58</span><div class="page_container" data-page="58">friend sinhvien nhapdanhsach( sinhvien *p, int n); friend sinhvien indanhsach(sinhvien *p,int n); friend sinhvien svdiemthap(sinhvien *p,int n); friend sinhvien sapxep(sinhvien *p,int n);
</div><span class="text_page_counter">Trang 61</span><div class="page_container" data-page="61">cout<<"Danh sach sau khi sap xep:\n "; //sap xep theo thu tu tang dan
</div><span class="text_page_counter">Trang 62</span><div class="page_container" data-page="62">friend float hieu (phanso a,phanso b); friend float tich(phanso a, phanso b);
</div><span class="text_page_counter">Trang 63</span><div class="page_container" data-page="63">cout<<"tong 2 phan so: "<<tong(a,b)<<endl; cout<<"hieu 2 phan so: "<<hieu(a,b)<<endl; cout<<"tich 2 phan so: "<<tich(a,b)<<endl; }
Câu 4:Xây dựng lớp DANHBA để quản lí thơng tin một số điện tho愃⌀i với các thuộc tinh và phương thức sau:
-Thuộc tinh:
+ Họ và tên: lưu thông tin họ và tên.
+Số điện tho愃⌀i: lưu thông tin số điện tho愃⌀i’ +Địa chỉ: lưu email hoặc địa chỉ
+Visible: để cho biết số điện tho愃⌀i này có tồn t愃⌀i hay khơng tồn t愃⌀i +Check: để đanh dấu l愃⌀i số điện tho愃⌀i
-Phương thức:
+Nhập: nhập thông tin họ tên, số điện tho愃⌀i, địa chỉ +Xuất : xuất các thơng tin trên.
+ Xóa: xóa các số điện tho愃⌀i đi
Viết một chương trinh thực hiện các công việc sau: -In ra menu cọn sau:
1. Thêm một số điện tho愃⌀i mới vào danh b愃⌀
2.In: xuất ra thông tin các số điện tho愃⌀i có trong danh b愃⌀ <small>63</small>
</div><span class="text_page_counter">Trang 64</span><div class="page_container" data-page="64">3.Tìm kiếm: tìm kiếm một số điện tho愃⌀i có trong danh b愃⌀. 4.Thoát: thoát ra khfi chương trinh.
</div><span class="text_page_counter">Trang 65</span><div class="page_container" data-page="65">cout<<"Danh dau dien thoai thi bam phim 1: "; cin>>check;}
void DANHBA::xuat(){
cout<<"Ho va ten: "<<hoten<<endl; cout <<"So dien thoai: "<<sdt<<endl; cout<<"Dia chi: "<<diachi<<endl; char m[30] ;
char k[15];
if (strcmp(hoten,m)==0&&strcmp(sdt,k)==0&&strcmp(diachi,m)==0) visible='0';
if(visible='1') cout<<"Trang thai cua so dien thoai: ton tai\n "; else cout<<"Trang thai cua so dien thoai:khong ton tai\n "; if(check='1') cout<<"so dien thoai duoc danh dau:\n "; else cout<<"so dien thoai chua duoc danh dau:\n ";
</div><span class="text_page_counter">Trang 66</span><div class="page_container" data-page="66">cout<<"\n1: nhap them mot so dien thoai.";
cout<<"\n2: xuat ra tat ca cac so dien thoai trong danh ba."; cout<<"\n3: tim kiem mot so dien thoai bat ki.";
cout<<"\n4: Thoat khoi chuong trinh.\n"; <small>66</small>
</div>