c语言图书管理系统源代码
更新时间:2024-01-08 21:02:01 阅读量: 教育文库 文档下载
课程设计
//******************************************* //图书管理系统v1.0 作者:何星霖 //2016年1月5日
//******************************************* //头文件
#include
//*********************************************** //结构体
//*********************************************** //时间
typedef struct t { int year; int month; int day; }TIME;
//图书信息
typedef struct book { char no[5]; char name[31]; char author[21]; char publish[25]; char sort[21]; char publish_date[14]; char ISBN[18]; TIME wareroom_date; int jude_borrow; int number_sum; int number_now; float price; char content[201]; struct book * pnext; struct book * pup; }BOOK; //学生信息
typedef struct student_ifo { char name[17];
第 1 页
课程设计
char no[12]; char sex[3]; char ciphercode[17]; float payment; int borrow; struct student_ifo *pnext; struct student_ifo *pup; }STUDENT;
//图书借阅信息 typedef struct libray { char book_no[5]; char student_no[12]; TIME borrow_time; TIME later_time; int judge;//书已还为1,未还为0 struct libray *pnext; }LIBRAY;
//还书信息记录
typedef struct return_ifo { char book_no[5]; char student_no[12]; int days; TIME borrow_time; TIME time; struct return_ifo * pnext; }RETURN;
//学号,编号保存 typedef struct no { char no1[12]; LIBRAY * libray_p; RETURN * return_p; struct no *pnext; }NO; //短消息
typedef struct message { char send_no[12]; char receive_no[12]; char content[201]; TIME send_time; int jude_read;
第 2 页
课程设计
struct message *pnext; struct message *pup; }MESSAGE;
//***************************************
//函数原型声明
//************************************************ //***************************************
//主要函数
//************************************************ void welcome(); int feature(int); int login(int); void exit1(int); int regist(); void load(int); void load1(int);
void admin_student_look(); void admin_student_search(); void admin_student_alter(); void admin_student_delete(); void admin_book_look(); void admin_book_add(); void admin_book_alter(); void admin_book_search(); void admin_book_delete(); void admin_book_borrow(); void admin_book_return(); void admin_book_borrow_s(); void admin_book_return_s(); void admin_message_receive(); void admin_message_send(); void admin_message_all_send(); void admin_message_delete(); void admin_sys_code(); void admin_sys_file(); void user_ifo_borrow(); void user_ifo_look(); void user_ifo_alter(); void user_book_look(); void user_book_search(); void user_book_borrow(); void user_book_return();
第 3 页
课程设计
void user_book_borrow(); void user_message_receive(); void user_message_send(); void user_message_delete();
//***************************************
//辅助函数
//************************************************ int menu(int); int menu11(); int menu12(); int menu13(); int menu14(); int menu15(); int menu21(); int menu22(); int menu23(); int loginmenu();
STUDENT* student_search(char*,int); BOOK * book_no_search(char*); void book_search(char*,int);
void book_borrow(char*,BOOK*); void all_book_look();
void book_search_menu(); LIBRAY* libray_search(char*); void libray_ifo_search(char*,int); void return_ifo_search(char*,int); void book_prn(BOOK*,int); void save(int);
//*************************************** //功能函数
//************************************************ void pause(int); void cls(int); void clear(int);
void code_change(int); int check(char*,int,int); void time_now();
void sum_later_day(LIBRAY*); int sum_money(RETURN*); int check_message(char*);
void color(const unsigned short);
//********************************************* //全局变量
//*********************************************
第 4 页
课程设计
BOOK *book_phead,*book_pend;
STUDENT *student_phead,*student_pend; STUDENT *user_student; LIBRAY *libray_phead;
MESSAGE *message_phead,*message_pend; RETURN *return_phead; NO *no_phead;
char *admin_no={\int year,month,day;
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE); //********************************************* //图书库管理模块
//********************************************* //111图书库总浏览 void admin_book_look() { cls(1);
printf(\?图书库总浏览?\\n\\n\BOOK *q=book_phead->pnext; if(q==NULL) { color(12);
printf(\◆图书库里没有图书◆\\n\\n\ color(9); } else all_book_look(); pause(1); }
//112添加新书
void admin_book_add() { cls(1); printf(\?添加新书?\\n\\n\ BOOK *book_pnew; book_pnew=(BOOK*)malloc(sizeof(BOOK)); while(1) { fflush(stdin); printf(\●编号(4位如0001):\ gets(book_pnew->no); if(check(book_pnew->no,4,4)) break; }
第 5 页
课程设计
if((book_no_search(book_pnew->no))==NULL) { while(1) { fflush(stdin);
printf(\●书名(无空格,最长30字节):\ gets(book_pnew->name); if(check(book_pnew->name,1,30)) break; }
while(1) { fflush(stdin);
printf(\●作者名(无空格,最长20字节):\ gets(book_pnew->author); if(check(book_pnew->author,1,20)) break; }
while(1) { fflush(stdin); printf(\●出版社(无空格,最长24字节):\ gets(book_pnew->publish); if(check(book_pnew->publish,1,24)) break; }
while(1) { fflush(stdin); printf(\●类别(无空格,最长20字节):\ gets(book_pnew->sort); if(check(book_pnew->sort,1,20)) break; }
while(1) { fflush(stdin); printf(\●出版时间(格式:2015/02第1版,最长13字节):\ gets(book_pnew->publish_date); if(check(book_pnew->publish_date,12,13)) break; }
while(1) {
第 6 页
课程设计
fflush(stdin);
printf(\●ISBN(标准ISBN,最长17字节):\ gets(book_pnew->ISBN); if(check(book_pnew->ISBN,13,17)) break; }
while(1) { fflush(stdin);
printf(\●入库数量:\fflush(stdin);
scanf(\if(book_pnew->number_sum>0) break; else { color(12);
printf(\入库数量应该大于0,请重新输入\\n\\n\ color(9); } }
while(1) { printf(\●价格:\ fflush(stdin); scanf(\ if(book_pnew->price>=0) break; else { color(12); printf(\◆价格是非负数,请重新输入◆\\n\\n\ color(9); } }
while(1) { fflush(stdin); printf(\●简介((没有简介则输入无)无空格,最长200字节):\\n\ gets(book_pnew->content); if(check(book_pnew->content,1,200)) break; }
while(1)
第 7 页
课程设计
}
{ fflush(stdin); printf(\●是否可以借出(是按1,否按0):\ scanf(\ if(book_pnew->jude_borrow==0||book_pnew->jude_borrow==1) break; color(12); printf(\◆未知指令??请输入正确的指令◆\\n\\n\ color(9); } book_pnew->number_now=book_pnew->number_sum; book_pnew->wareroom_date.year=year; book_pnew->wareroom_date.month=month; book_pnew->wareroom_date.day=day; book_pnew->jude_borrow=1; book_phead->pnext->pup=book_pnew; book_pnew->pnext=book_phead->pnext; book_pnew->pup=book_phead; book_phead->pnext=book_pnew; cls(1); color(12); printf(\◆添加成功◆\\n\\n\ color(9); printf(\◆请确认信息是否正确?如有错误,返回后到进入修改连接进行修改\\n\\n\ book_prn(book_pnew,1); } else { color(12); printf(\◆你要添加的书已经存在◆\\n\\n\ color(9); free(book_pnew); }
pause(1);
//113图书信息修改 void admin_book_alter() { int n,i,number; float price; char p[202]; BOOK *q; cls(1); printf(\?图书信息修改?\\n\\n\
第 8 页
课程设计
printf(\●输入要修改图书的原始编号(如:0001):\fflush(stdin); scanf(\
q=book_no_search(p); if(q==NULL) { color(12); printf(\◆数据库里没有相关数据,查询无果◆\\n\\n\ color(9); } else {
printf(\?该书的原始信息为:\\n\book_prn(q,1); color(0);
printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\printf(\┃ 1│◎修改编号 │7 │◎修改库存数量 ┃\\n\printf(\┃ 2│◎修改书名 │8 │◎修改类别 ┃\\n\printf(\┃ 3│◎修改作者名 │9 │◎修改简介 ┃\\n\printf(\┃ 4│◎修改出版社 │10│◎修改价格 ┃\\n\printf(\┃ 5│◎修改出版时间 │11│◎是否可以借出 ┃\\n\printf(\┃ 6│◎修改ISBN │0 │◎返回上级菜单 ┃\\n\printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\while(1) { color(10); printf(\●你想修改什么信息:\ fflush(stdin); scanf(\ color(9); fflush(stdin); if(n>=0&&n<=11) { if(n==0) break; switch(n) { case 1:while(1) { while(1) { fflush(stdin); printf(\●编号(4位如0001):\ gets(p);
第 9 页
课程设计
\\n\\n\
if(check(p,4,4)) break; }
if((book_no_search(p))==NULL) break; else printf(\◆你输入的编号已经存在,请重新输入◆
}
break;
case 2: while(1) { fflush(stdin);
printf(\●输入新书名(无空格,最长30字节):\ gets(p); if(check(p,1,30)) break; } break;
case 3: while(1) { fflush(stdin); printf(\●输入新作者名(无空格,最长20字节):\ gets(p); if(check(p,1,20)) break; } break; case 4:while(1) { fflush(stdin); printf(\●输入新出版社(无空格,最长24字节):\ gets(p); if(check(p,1,24)) break; } break; case 8:while(1) { fflush(stdin); printf(\●输入新类别(无空格,最长20字节):\ gets(p); if(check(p,1,20)) break;
第 10 页
课程设计
} break; case 5:while(1) { fflush(stdin);
printf(\●输入新出版时间(格式:2015/02第1版,最长12字
节):\ \\n\\n\
gets(p);
if(check(p,12,12)) break; } break; case 6:while(1) { fflush(stdin); printf(\●输入新ISBN(标准ISBN,最长17字节):\ gets(p); if(check(p,17,17)) break; } break; case 7:while(1) { printf(\●输入新入库数量:\ fflush(stdin); scanf(\ if(number>=q->number_sum-q->number_now) break; else { color(12); printf(\◆库存数量应该大于借出数量,请重新输入◆ color(9); } } break;
case 10:while(1) { printf(\●输入新价格:\ fflush(stdin); scanf(\ if(price>=0) break;
第 11 页
课程设计
else { color(12); printf(\◆价格是非负数,请重新输入◆\\n\\n\ color(9); } } break; case 9:while(1) { fflush(stdin); printf(\●输入新简介((没有简介则输入无)无空格,最长200字节):\\n\ gets(p); if(check(p,1,200)) break; } break; case 11:while(1) { fflush(stdin); printf(\●输入是否可以借出(是按1,否按0):\ scanf(\ if(number==1||number==0) break; color(12); printf(\◆未知指令??请输入正确的指令◆\\n\\n\ color(9); } break; } break; } else { color(12); printf(\◆未知指令??请输入正确的指令◆\\n\\n\ color(9); } } if(n!=0) { color(10); printf(\◆是否确定修改信息?确定按1,放弃按0??\
第 12 页
课程设计
}
fflush(stdin); scanf(\ color(9); if(i==1) { switch(n) { case 1:strcpy(q->no,p);break; case 2:strcpy(q->name,p);break; case 3:strcpy(q->author,p);break; case 4:strcpy(q->publish,p);break; case 5:strcpy(q->publish_date,p);break; case 6:strcpy(q->ISBN,p);break; case 7:q->number_sum=number;break; case 8:strcpy(q->sort,p);break; case 9:strcpy(q->content,p);break; case 10:q->price=price;break; case 11:q->jude_borrow=number;break; } printf(\◆修改成功◆\\n\\n\ } } if(i!=1) printf(\◆你已放弃修改◆\\n\\n\}
pause(1);
//114图书信息查询
void admin_book_search() { cls(1); printf(\?图书信息查询?\\n\\n\ book_search_menu(); pause(1); }
//115图书信息删除
void admin_book_delete() { int n; char p[30]; BOOK *q,*q1,*q2; cls(1); printf(\?图书信息删除?\\n\\n\ printf(\●输入要删除图书的编号(如:0001):\
第 13 页
课程设计
scanf(\
q=book_no_search(p); if(q==NULL) { color(12);
printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else {
printf(\◆该书的信息为:\\n\book_prn(q,1); color(12);
printf(\◆是否确定删除该书?确定按1,放弃按0??\fflush(stdin); scanf(\color(9); if(n==1) { if(q->number_now!=q->number_sum) { color(12);
printf(\◆该书还有书没有还,请归还完后再删除该图书◆\\n\
color(9); } else { q1=q->pup; q2=q->pnext; q1->pnext=q2; if(q2!=NULL) q2->pup=q1; free(q); printf(\◆删除成功◆\\n\ } } else printf(\◆你已放弃删除◆\\n\ } pause(1); }
//********************************************* //管理员学生信息模块
//*********************************************
第 14 页
课程设计
//121学生信息总浏览 void admin_student_look() { cls(1);
printf(\?学生信息总浏览?\\n\\n\int i=0,n; STUDENT *p;
p=student_phead->pnext;
if(student_phead->pnext==NULL) { color(12); printf(\◆系统里还没有学生注册◆\\n\ color(9); pause(1); } else {
printf(\序号 学号 姓名 性别 借书数量 需交罚金\\n\ while(p!=NULL) { i++; printf(\n\\n\ printf(\ %-11s %-16s %-2s %-8d %-.2f\\n\>borrow,p->payment); p=p->pnext; if(i%5==0) { color(10); printf(\◆是否继续查看下一页(是按1,返回按0)??\ fflush(stdin); scanf(\ color(9); if(n==0) break; printf(\序号 学号 姓名 性别 借书数量 需交罚金\\n\ } } if(p==NULL) {
第 15 页
课程设计
printf(\◆你已经浏览完了全部学生信息◆\\n\ pause(1);
}
}
}
//122学生信息查询
void admin_student_search() { int n; char p[20]; STUDENT *q; cls(1); printf(\?学生信息查询?\\n\\n\
printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\ printf(\┃ 1│◎按姓名查询 │0 │◎返回上级菜单 ┃\\n\ printf(\┃ 2│◎按学号查询 │ │ ┃\\n\ printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\ while(1) { color(10); printf(\●你想根据什么查询:\ fflush(stdin); scanf(\ color(9);
if(n==1||n==2||n==0) { if(n==0) break; switch(n)
{
case 1:printf(\●请输入姓名:\
case 2:printf(\●请输入学(如:11503010210):\ } break; } else { color(12); printf(\◆未知指令??请输入正确的指令◆\\n\ color(9); } } if(n!=0)
第 16 页
号
课程设计
{
if(q==NULL) { color(12);
printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else {
printf(\◆根据你输入的信息 查到的结果为:\\n\ printf(\学号 姓名 性别 借书数量 需交罚金\\n\ printf(\ %-16s %-2s %-8d %-.2f\\n\>payment); } } else }
printf(\◆你已放弃查询◆\\n\pause(1);
//123学生信息修改
void admin_student_alter() { int n,i; char p[20]; float m; STUDENT *q; cls(1); printf(\?学生信息修改?\\n\\n\ printf(\●输入要修改信息学生的学号(如:11503010210):\ scanf(\ q=student_search(p,2); if(q==NULL) { color(12);
printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else { printf(\◆该同学的原始信息为:\\n\ printf(\学号 姓名 性别 借书数量 需交罚金\\n\printf(\ %-16s %-2s %-8d %-.2f\\n\
第 17 页
课程设计
ayment); color(0); printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\ printf(\┃ 1│◎修改姓名 │4 │◎学生交罚金 ┃\\n\ printf(\┃ 2│◎修改学号 │0 │◎返回上级菜单 ┃\\n\ printf(\┃ 3│◎重置密码 │ │ ┃\\n\ printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\ while(1) { color(10);
printf(\●你想修改什么信息:\fflush(stdin); scanf(\color(9);
if(n==1||n==2||n==3||n==4||n==0) { if(n==0) break; switch(n) { case 1:while(1) { fflush(stdin); printf(\●请输入新姓名:\ gets(p); if(check(p,1,20)) break; }break; case 2:while(1) { fflush(stdin); printf(\●请输入新学号(11位):\ gets(p); if(student_search(p,2)==NULL||strcmp(admin_no,p)==0) { if(check(p,11,11)) break; } color(12); printf(\◆你输入的学号已存在,请重新输入◆\\n\ color(9); }break; case 3: printf(\新密码为:123456\\n\ strcpy(p,\
第 18 页
课程设计
break; case 4:while(1) { printf(\●请输入新的罚金:\ fflush(stdin); scanf(\ if(m>=0) break; color(12);
printf(\◆罚金不能为负数,请重新输入◆\\n\color(9);
}break; } break; } else { color(12);
printf(\◆未知指令??请输入正确的指令◆\\n\ color(9); } }
if(n!=0) { color(10); printf(\◆确定修改信息?确定按1,放弃按0??\ fflush(stdin); scanf(\ color(9); if(i==1) { switch(n) { case 1:strcpy(q->name,p);break; case 2:strcpy(q->no,p);break; case 3:strcpy(q->ciphercode,p);break; case 4:q->payment=m;break; } printf(\◆修改成功◆\\n\ } }
if(i!=1)
第 19 页
课程设计
}
printf(\◆你已放弃修改◆\\n\}
pause(1);
//124学生信息删除
void admin_student_delete() { int n; char p[20]; STUDENT *q,*q1,*q2; cls(1); printf(\?学生信息删除?\\n\\n\ printf(\●输入要删除学生的学号(如:11503010210):\ scanf(\ q=student_search(p,2); if(q==NULL) { color(12); printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else { printf(\◆该同学的信息为:\\n\ printf(\学号 姓名 性别 借书数量 需交罚金\\n\ printf(\ %-16s %-2s %-8d %-.2f\\n\>payment); color(12); printf(\◆是否确定删除该学生的信息?确定按1,放弃按0??\ fflush(stdin); scanf(\ color(9); if(n==1) { if(q->borrow>0) { color(12); printf(\◆该同学还有图书没还,让同学把书还后再删除◆\\n\ color(9); } else if(q->payment>0) { color(12);
第 20 页
课程设计
printf(\◆该同学还有罚金没交,让同学交了罚金后再删除◆\\n\ color(9); } else { q1=q->pup; q2=q->pnext; q1->pnext=q2; if(q2!=NULL) q2->pup=q1; free(q); printf(\◆删除成功◆\\n\ } } else printf(\◆你已放弃删除◆\\n\ } pause(1); }
//********************************************* //管理员短消息模块
//*********************************************
//131收消息
void admin_message_receive() { cls(1); printf(\?收件箱?\\n\\n\ int i=0; MESSAGE *message_p; STUDENT *student_p; message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,admin_no))==0) { student_p=student_search(message_p->send_no,2); printf(\●序号:%d\\n\ printf(\发件人ID(学号):%s\\n\ printf(\发件人姓名:%s\\n\ printf(\发送时间:%d/%d/%d\\n\_time.day); printf(\内容:%s\\n\\n\ message_p->jude_read=1;
第 21 页
课程设计
i++; } message_p=message_p->pnext; }
if(i==0) { color(10); printf(\◆你没有收到任何消息◆\\n\ color(9); }
pause(1);
}
//132发消息
void admin_message_send() { cls(1); printf(\?发消息?\\n\\n\ int i;
MESSAGE * message_pnew;
message_pnew=(MESSAGE *)malloc(sizeof(MESSAGE)); while(1) {
printf(\●输入对方ID(学号):\ fflush(stdin); scanf(\ if(check(message_pnew->receive_no,11,11)) break; }
while(1) {
printf(\●内容(注:少于100个中文字包括符号,且不能有空格):\\n fflush(stdin); scanf(\ if(message_pnew->content,1,200) break; }
strcpy(message_pnew->send_no,admin_no); message_pnew->send_time.year=year; message_pnew->send_time.month=month; message_pnew->send_time.day=day; message_pnew->jude_read=0; color(10);
printf(\◆是否发送?(是按1,否按0):\
fflush(stdin);
第 22 页
\ 课程设计
}
scanf(\color(9); if(i!=0) { message_pnew->pup=message_pend; message_pnew->pnext=NULL; message_pend->pnext=message_pnew; message_pend=message_pnew; printf(\◆发送成功◆\\n\} else {
printf(\◆发送失败◆\\n\ free(message_pnew); }
pause(1);
//133删除消息
void admin_message_delete() { cls(1); printf(\?删除消息?\\n\\n\ int i=0,n=0; MESSAGE *message_p,*message_q,*q2; message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,admin_no))==0) { printf(\序号:%d\\n\ printf(\发件人学号:%s\\n\ printf(\发送时间:%d/%d/%d\\n\_time.day); printf(\内容:%s\\n\ i++; } message_p=message_p->pnext; } if(i==0) { color(12); printf(\◆你没有收到任何消息◆\\n\ color(9);
第 23 页
课程设计
}
} else { while(1) {
printf(\◆输入你想要删除信息的序号(放弃删除按0):\fflush(stdin); scanf(\if(n==0) break; if(n>0&&n<=i) { i=0; message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,admin_no))==0) { i++; if(n==i) break; } message_p=message_p->pnext; } message_q=message_p->pup; q2=message_p->pnext; message_q->pnext=q2; if(q2!=NULL) q2->pup=message_q; free(message_p);
printf(\◆删除成功◆\\n\
break; } else { color(12); printf(\◆未知指令,请重新输入??\\n\ color(9); } } }
if(n!=0) pause(1);
第 24 页
课程设计
//134群发短消息
void admin_message_all_send() { cls(1); printf(\?群发短消息?\\n\\n\int i;
color(10);
printf(\群发短消息是指给所有的学生发送这条信息\\n\ color(9); char a[201]; while(1) {
printf(\●内容(注:少于100个中文字包括符号,且不能有空格):\\n fflush(stdin); gets(a); if(a,1,200) break; }
color(10);
printf(\◆是否发送?(是按1,否按0):\ fflush(stdin); scanf(\ color(9); if(i!=0) { MESSAGE * message_pnew; STUDENT * p=student_phead->pnext; while(p!=NULL) { message_pnew=(MESSAGE *)malloc(sizeof(MESSAGE)); strcpy(message_pnew->send_no,admin_no); strcpy(message_pnew->content,a); strcpy(message_pnew->receive_no,p->no); message_pnew->send_time.year=year; message_pnew->send_time.month=month; message_pnew->send_time.day=day; message_pnew->jude_read=0; message_pnew->pup=message_pend; message_pnew->pnext=NULL; message_pend->pnext=message_pnew; message_pend=message_pnew; p=p->pnext; }
printf(\◆发送成功◆\\n\
第 25 页
\
课程设计
} else { printf(\◆取消发送◆\\n\ } pause(1); }
//********************************************* //图示管理系统设置模块
//********************************************* //141系统文件管理 void admin_sys_file() { cls(1);
printf(\?系统文件管理?\\n\\n\int i,n; color(0);
printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\printf(\┃ 1│◎备份系统文件 │0 │◎返回上级菜单 ┃\\n\printf(\┃ 2│◎启用备份文件 │ │ ┃\\n\printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\while(1) { color(10);
printf(\●请输入指令:\fflush(stdin); scanf(\color(9); if(i==0) break; else if(i==1) { color(10); printf(\◆是否备份系统文件?是按1,放弃按0??\ fflush(stdin); scanf(\ color(9); if(n==1) { save(2); printf(\◆备份成功◆\\n\ } else printf(\◆你已放弃备份系统文件◆\\n\
第 26 页
课程设计
break; }
else if(i==2) { color(12);
printf(\◆启用备份文件是高风险指令,对系统有严重的影响,请管理员慎重决
定。\\n\ printf(\◆系统将录入并保存最近一次保存的备份文件的信息。\\n\ printf(\◆管理员密码将默认为:123456\\n\ printf(\◆是否启用备份文件?是按1,放弃按0??\ fflush(stdin); scanf(\ color(9); if(n==1) { FILE *student_f; FILE *libray_f; FILE *book_f; FILE *message_f; FILE *return_f; FILE *admin_f; admin_f=fopen(\ book_f=fopen(\ student_f=fopen(\ libray_f=fopen(\ message_f=fopen(\ return_f=fopen(\ if(book_f!=NULL&&student_f!=NULL&&libray_f!=NULL&&return_f!=NULL&&message_f!=NULL&&admin_f!=NULL) { clear(1); load(2); load1(2); fprintf(admin_f,\ fclose(admin_f); printf(\启用备份成功\\n\ } else printf(\◆你备份不足文件,启用失败◆\\n\ } else printf(\◆你已放弃启用备份文件◆\\n\ break;
第 27 页
课程设计
} else { color(12);
printf(\◆未知指令??请输入正确的指令◆\\n\
color(9); } } if(i!=0) pause(1); }
//142修改管理员密码 void admin_sys_code() { cls(1); printf(\?修改管理员密码?\\n\\n\ code_change(1); pause(1); }
//********************************************* //借阅信息模块
//*********************************************
//151借书信息总浏览 void admin_book_borrow() { cls(1); printf(\?借书信息总浏览?\\n\\n\ int i=0,n; LIBRAY *p; BOOK *book_p; STUDENT *student_p; p=libray_phead->pnext; while(p!=NULL) { i++; book_p=book_no_search(p->book_no); student_p=student_search(p->student_no,2); printf(\●序号:%d\\n学号:%s\\n学生姓名:%s\\n\ printf(\图书编号:%s\\n图书名:%s\\n\ printf(\借书日期:%d/%d/%d\\n\ printf(\应还书日期:%d/%d/%d\\n\ printf(\是否归还:\
第 28 页
课程设计
}
if(p->judge==1) printf(\是\\n\else printf(\否\\n\p=p->pnext; if(i%5==0) { color(10);
printf(\◆是否继续查看下一页(是按1,返回按0)??\ fflush(stdin); scanf(\ color(9); if(n==0) break; } }
if(p==NULL) { color(10); printf(\◆你已经浏览完了全部借书信息◆\\n\ color(9); pause(1); }
//152借书信息查询
void admin_book_borrow_s() { cls(1); printf(\?借书信息查询?\\n\\n\ int n,i=0; char p[12]; LIBRAY *q; BOOK *book_p; STUDENT *student_p; NO * q1; color(0); printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\ printf(\┃ 1│◎按学号 │4 │◎按借书日期月 ┃\\n\ printf(\┃ 2│◎按书的编码 │5 │◎按借书日期日 ┃\\n\ printf(\┃ 3│◎按是否归还 │0 │◎返回上级菜单 ┃\\n\ printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\ while(1) { color(10);
第 29 页
课程设计
printf(\●你想根据什么查询:\ fflush(stdin); scanf(\ color(9);
if(n>=0&&n<=5) { if(n==0) break; switch(n) {
case 1:printf(\●请输入学
(如:11503010210):\ case 2:printf(\●请输入书的编(如:0001):\ case 3:printf(\●是按1,否按0:\ case 4:printf(\●请输入月份(式:2015/12):\ case 5:printf(\●请输入日期(式:2015/12/25):\ } break; } else { color(12); printf(\◆未知指令??请输入正确的指令◆\\n\ color(9); } }
if(n!=0) { q1=no_phead->pnext; if(q1==NULL) { color(12); printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else { while(q1!=NULL) { q=q1->libray_p;
i++;
第 30 页
号号
格格
课程设计
book_p=book_no_search(q->book_no); student_p=student_search(q->student_no,2); printf(\●序号:%d\\n学号:%s\\n学生名:%s\\n\ printf(\图书编号:%s\\n图书名:%s\\n\ printf(\借书
期:%d/%d/%d\\n\ printf(\应还书期:%d/%d/%d\\n\ printf(\是否归还:\ if(q->judge==1) printf(\是\\n\ else }
姓
日日
printf(\否\\n\ q1=q1->pnext; if(i%5==0) { color(10); printf(\◆是否继续查看下一页(是按1,返回按0)??\ fflush(stdin); scanf(\ color(9); if(n==0) break; } } q1=NULL; while(no_phead->pnext!=NULL) { q1=no_phead->pnext; no_phead->pnext=q1->pnext; free(q1); q1=NULL; } free(no_phead); pause(1); } } else { printf(\◆你已放弃查询◆\\n\ pause(1); }
第 31 页
课程设计
//153还书信息总浏览 void admin_book_return() { cls(1);
printf(\?还书信息总浏览?\\n\\n\ int i=0,n; RETURN *p; BOOK *book_p; STUDENT *student_p; p=return_phead->pnext; while(p!=NULL) { i++; book_p=book_no_search(p->book_no); student_p=student_search(p->student_no,2); printf(\●序号:%d\\n学号:%s\\n学生姓名:%s\\n\ printf(\图书编号:%s\\n图书名:%s\\n\ printf(\借书日期:%d/%d/%d\\n\ printf(\应还书日期:%d/%d/%d\\n\ printf(\借书天数:%d\\n\ p=p->pnext; if(i%5==0) { color(10); printf(\◆是否继续查看下一页(是按1,返回按0)??\ fflush(stdin); scanf(\ color(9); if(n==0) break; } } if(p==NULL) { color(10); printf(\◆你已经浏览完了全部还书信息◆\\n\ color(9); pause(1); } }
//154还书信息查询
void admin_book_return_s() {
第 32 页
课程设计
cls(1);
printf(\?还书信息总查询?\\n\\n\ int n,i=0; char p[12]; RETURN *q; BOOK *book_p;
STUDENT *student_p; NO * q1; color(0);
printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\ printf(\┃ 1│◎按学号 │4 │◎按借书日期月 ┃\\n\ printf(\┃ 2│◎按书的编码 │5 │◎按借书日期日 ┃\\n\ printf(\┃ 3│◎按是否超期 │0 │◎返回上级菜单 ┃\\n\ printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\ while(1) { color(10); printf(\●你想根据什么查询:\ fflush(stdin); scanf(\ color(9);
if(n>=0&&n<=5) { if(n==0) break; switch(n)
{
case 1:printf(\●请输入学
(如:11503010210):\ case 2:printf(\●请输入书的编(如:0001):\ case 3:printf(\●是按1,否按0:\ case 4:printf(\●请输入月份(式:2015/12):\ case 5:printf(\●请输入日期(式:2015/12/25):\ } break; } else { color(12); printf(\◆未知指令??请输入正确的指令◆\\n\ color(9);
第 33 页
号号
格格
课程设计
} }
if(n!=0) { q1=no_phead->pnext; if(q1==NULL) { color(12);
printf(\◆数据库里没有相关数据,查询无果◆\\n\ color(9); } else { while(q1!=NULL) { q=q1->return_p; i++; book_p=book_no_search(q->book_no); student_p=student_search(q->student_no,2); printf(\●序号:%d\\n学号:%s\\n学生姓名:%s\\n\ printf(\图书编号:%s\\n图书名:%s\\n\ printf(\借书日期:%d/%d/%d\\n\ printf(\应还书日期:%d/%d/%d\\n\ printf(\借书天数:%d\\n\ q1=q1->pnext; if(i%5==0) { color(10);
printf(\◆是否继续查看下一页(是按1,返回按0)??\ fflush(stdin); scanf(\ color(9); if(n==0) break; } }
q1=NULL;
while(no_phead->pnext!=NULL) { q1=no_phead->pnext; no_phead->pnext=q1->pnext; free(q1);
第 34 页
课程设计
q1=NULL; } free(no_phead); } } else printf(\◆你已放弃查询◆\\n\ pause(1); }
//********************************************* //学生个人信息模块
//********************************************* //211借书信息
void user_ifo_borrow() { cls(2);
printf(\?借书信息?\\n\\n\ NO *q1; int i=0; LIBRAY *libray_q; BOOK *book_q; libray_ifo_search(user_student->no,1); q1=no_phead->pnext; if(q1==NULL) { color(12); printf(\◆你没有借书信息◆\\n\ color(9); } else { printf(\序号 书号 书名 借书时间 还时间\\n\ while(q1!=NULL) { libray_q=q1->libray_p; if(libray_q->judge==0) { book_q=book_no_search(libray_q->book_no); printf(\ %-6s \ printf(\ \ printf(\
\
第 35 页
归
课程设计
printf(\later_time.day); i++; } q1=q1->pnext; } printf(\姓名:%s 学号:%s 已借:%d 可借:%d\\n\ color(10); printf(\温馨提示:每本书的借期为30天,超期后会按0.1元/天收取罚金\\n\ color(9); } q1=NULL; while(no_phead->pnext!=NULL) { q1=no_phead->pnext; no_phead->pnext=q1->pnext; free(q1); q1=NULL; } free(no_phead); pause(2); }
//212浏览个人信息 void user_ifo_look() { cls(2); printf(\?浏览个人信息?\\n\\n\ printf(\学号:%s\\n\ printf(\姓名:%s\\n\ printf(\性别:%s\\n\ printf(\已借书数量:%d\\n\ printf(\可借书数量:%d\\n\ printf(\罚金:%.2f\\n\ if(user_student->payment>0) { color(10); printf(\温馨提示:如果罚金数目到达10元,将无法借书。请尽快到管理处缴费!\\n\ color(9); } pause(2); }
//213修改个人信息
第 36 页
课程设计
void user_ifo_alter() { int n,i; STUDENT *p; p=user_student; cls(2); color(2); printf(\?修改个人信息?\\n\\n\ color(0);
printf(\┏━┯━━━━━━━━━━━┯━┯━━━━━━━━━━━┓\\n\printf(\┃ 1│◎修改姓名 │4 │◎修改性别 ┃\\n\printf(\┃ 2│◎修改学号 │0 │◎返回上级菜单 ┃\\n\printf(\┃ 3│◎修改密码 │ │ ┃\\n\printf(\┗━┷━━━━━━━━━━━┷━┷━━━━━━━━━━━┛\\n\while(1) { color(10);
printf(\●输入你想要修改的信息的序号:\fflush(stdin); scanf(\color(9);
if(n==1||n==2||n==3||n==4||n==0) { if(n==0) break;
printf(\●输入新信息:\\n\switch(n) {
case 1:while(1) { fflush(stdin); printf(\●新姓名:\ gets(p->name); if(check(p->name,1,20)) break; }break; case 2:while(1) { fflush(stdin); printf(\●请输入新学号(11位):\ gets(p->no); if(student_search(p->no,2)==NULL&&strcmp(admin_no,p->no)!=0) { if(check(p->no,11,11))
第 37 页
课程设计
break; } else { color(12);
printf(\◆你输入的学号已存在,请重新输入◆\\n\
color(9); } }break;
case 3:code_change(2);break; case 4:while(1) { fflush(stdin);
printf(\●性别:\ gets(p->sex); if(check(p->sex,1,2)) break; }break; } break; } else { color(12);
printf(\◆未知指令??请输入正确的指令◆\\n\ color(9); } }
if(n!=0) { if(n!=3) { color(10); printf(\◆是否确定修改信息?确定按1,放弃按0??\ fflush(stdin); scanf(\ color(9); if(i==1) { switch(n) { case 1:strcpy(user_student->name,p->name);break; case 2:strcpy(user_student->no,p->no);break; case 4:strcpy(user_student->sex,p->sex);break;
第 38 页
课程设计
}
printf(\◆修改成功◆\\n\ } } } if(i!=1&&i!=3) printf(\◆你已放弃修改◆\\n\ pause(2); }
//********************************************* //学生图书库模块
//********************************************* //221图书库总浏览 void user_book_look() { cls(2); }
printf(\?图书库总浏览?\\n\\n\all_book_look(); pause(2);
//222图书信息查询 void user_book_search() { cls(2);
printf(\?图书信息查询?\\n\\n\ book_search_menu(); pause(2); }
//223借书
void user_book_borrow() { cls(2);
printf(\?借书?\\n\\n\color(12);
if(user_student->borrow>=10)
printf(\◆你借数数量已达上限,如想借新书,请先归还◆\else if(user_student->payment>=10) printf(\◆你的罚金已经超过10元,请先到管理员处交完罚金在借书◆\\n\else { int i; char book_no[6]; BOOK *book_q; LIBRAY *libray_q;
第 39 页
课程设计
color(10);
printf(\●请输入图书编号(如:0001):\scanf(\
book_q=book_no_search(book_no); if(book_q==NULL) { color(12); printf(\◆图书库里没有该书◆\\n\ color(9); } else { libray_q=libray_search(book_no); color(9);
printf(\◆要借的图书信息为:\\n\book_prn(book_q,1); color(12);
if(libray_q!=NULL) printf(\◆你已经借了该书,不能重复借阅◆\\n\else if(book_q->jude_borrow==0)
printf(\◆该书不允许借出◆\\n\else if(book_q->number_now<=0)
printf(\◆该书已被借完,无法再借◆\\n\ else { color(10); printf(\◆是否要借此书?是按1,放弃按0\\n\ fflush(stdin); scanf(\ color(9); if(i==1) book_borrow(book_no,book_q); } } } color(9); pause(2); }
//224还书
void user_book_return() { cls(2); printf(\?还书?\\n\\n\ if(user_student->borrow==0)
第 40 页
课程设计
{ color(12); printf(\◆你没有借任何书籍◆\\n\ color(9); } else { int i,n=0; char book_no[6]; BOOK *book_q; LIBRAY *libray_q; RETURN *return_pnew;
printf(\◆你已借阅的书籍有:\\n\NO *q,*q1;
libray_ifo_search(user_student->no,1); q1=no_phead->pnext;
printf(\序号 书号 书名 借书时间 归还时间\\n\ while(q1!=NULL) { libray_q=q1->libray_p; if(libray_q->judge==0) { book_q=book_no_search(libray_q->book_no); printf(\ %-5s %-30s\ printf(\
\ printf(\later_time.day); n++; } q1=q1->pnext; } q=NULL; while(no_phead->pnext!=NULL) { q=no_phead->pnext; no_phead->pnext=q->pnext; free(q); q=NULL; } free(no_phead); while(1)
第 41 页
课程设计
{
color(10);
printf(\●请输入需要还书的编号(4位必须写全,如0001):\scanf(\color(9);
if(strlen(book_no)==4) break; else { color(12);
printf(\◆你输入的编号不符合要求,请重新输入◆\\n\ color(9); } }
libray_q=libray_search(book_no); printf(\if(libray_q==NULL) { color(12); printf(\◆你没有借这本书,请查正编号后再输◆\\n\ color(9); } else { book_q=book_no_search(book_no);
printf(\◆要还的图书信息为:\\n\printf(\标签 书名 \\n\
printf(\ %s\\n\color(10);
printf(\◆是否要还此书?(是按1,放弃按0):\fflush(stdin); scanf(\color(9); if(i==1) { libray_q->judge=1; return_pnew=(RETURN *)malloc(sizeof(RETURN)); return_pnew->pnext=return_phead->pnext; return_phead->pnext=return_pnew; strcpy(return_pnew->book_no,book_q->no); strcpy(return_pnew->student_no,user_student->no); return_pnew->borrow_time.year=libray_q->borrow_time.year; return_pnew->borrow_time.month=libray_q->borrow_time.month; return_pnew->borrow_time.day=libray_q->borrow_time.day;
第 42 页
课程设计
return_pnew->time.year=year; return_pnew->time.month=month; return_pnew->time.day=day; book_q->number_now++; user_student->borrow--;
int m=sum_money(return_pnew); if(m==1) {
printf(\◆还书成功◆\\n\} else { color(12);
} } else
printf(\◆借书期限超限,需缴纳罚金,请到管理员处缴纳◆\\n\color(9);
printf(\◆还书成功◆\\n\
printf(\◆你已放弃还书◆\\n\ } } pause(2); }
//********************************************* //学生短消息模块
//********************************************* //231收消息
void user_message_receive() { cls(2);
printf(\?收件箱?\\n\\n\int i=0;
MESSAGE *message_p; STUDENT *student_p;
message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,user_student->no))==0) { student_p=student_search(message_p->send_no,2); printf(\序号:%d\\n\ printf(\发件人ID(学号):%s\\n\
第 43 页
课程设计
if(strcmp(message_p->send_no,admin_no)==0)
printf(\发件人姓名:管理员\\n\ else printf(\发件人姓名:%s\\n\ printf(\发送时间:%d/%d/%d\\n\_time.day); printf(\内容:%s\\n\ message_p->jude_read=1; i++; } message_p=message_p->pnext; } if(i==0) { color(12); printf(\◆你没有收到任何消息◆\\n\ color(9); } pause(2); }
//232发消息
void user_message_send() { cls(2); printf(\?发消息?\\n\\n\ int i;
MESSAGE * message_pnew;
message_pnew=(MESSAGE *)malloc(sizeof(MESSAGE)); while(1) { printf(\管理员ID为:11111111111\\n\ printf(\●输入对方ID(学号):\ fflush(stdin); gets(message_pnew->receive_no); if(check(message_pnew->receive_no,11,11)) break; }
while(1) { printf(\●内容(注:少于100个中文字包括符号,且不能有空格):\\n scanf(\ if(message_pnew->content,1,200)
break;
第 44 页
\ 课程设计
}
strcpy(message_pnew->send_no,user_student->no); message_pnew->send_time.year=year; message_pnew->send_time.month=month; message_pnew->send_time.day=day; message_pnew->jude_read=0; color(10);
printf(\◆是否发送?(是按1,否按0):\fflush(stdin); scanf(\color(9); if(i!=0) { message_pnew->pup=message_pend; message_pnew->pnext=NULL; message_pend->pnext=message_pnew; message_pend=message_pnew;
printf(\◆发送成功◆\\n\ } else { printf(\◆发送失败◆\\n\ free(message_pnew); } pause(2); }
//233删除消息
void user_message_delete() { cls(2);
printf(\?删除消息?\\n\\n\ int i=0,n=0; MESSAGE *message_p,*message_q,*q2; message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,user_student->no))==0) { printf(\●序号:%d\\n\ printf(\发件人学号:%s\\n\ printf(\发送时间:%d/%d/%d\\n\_time.day); printf(\内容:%s\\n\
第 45 页
课程设计
i++; } message_p=message_p->pnext; }
if(i==0) { color(12); printf(\◆你没有收到任何消息◆\\n\ color(9); pause(2); } else { while(1) { color(10);
printf(\◆输入你想要删除信息的序号(放弃删除按0):\fflush(stdin); scanf(\color(9); if(n==0) break; if(n>0&&n<=i) { i=0; message_p=message_phead->pnext; while(message_p!=NULL) { if((strcmp(message_p->receive_no,user_student->no))==0) { i++; if(n==i) break; } message_p=message_p->pnext; } message_q=message_p->pup; q2=message_p->pnext; message_q->pnext=q2; if(q2!=NULL) q2->pup=message_q; free(message_p); printf(\◆删除成功◆\\n\ break;
第 46 页
课程设计
} else { color(12);
printf(\◆未知指令,请重新输入??\\n\
color(9); } } } if(n!=0) pause(2); }
//********************************************* //函数调用
//********************************************* int feature(int port) { int i; while(1) { switch(port) { case -1:; case -2: port=login(port);if(port!=0)load1(1);break; case 0: port=loginmenu();break; case 1:; case 2: port=menu(port);break; case 3: port=regist();break; case 11: port=menu11();break; case 12: port=menu12();break; case 13: port=menu13();break; case 14: port=menu14();break; case 15: port=menu15();break; case 21: port=menu21();break; case 22: port=menu22();break; case 23: port=menu23();break; case 111: admin_book_look();port=11;break; case 112: admin_book_add();port=11;break; case 113: admin_book_alter();port=11;break; case 114: admin_book_search();port=11;break; case 115: admin_book_delete();port=11;break; case 121: admin_student_look();port=12;break; case 122: admin_student_search();port=12;break; case 123: admin_student_alter();port=12;break;
第 47 页
课程设计
case 124: admin_student_delete();port=12;break; case 131: admin_message_receive();port=13;break; case 132: admin_message_send();port=13;break; case 133: admin_message_delete();port=13;break; case 134: admin_message_all_send();port=13;break; case 141: admin_sys_file();port=14;break; case 142: admin_sys_code();port=14;break; case 151: admin_book_borrow();port=15;break; case 152: admin_book_borrow_s();port=15;break; case 153: admin_book_return();port=15;break; case 154: admin_book_return_s();port=15;break; case 211: user_ifo_borrow();port=21;break; case 212: user_ifo_look();port=21;break; case 213: user_ifo_alter();port=21;break; case 221: user_book_look();port=22;break; case 222: user_book_search();port=22;break; case 223: user_book_borrow();port=22;break; case 224: user_book_return();port=22;break; case 231: user_message_receive();port=23;break; case 232: user_message_send();port=23;break; case 233: user_message_delete();port=23;break; } if(port==110||port==120||port==130||port==140||port==150) port=1; if(port==210||port==220||port==230) port=2; if(port==100) break; if(port==10||port==20) { color(12); printf(\◆是否真的要退出系统?是按1,否按0??\ fflush(stdin); scanf(\ color(9); if(i==1) break; else port/=10; } } return port; }
//*********************************************
第 48 页
课程设计
//存盘模块
//********************************************* void save(int n) {
//学生信息
FILE *student_f; FILE *libray_f; FILE *book_f; FILE *message_f; FILE *return_f; if(n==1) { book_f=fopen(\ student_f=fopen(\ libray_f=fopen(\ message_f=fopen(\ return_f=fopen(\} else { book_f=fopen(\ student_f=fopen(\ libray_f=fopen(\ message_f=fopen(\ return_f=fopen(\}
STUDENT *student_p;
student_p=student_phead->pnext; while(student_p!=NULL) { fwrite(student_p,sizeof(STUDENT),1,student_f); student_p=student_p->pnext; }
fclose(student_f); //图书信息 BOOK *book_p;
book_p=book_phead->pnext; while(book_p!=NULL) { fwrite(book_p,sizeof(BOOK),1,book_f); book_p=book_p->pnext; }
fclose(book_f); //借阅信息
第 49 页
课程设计
LIBRAY *libray_p;
libray_p=libray_phead->pnext; while(libray_p!=NULL) { fwrite(libray_p,sizeof(LIBRAY),1,libray_f); libray_p=libray_p->pnext; }
fclose(libray_f);
//短消息
MESSAGE *message_p;
message_p=message_phead->pnext; while(message_p!=NULL) { fwrite(message_p,sizeof(MESSAGE),1,message_f); message_p=message_p->pnext; }
fclose(message_f);
//还书流水 RETURN *return_p; return_p=return_phead->pnext; while(return_p!=NULL) { fwrite(return_p,sizeof(RETURN),1,return_f); return_p=return_p->pnext; } fclose(return_f); }
//********************************************* //登录模块
//********************************************* int login(int port) { cls(0); char no[13],code_in[17],code_f[17],ch; int i; if(port==-1) { FILE *admin_f; printf(\?管理员登录窗口?\\n\\n\ while(1) { fflush(stdin); printf(\●输入管理员密码:\ for(i=0;i<17&&(ch!='\\r'||i==0);)//i==0;是防止第二次输入密码时ch一开为'\\r'不
第 50 页
正在阅读:
c语言图书管理系统源代码01-08
驾驶员车辆安全自主检查表05-17
五年级科学下册教案第二单元 热12-28
2016考研数学答题的五个实用技巧06-30
21世纪大学英语I unit6练习题10-07
远足感想作文04-01
乡镇文化站工作总结02-26
苏教版三年级数学思维训练系列十三05-26
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 源代码
- 管理系统
- 语言
- 图书
- 乌市五中2014—2015学年度综合督导评估自查报告
- 05线性(经济)考研真题五
- 八年级语文下册第五单元18在长江源头各拉丹冬公开课教案部编版7
- 生态新农村绿化模式
- 工程监理简历
- 历次历年山东省关于调整企业退休人员基本养老金的通知 - 图文
- 课题《初中数学小组合作教学模式的研究》研究工作报告
- 行政问责整改方案
- 《钢结构工程施工质量验收规范》GB50205-2001考题
- 试论互联网 智慧矿山发展
- 黄埔军校教官及学员名单
- 地理核心素养之“人地观念”培养策略探究
- 小学数学人教版四年级上册4三位数乘两位数《单价、数量和总价》比赛获奖教案优质课公开课优秀教案
- 2010年江苏公务员考试真题(含申论,行测,公共基础知识)
- 电大行政组织学复习资料
- 焊接与热切割作业初训模拟试卷
- 登封市仟祥煤业有限责任公司瓦斯专项整治实施方案
- 用友远程通常见问题
- 数学人教版五上全册教案及教学反思
- 2014公务员面试:跟套路模板说再见