Đáp án Assignment từ đề 1 đến đề 3
3 posters
Diễn Đàn Thảo Luận Máy Tính :: Thảo luận chung về chương trình học tại FPT - APTECH :: Programming in C
Trang 1 trong tổng số 1 trang
Theo bạn có nên để Public hay Private những code này hay không???
Đáp án Assignment từ đề 1 đến đề 3
Sau khi đã làm xong và nộp thầy... chúng ta có thể post thành quả lên đây cho ae nào phải thi lại môn này theo dõi nhé
Đầu tiên là tui với đề 2 (sau khi pó tay với đề 1 - Thẻ ATM, nếu có thắc mắc j về đề 1 này, PM mod Ainq_c00498)
Đề 2 là làm thế nào để lập 1 danh sách quản lý đĩa CD (cái này là test thôi, ae xem có j fix lại cho chuẩn nhé)
đề nghị 2 Mod học tập post bài làm của đề mình vào đây nhé
thks vì đã đọc
Đầu tiên là tui với đề 2 (sau khi pó tay với đề 1 - Thẻ ATM, nếu có thắc mắc j về đề 1 này, PM mod Ainq_c00498)
Đề 2 là làm thế nào để lập 1 danh sách quản lý đĩa CD (cái này là test thôi, ae xem có j fix lại cho chuẩn nhé)
- Code:
//Quan ly danh sach CD
//Hecho por TidusAnhTu
#include
#include
#include
typedef struct{
char tendia[20];
int madia;
char casi[20];
char loainhac[20];
}dia;
void show(dia *list, int n);
int menu();
dia themcd();
void sapxep(dia *list, int n);
void timloaicd(dia *list, int n, char *luachon);
void timtheoten(dia *list, int n, char *luachon);
int timcd(dia *list, int n, char *tendia);
int suacd(dia *list, int n, char *tendia);
void showLine();
void showHeader();
int docFile(char *tenFile, dia *list);
int ghiFile(char *tenFile, dia *list, int n);
main()
{
int chon,i,madia,n=0;
char luachon[20];
char tendia[20],casi[20],loainhac[15];
char tenFile[100]="Quan ly danh sach CD.dat";
char str[81] = "";
for(i=0; i<70; i++) str[i] = '-';
dia list[25000];
n=docFile(tenFile, list);
do
{
chon=menu();
switch(chon)
{
case 1:
printf("\n -------------------------------\n");
printf("\n Nhap so luong dia ban muon them list: ");
scanf("%d",&n);
printf("\n -------------------------------\n");
for(i=0; i
{
printf("\n Nhap dia thu %d:\n", i+1);
list[i]=themcd();
}
printf("+-%-70s-+\n", str);
printf("| %-70s |\n"," Them dia thanh cong!");
printf("+-%-70s-+\n", str);
ghiFile(tenFile, list, n);
break;
case 2:
showHeader();
show(list, n);
showLine();
break;
case 3:
printf("\n Chon loai dia CD: ");
fflush(stdin);
gets(luachon);
showHeader();
timloaicd(list, n ,luachon);
showLine();
break;
case 4:
printf("\n Chon ten dia CD: ");
fflush(stdin);
gets(luachon);
showHeader();
timtheoten(list, n, luachon);
showLine();
break;
case 5:
{
fflush(stdin);
printf("\n Nhap ten dia muon sua: ");
gets(tendia);
if(suacd(list, n, tendia))
printf("Sua thanh cong!");
else
printf("Khong tim thay CD!");
}
break;
case 6:
sapxep(list, n);
showHeader();
show(list, n);
showLine();
break;
}
}while(chon!=7);
printf("\n *********************************\n");
printf("\n Ban chon thoat khoi chuong trinh!\n");
printf("\n *********************************\n");
ghiFile(tenFile, list, n);
fflush(stdin);
getchar();
}
int menu()
{
int choice, i;
char str[81] = "";
for(i=0; i<70; i++) str[i] = '-';
printf("\n\n+-%-70s-+\n", str);
printf("| %-70s |\n"," CHUONG TRINH QUAN LY DIA CD");
printf("+-%-70s-+\n", str);
printf("| %-70s |\n"," 1. Them dia CD");
printf("| %-70s |\n"," 2. Hien thi danh sach dia CD");
printf("| %-70s |\n"," 3. Hien thi danh sach dia CD theo loai");
printf("| %-70s |\n"," 4. Tim thong tin cua mot dia CD thong qua ten dia");
printf("| %-70s |\n"," 5. Sua thong tin cua mot dia CD thong qua ten dia");
printf("| %-70s |\n"," 6. Sap xep dia CD theo vi tri va hien thi danh sach da duoc sap xep");
printf("| %-70s |\n"," 7. Thoat (exit)");
printf("+-%-70s-+\n", str);
do
{
printf("\n Chon: ");
scanf("%d",&choice);
if(choice<1||choice>7)
{
printf("+-%-70s-+\n", str);
printf("| %-70s |\n"," Khong hieu lenh nhap cua ban, hay nhap lai theo danh sach tu 1 - 7!");
printf("+-%-70s-+\n", str);
}
} while(choice<1||choice>7);
return choice;
}
void showLine()
{
int madia;
char tendia[17]="----------------";
char casi[26]="------------------------";
char loainhac[21]="--------------------";
printf("+-%-6s-+-%-16s-+-%-24s-+-%-20s-+\n", "------", tendia, casi , loainhac);
}
void showHeader()
{
showLine();
printf("| %-6s | %-16s | %-24s | %-20s |\n", "Ma dia", " Ten dia", " Ca si", " Loai nhac");
showLine();
}
dia themcd()
{
dia d;
printf("\n\t -Ma dia: ");
scanf("%d",&d.madia);
fflush(stdin);
printf("\n\t -Ten dia: ");
fflush(stdin);
gets(d.tendia);
printf("\n\t -Ca si: ");
gets(d.casi);
printf("\n\t -Loai nhac: ");
gets(d.loainhac);
return d;
}
void show(dia *list, int n)
{
int i;
for(i=0;i
printf("| %-6d | %-16s | %-24s | %-20s |\n", list[i].madia, list[i].tendia, list[i].casi, list[i].loainhac);
}
int ghiFile(char *tenFile, dia *list, int n)
{
FILE *f;
f=fopen(tenFile,"wb");
if(f==NULL)
return 0;
fwrite(&n, 1, sizeof(int), f);
fwrite(list, n, sizeof(dia), f);
fclose(f);
return n;
}
int docFile(char *tenFile, dia *list)
{
FILE *f;
int m;
f=fopen(tenFile,"rb");
if (f==NULL)
return 0;
fread(&m, 1, sizeof(int), f);
fread(list, m, sizeof(dia), f);
fclose(f);
return m;
}
void sapxep(dia *list, int n)
{
int i,j;
dia temp;
for (i=0;i
{
for (j=i+1; j
{
if (strcmp(list[i].tendia,list[j].tendia)>0)
{
temp=list[i];
list[i]=list[j];
list[j]=temp;
}
}
}
}
int suacd(dia *list,int n,char *tendia)
{
char td[20],ld[20],cas[20],stendia[20],tam[20];
int vitri=timcd(list, n, tendia);
if (vitri==-1)
return 0;
fflush(stdin);
printf("\n Nhap ten dia moi: ");
gets(list[vitri].tendia);
printf("\n Nhap ca si: ");
gets(list[vitri].casi);
printf("\n Nhap loai nhac: ");
gets(list[vitri].loainhac);
printf("\n Sua dia thanh cong!");
return 1;
}
int timcd(dia *list, int n, char *tendia)
{
int i;
for (i=0;i
if(strcmp(list[i].tendia, tendia)==0)
return i;
return -1;
}
void timtheoten(dia *list, int n, char *luachon)
{
int i;
for(i=0;i
{
if(strcmp(luachon,list[i].tendia)==0)
printf("| %-6d | %-16s | %-24s | %-20s |\n", list[i].madia, list[i].tendia, list[i].casi, list[i].loainhac);
}
}
void timloaicd(dia *list, int n, char *luachon)
{
int i;
for(i=0; i
{
if (strcmp(list[i].loainhac, luachon)==0)
printf("| %-6d | %-16s | %-24s | %-20s |\n", list[i].madia, list[i].tendia, list[i].casi, list[i].loainhac);
}
}
đề nghị 2 Mod học tập post bài làm của đề mình vào đây nhé
thks vì đã đọc
TidusAnhTu- Thành viên cấp 2
- Tổng số bài gửi : 144
Ngày tham gia : 05/12/2010
Tuổi : 34
Đến từ : Hà Nội Ciudad
Thành viên FAT3-T1010I
HP:
(50/50)
MP:
(50/50)
Quyền hạn: Trọng tài
Re: Đáp án Assignment từ đề 1 đến đề 3
- Code:
/*Chuong trinh quan ly dia danh sach dia CD*/
#include<stdio.h>
#include<string.h>
typedef struct{
int madia;
char tendia[20];
char casi[30];
char loainhac[10];
}quanlyCD;
int menu();
int ghiFile(char *fileName,quanlyCD *list, int n);
int docFile(char *fileName,quanlyCD *list);
quanlyCD themdia();
void hienthiCD(quanlyCD *list, int n);
void showLine();
void showHeader();
int suaDia(quanlyCD *list,int n,char *tenDia);
int tkDia(quanlyCD *list,int n,char *tenDia);
void sapXepCD(quanlyCD *list,int n);
int tktheoLoainhac(quanlyCD *list,int n,char *loaiNhac);
main()
{
int choice,count=0,i;
char tenFile[81]="CD list.dat";
char tenDia[20];
char loaiNhac[10];
int vtHienthi;
quanlyCD list[100];
count=docFile(tenFile,list);
do
{
choice=menu();
switch(choice)
{
case 1:
list[count++]=themdia();
break;
case 2:
hienthiCD(list, count);
break;
case 3:
fflush(stdin);
printf("\nNhap loai nhac muon hien thi: ");
gets(loaiNhac);
vtHienthi = tktheoLoainhac(list,count,loaiNhac);
if(vtHienthi==-1)
{
printf("\nKhong tim thay loai nhac nao phu hop.");
}
else
{
showHeader();
printf("| %-6d | %-20s | %-30s | %-10s |\n", list[vtHienthi].madia, list[vtHienthi].tendia,list[vtHienthi].casi,list[vtHienthi].loainhac);
showLine();
}
break;
case 4:
fflush(stdin);
printf("\nNhap ten dia muon tim: ");
gets(tenDia);
vtHienthi = tkDia(list,count,tenDia);
if(vtHienthi==-1)
{
printf("\nKhong tim thay ten dia nao phu hop.");
}
else
{
showHeader();
printf("| %-6d | %-20s | %-30s | %-10s |\n", list[vtHienthi].madia, list[vtHienthi].tendia,list[vtHienthi].casi,list[vtHienthi].loainhac);
showLine();
}
break;
case 5:
{
fflush(stdin);
printf("Nhap ten dia muon sua:");
gets(tenDia);
if (suaDia(list,count,tenDia))
printf("Sua Thanh Cong!");
else
printf("Khong tim thay dia muon sua!");
}
break;
case 6:
sapXepCD(list,count);
hienthiCD(list,count);
break;
}
}while (choice!=7);
ghiFile(tenFile,list,count);
fflush(stdin);
getchar();
}
int menu()
{
int choice, i;
char str[81] = "";
for(i=0; i<70; i++) str[i] = '-';
printf("\n\n+-%-70s-+\n", str);
printf("| %-70s |\n", " CHUONG TRINH QUAN LY SO DIA CD ");
printf("+-%-70s-+\n", str);
printf("| %-70s |\n", "1. Them dia CD.");
printf("| %-70s |\n", "2. Hien thi danh sach dia CD.");
printf("| %-70s |\n", "3. Hien thi danh sach dia CD theo loai .");
printf("| %-70s |\n", "4. Tim thong tin cua mot dia CD thong qua ten dia.");
printf("| %-70s |\n", "5. Sua thong tin cua mot dia.");
printf("| %-70s |\n", "6. Sap xep dia CD theo vi tri va hien thi danh sach da duoc sap xep.");
printf("| %-70s |\n", "7. Thoat.");
printf("+-%-70s-+\n", str);
printf("Chon: ");
while(1)
{
fflush(stdin);
scanf("%d", &choice);
if(choice<1 || choice>7)
printf("Nhap sai, Ban hay nhap lai: ");
else
break;
}
return choice;
}
quanlyCD themdia()
{
quanlyCD q;
printf("Ma dia: ");
scanf("%d", &q.madia);
printf("Ten dia: ");
fflush(stdin);
gets(q.tendia);
printf("Ca si: ");
fflush(stdin);
gets(q.casi);
fflush(stdin);
printf("Loai nhac: ");
gets(q.loainhac);
return q;
}
int ghiFile(char *fileName,quanlyCD *list,int n)
{
FILE *f;
f=fopen(fileName,"wb");
if (f==NULL)
return 0;
fwrite(&n,1,sizeof(int),f);
fwrite(list,n,sizeof(quanlyCD),f);
fclose(f);
}
int docFile(char *fileName,quanlyCD *list)
{
FILE *f;
int m;
f=fopen(fileName,"rb");
if (f==NULL)
return 0;
fread(&m,1,sizeof(int),f);
fread(list,m,sizeof(quanlyCD),f);
fclose(f);
return m;
}
void hienthiCD(quanlyCD *list, int n)
{
int i;
showHeader();
for (i=0;i<n;i++)
printf("| %-6d | %-20s | %-30s | %-10s |\n", list[i].madia, list[i].tendia,list[i].casi,list[i].loainhac);
showLine();
}
void showLine()
{
int i;
char a[21] = "--------------------";
char b[31] = "------------------------------";
char c[11] = "----------";
printf("+-%-6s-+-%-20s-+-%-30s-+-%-10s-+\n", "------", a, b, c);
}
void showHeader()
{
showLine();
printf("| %-6s | %-20s | %-30s | %-10s |\n", "Ma dia", "Ten dia", "Ca si", "Loai nhac");
showLine();
}
int suaDia(quanlyCD *list,int n,char *tenDia)
{
int vt=tkDia(list, n, tenDia);
if (vt==-1)
return 0;
printf("Ma dia: ");
scanf("%d", &list[vt].madia);
printf("Ca si: ");
fflush(stdin);
gets(list[vt].casi);
fflush(stdin);
printf("Loai nhac: ");
gets(list[vt].loainhac);
return 1;
}
int tkDia(quanlyCD *list,int n,char *tenDia)
{
int i;
for (i=0;i<n;i++)
if(strcmp(list[i].tendia,tenDia)==0)
return i;
return -1;
}
void sapXepCD(quanlyCD *list,int n)
{
int i,j;
quanlyCD temp;
for (i=0;i<n-1;i++)
{
for (j=i+1; j<n;j++)
{
if (list[i].madia > list[j].madia)
{
temp=list[i];
list[i]=list[j];
list[j]=temp;
}
}
}
}
int tktheoLoainhac(quanlyCD *list,int n,char *loaiNhac)
{
int i;
for (i=0;i<n;i++)
if(strcmp(list[i].loainhac,loaiNhac)==0)
return i;
return -1;
}
Là bố con với bài Demo của thầy này!!!
AiNq_C00498- Mod
- Tổng số bài gửi : 69
Ngày tham gia : 11/12/2010
Tuổi : 40
Đến từ : XM
Re: Đáp án Assignment từ đề 1 đến đề 3
Các anh giúp e viết code và vẽ lưu đồ bài 1 với!!!Bài ATM ý khó lắm!!!Cảm ơn các pro trước;
viennv170993- Thành viên mới gia nhập
- Tổng số bài gửi : 1
Ngày tham gia : 13/09/2011
Tuổi : 30
Đến từ : Thai Binh
Similar topics
» Đã xong Assignment số 3
» Đây là ví dụ vê menu trong Assignment nè
» Giới Thiệu Đến Các Bạn demo Bài Assignment 3 nè
» Những ai làm Assignment 3 Vào đây thảo luận nào
» Demo assignment hôm nay ngày 5-1-2011
» Đây là ví dụ vê menu trong Assignment nè
» Giới Thiệu Đến Các Bạn demo Bài Assignment 3 nè
» Những ai làm Assignment 3 Vào đây thảo luận nào
» Demo assignment hôm nay ngày 5-1-2011
Diễn Đàn Thảo Luận Máy Tính :: Thảo luận chung về chương trình học tại FPT - APTECH :: Programming in C
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
Sun Feb 16, 2014 3:23 pm by Admin
» Tải game APO Snow cho android
Tue Dec 17, 2013 10:17 am by ducls1102
» Bài hát cho những người lính
Tue Aug 13, 2013 11:20 am by Admin
» Nhạc hay của tui :(
Fri May 04, 2012 10:44 pm by Admin
» Tìm lại giây phút yên bình của ngày hôm qua
Mon Apr 09, 2012 1:09 am by Admin
» PHIÊN BẢN MỚI CHO THIÊN ĐƯỜNG CÁ Ô LA LA !!!
Wed Mar 07, 2012 3:40 pm by nikitait
» Đáp án Assignment từ đề 1 đến đề 3
Tue Sep 13, 2011 1:13 pm by viennv170993
» Aloooooooooooooooooooooooooooooooooooo
Sat Jun 04, 2011 2:21 pm by shanshiaro
» Tro Lai Cua 1 Mod
Sat Jun 04, 2011 2:21 pm by shanshiaro