Demo assignment hôm nay ngày 5-1-2011
2 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
Demo assignment hôm nay ngày 5-1-2011
Thầy mất 30 phút để chụp lại ko cho ae ta copy paste thì ta mất 15 phút để cv lại
+ rep nhiệt tình nhé ace
- Code:
#include<stdio.h>
#include<string.h>
typedef struct{
char rollNo[7];
char fullName[30];
int birthYear;
char address[100];
}student;
int menu();
student nhapSV();
void showLine();
void showHeader();
void hienthiDanhSachSV(student *list, int n);
int ghiFile(char *fileName,student *list, int n);
int docFile(char *fileName,student *list);
int tkSV(student *list, int n,char *maSV);
int suaSV(student *list, int n,char *maSV);
int xoaSV(student *list, int n,char *maSV);
void sapXep(student *list, int n);
main()
{
int choise,count=0,i;
char tenFile[81]=" Student list.dat";
char maSV[7];
student list[100];
count=docFile(tenFile,list);
do
{
choise=menu();
switch(choise)
{
case 1:
list[count++]=nhapSV();
break;
case 2:
{
fflush(stdin);
printf("Nhap Ma Sinh Vien Muon Sua:");
gets(maSV);
if (suaSV(list,count,maSV))
printf("Sua Thanh Cong!");
else
printf("Khong Tim Thay Ma Sinh Vien!");
}
break;
case 3:
hienthiDanhSachSV(list,count);
break;
case 4:
break;
case 5:
fflush(stdin);
printf("Nhap Vao Ma Sinh Vien Muon Sua:");
gets(maSV);
if (xoaSV(list,count,maSV))
{
printf("Xoa Thanh Cong!");
count--;
}
else
printf("Khong Tim Thay Ma Sinh Vien!");
break;
case 6:
sapXep(list,count);
break;
}
}while (choise!=7);
ghiFile(tenFile,list,count);
fflush(stdin);
getchar();
}
int menu()
{
int choice, i;
char str[81] = "";
for(i=0; i<50; i++) str[i] = '-';
printf("\n\n+-%-50s-+\n", str);
printf("| %-50s |\n", " MENU ");
printf("+-%-50s-+\n", str);
printf("| %-50s |\n", "1. Them Sinh Vien.");
printf("| %-50s |\n", "2. Sua Sinh Vien theo ma Sinh Vien.");
printf("| %-50s |\n", "3. Hien Thi Danh Sach Sinh Vien.");
printf("| %-50s |\n", "4. Tim Kiem Theo Ten Sinh Vien.");
printf("| %-50s |\n", "5. Xoa Sinh Vien Theo Ma Sinh Vien.");
printf("| %-50s |\n", "6. Sap Xep Theo Ten Sinh Vien.");
printf("| %-50s |\n", "7. Thoat Chuong Trinh.");
printf("+-%-50s-+\n", str);
printf(" Moi ban chon: ");
while(1)
{
fflush(stdin);
scanf("%d", &choice);
if(choice<1 || choice>7)
printf("Nhap sai, Ban hay nhap lai: ");
else
break;
}
return choice;
}
student nhapSV()
{
student s;
fflush(stdin);
printf("rollNo:");
gets(s.rollNo);
printf("Full Name:");
gets(s.fullName);
printf(" Birth Year:");
scanf("%d", &s.birthYear);
fflush(stdin);
printf("Address:");
gets(s.address);
return s;
}
void showList(student s)
{
printf("| %-6s | %-25s | %-4d | %-30s |\n", s.rollNo, s.fullName, s.birthYear, s.address);
}
void showLine()
{
int i;
char fullName[26] = "-------------------------";
char address[31] = "------------------------------";
printf("+-%-6s-+-%-25s-+-%-4s-+-%-30s-+\n", "------", fullName, "----", address);
}
void showHeader()
{
showLine();
printf("| %-6s | %-25s | %-4s | %-30s |\n", "RollNo", " Full Name", "Year", " Address");
showLine();
}
void hienthiDanhSachSV(student *list, int n)
{
int i;
showHeader();
for (i=0;i<n;i++)
printf("| %-6s | %-25s | %-4s | %-30s |\n", list[i].rollNo, list[i].fullName,list[i].birthYear,list[i].address);
showLine();
}
int ghiFile(char *fileName,student *list,int n)
{
FILE *f;
f=fopen(fileName,"wb");
if (f==NULL)
return 0;
fwrite(&n,1,sizeof(int),f);
fwrite(list,n,sizeof(student),f);
fclose(f);
}
int docFile(char *fileName,student *list)
{
FILE *f;
int m;
f=fopen(fileName,"rb");
if (f==NULL)
return 0;
fread(&m,1,sizeof(int),f);
fwrite(list,m,sizeof(student),f);
fclose(f);
return m;
}
int suaSV(student *list,int n,char *maSV)
{
int vt=tkSV(list, n, maSV);
if (vt==-1)
return 0;
fflush(stdin);
printf("Ten Sinh Vien:");
gets(list[vt].fullName);
printf("Nam Sinh:");
scanf("%d", &list[vt].birthYear);
fflush(stdin);
printf("Dia Chi:");
gets(list[vt].address);
return 1;
}
int tkSV(student *list,int n,char *maSV)
{
int i;
for (i=0;i<n;i++)
if(strcmp(list[i].rollNo,maSV)==0)
return i;
return -1;
}
int xoaSV(student *list,int n,char *maSV)
{
int i;
int vt=tkSV(list, n, maSV);
if (vt==-1)
return 0;
for (i=vt; i<n-1;i++)
list[i]=list[i+1];
return 1;
}
void sapXep(student *list,int n)
{
int i,j;
student temp;
for (i=0;i<n-1;i++)
{
for (j=i+1; j<n;j++)
{
if (strcmp(list[i].fullName,list[j].fullName)>0)
{
temp=list[i];
list[i]=list[j];
list[j]=temp;
}
}
}
}
+ rep nhiệt tình nhé ace
Re: Demo assignment hôm nay ngày 5-1-2011
anh chi oi bao gium e de 2 voi
nguyenbichphuong- Thành viên mới gia nhập
- Tổng số bài gửi : 10
Ngày tham gia : 05/01/2011
Tuổi : 31
Đến từ : bavi_hn
Similar topics
» Giới Thiệu Đến Các Bạn demo Bài Assignment 3 nè
» Đáp án Assignment từ đề 1 đến đề 3
» Đã xong Assignment số 3
» Đây là ví dụ vê menu trong Assignment nè
» Những ai làm Assignment 3 Vào đây thảo luận nào
» Đáp án Assignment từ đề 1 đến đề 3
» Đã xong Assignment số 3
» Đây là ví dụ vê menu trong Assignment nè
» Những ai làm Assignment 3 Vào đây thảo luận nào
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