c语言课程设计:图书管理系统设计的基本思路是什么?

供稿:hz-xin.com     日期:2024-05-18
C语言课程设计-图书管理系统

我只能给你个简陋的东西。这个你还得自己慢慢改。(只要你能看懂)自己看着办吧

#include
#include
#include
#include
#define MAX_NUM 45

struct studenter {
int ID;
char Name[10];
int Age;
char Sex[2];
int Birthday;
char Adress[15];
char TelNum[12];
char Email[10];
};

typedef struct studenter STUDENT;

void input(STUDENT stu[],int Max,int cn);
int findStudentID(STUDENT stu[],int findID,int Max);
void DisplayInfor(STUDENT stu[],int Max);
void DispMainMenu();
void DispQueryMenu();
char choice();
int InforInput(STUDENT stu[],int cn);
void QueryInfor(STUDENT stu[],int Max);
void EditInfor(STUDENT stu[],int Max);

void DispMainMenu()
{
printf("**************学生信息管理系统1.0**************
");
printf("1--学生信息录入 2--学生信息修改
");
printf("3--学生信息查询 4--学生信息删除
");
printf("5--学生信息排序 0--退出
");
printf("************************************************
");
printf("请选择(0--5):");
}

void DispQueryMenu()
{
printf("*****************请选择查询方式*****************
");
printf("1--按学号查询; 2--按姓名查询
");
printf("************************************************
");
printf("请选择(1--2):");
}

char choice()
{
char select;
select=getche();
getch();
return (select);
}

void DisplayInfor(STUDENT stu[],int Max)
{
int i;
printf("
学号 姓名 年龄 性别 出生年月 地址 电话 E-mail
");
for(i=0;i<Max;i++)
printf("%8d %10s %2d %2s %8d %15s %12s %10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);
printf("
");
}

void input(STUDENT stu[],int Max,int cn)
{
int i;
for(i=cn;i<Max+cn;i++)
{
printf("
请输入第%d个学生的学号 (8个字符以内):",i+1);
scanf("%d",&stu[i].ID);
printf("
姓名(10个字符以内):");
scanf("%s",stu[i].Name);
printf("
年龄:");
scanf("%d",&stu[i].Age);
printf("
性别(m或w):");
scanf("%s",&stu[i].Sex);
printf("
出生年月(8位):");
scanf("%d",&stu[i].Birthday);
printf("
地址:");
scanf("%s",&stu[i].Adress);
printf("
电话:");
scanf("%s",&stu[i].TelNum);
printf("
E-mail:");
scanf("%s",&stu[i].Email);

}
printf("
您的输入信息是:
");
DisplayInfor(stu,Max+cn);
}

int findStudentID(STUDENT stu[],int findID,int Max)
{
int i;
for(i=0;i<Max;i++)
{
if(stu[i].ID==findID)
break;
}
if(i<Max)
return i;
else
return -1;
}
int findStudentNAME(STUDENT stu[],char findNAME[10],int Max)
{
int i;
for(i=0;i<Max;i++)
{
if(!strcmp(stu[i].Name,findNAME))
break;
}
if(i<Max)
return i;
else
return -1;
}
int InforInput(STUDENT stu[],int cn)
{
int number;

printf("
请输入本次录入的学生人数: ");
scanf("%d",&number);
if(number>MAX_NUM)
{
printf("您输入的人数太多,大于%d人!
",MAX_NUM);
return (0);
}
input(stu,number,cn) ;
return (number+cn);
}

void QueryInfor(STUDENT stu[],int Max)
{
char select;
int i;
int findID;
char findNAME[10];
DispQueryMenu();
select=choice();
switch (select)
{
case '1':
printf("
按学号查询
请输入学生的学号: ");
scanf("%d",&findID);
if ((i=findStudentID(stu,findID,Max))!=-1)
{
printf("查找结果如下:
");
printf(" 学号 姓名 年龄 性别 出生年月 地址 电话 E-mail");
printf("%8d %10s %2d %2s %8d %15s %12s %10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);
}
else
printf("您输入的学号不存在!
");
break;
case '2':
printf("
按姓名查询
请输入学生的姓名: ");
scanf("%s",&findNAME);
if ((i=findStudentNAME(stu,findNAME,Max))!=-1)
{
printf("查找结果如下:
");
printf(" 学号 姓名 年龄 性别 出生年月 地址 电话 E-mail");
printf("%8d %10s %2d %2s %8d %15s %12s %10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);
}
else
printf("您输入的姓名不存在!
");
break;
default :
printf("选择错误!
");
}
}


void EditInfor(STUDENT stu[],int Max)
{
int i;
int findID;
printf("
请输入学生的学号: ");
scanf("%d",&findID);
if ((i=findStudentID(stu,findID,Max))!=-1)
{
printf("姓 名: %s
",stu[i].Name);
printf("原信息:%8d %2d %2s %8d %15s %12s %10s",stu[i].ID,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);
printf("
请输入新的学号 (8个字符以内):",i+1);
scanf("%d",&stu[i].ID);
printf("
姓名(10个字符以内):");
scanf("%s",stu[i].Name);
printf("
年龄:");
scanf("%d",&stu[i].Age);
printf("
性别(m或w):");
scanf("%s",&stu[i].Sex);
printf("
出生年月(8位):");
scanf("%d",&stu[i].Birthday);
printf("
地址:");
scanf("%s",&stu[i].Adress);
printf("
电话:");
scanf("%s",&stu[i].TelNum);
printf("
E-mail:");
scanf("%s",&stu[i].Email);
}
else
printf("您输入的学号不存在!
");
}
DEL(STUDENT stu[],int Max,int i)
{
for(;i<Max;i++)
{
stu[i-1].ID=stu[i].ID;
strcpy(stu[i-1].Name,stu[i].Name);
stu[i-1].Age=stu[i].Age;
strcpy(stu[i-1].Sex,stu[i].Sex);
stu[i-1].Birthday=stu[i].Birthday;
strcpy(stu[i-1].Adress,stu[i].Adress);
strcpy(stu[i-1].TelNum,stu[i].TelNum);
strcpy(stu[i-1].Email,stu[i].Email);
}
return(--Max);
}
DelInfor(STUDENT stu[],int Max)
{

int findID,i;
char findNAME[10],select;
printf("*****************请选择删除方式*****************
");
printf("1--按学号删除; 2--按姓名删除
");
printf("************************************************
");
printf("请选择(1--2):");
select=choice();
switch (select)
{
case '1':
printf("
按学号删除
请输入学生的学号: ");
scanf("%d",&findID);
if ((i=findStudentID(stu,findID,Max))!=-1)
DEL(stu,Max,i);
else
printf("您输入的学号不存在!
");
break;
case '2':
printf("
按姓名删除
请输入学生的姓名: ");
scanf("%s",&findNAME);
if ((i=findStudentNAME(stu,findNAME,Max))!=-1)
DEL(stu,Max,i);
else
printf("您输入的姓名不存在!
");
break;
default :
printf("选择错误!
");

}
}

SortInforMenu(STUDENT stu[],int Max)
{
char select;
printf("*****************请选择排序方式*****************
");
printf("1--按学号排序; 2--按姓名排序
");
printf("************************************************
");
printf("请选择(1--2):");
select=choice();
if (select=='1'||select=='2')
SortInfor(stu,Max,select);
else
printf("选择错误!
");

}



SortInfor(STUDENT stu[],int Max,char i)
{
STUDENT student;
int j=0,k,l=0;
if(i=='1')
{
for(k=0;j<Max;j++)
for(;k<Max-j-1;k++)
{
if(stu[k].ID>stu[k+1].ID)
{
student.ID=stu[k+1].ID;
strcpy(student.Name,stu[k+1].Name);
student.Age=stu[k+1].Age;
strcpy(student.Sex,stu[k+1].Sex);
student.Birthday=stu[k+1].Birthday;
strcpy(student.Adress,stu[k+1].Adress);
strcpy(student.TelNum,stu[k+1].TelNum);
strcpy(student.Email,stu[k+1].Email);
stu[k+1].ID=stu[k].ID;
strcpy(stu[k+1].Name,stu[k].Name);
stu[k+1].Age=stu[k].Age;
strcpy(stu[k+1].Sex,stu[k].Sex);
stu[k+1].Birthday=stu[k].Birthday;
strcpy(stu[k+1].Adress,stu[k].Adress);
strcpy(stu[k+1].TelNum,stu[k].TelNum);
strcpy(stu[k+1].Email,stu[k].Email);
stu[k].ID=student.ID;
strcpy(stu[k].Name,student.Name);
stu[k].Age=student.Age;
strcpy(stu[k].Sex,student.Sex);
stu[k].Birthday=student.Birthday;
strcpy(stu[k].Adress,student.Adress);
strcpy(stu[k].TelNum,student.TelNum);
strcpy(stu[k].Email,student.Email);
}
printf("
学号 姓名 年龄 性别 出生年月 地址 电话 E-mail
");
for(i=0;i<Max;i++)
printf("%8d %10s %2d %2s %8d %15s %12s %10s",stu[i].ID,stu[i].Name,stu[i].Age,stu[i].Sex,stu[i].Birthday,stu[i].Adress,stu[i].TelNum,stu[i].Email);
printf("
");
}
}
else if(i=='2')
{
for(k=0;j<Max;j++)
for(;k<Max-j-1;k++)
{
if(strcmp(stu[k].Name,stu[k+1].Name)>0)
{
student.ID=stu[k+1].ID;
strcpy(student.Name,stu[k+1].Name);
student.Age=stu[k+1].Age;
strcpy(student.Sex,stu[k+1].Sex);
student.Birthday=stu[k+1].Birthday;
strcpy(student.Adress,stu[k+1].Adress);
strcpy(student.TelNum,stu[k+1].TelNum);
strcpy(student.Email,stu[k+1].Email);
stu[k+1].ID=stu[k].ID;
strcpy(stu[k+1].Name,stu[k].Name);
stu[k+1].Age=stu[k].Age;
strcpy(stu[k+1].Sex,stu[k].Sex);
stu[k+1].Birthday=stu[k].Birthday;
strcpy(stu[k+1].Adress,stu[k].Adress);
strcpy(stu[k+1].TelNum,stu[k].TelNum);
strcpy(stu[k+1].Email,stu[k].Email);
stu[k].ID=student.ID;
strcpy(stu[k].Name,student.Name);
stu[k].Age=student.Age;
strcpy(stu[k].Sex,student.Sex);
stu[k].Birthday=student.Birthday;
strcpy(stu[k].Adress,student.Adress);
strcpy(stu[k].TelNum,student.TelNum);
strcpy(stu[k].Email,student.Email);
}
}

printf("
姓名 学号 年龄 性别 出生年月 地址 电话 E-mail
");
for(;l<Max;l++)
printf("%10s %8d %2d %2s %8d %15s %12s %10s",stu[l].Name,stu[l].ID,stu[l].Age,stu[l].Sex,stu[l].Birthday,stu[l].Adress,stu[l].TelNum,stu[l].Email);
printf("
");
}
}

Save(STUDENT stu[],int Max)
{
int i=0 ;
FILE *fp;
if((fp=fopen("stu.txt","w+"))==NULL)
{
printf("ERROR!");
exit(0);
}
for(;i<Max;i++)
{
fprintf(fp,"%d ",stu[i].ID);
fprintf(fp,"%s ",stu[i].Name);
fprintf(fp,"%d ",stu[i].Age);
fprintf(fp,"%s ",stu[i].Sex);
fprintf(fp,"%d ",stu[i].Birthday);
fprintf(fp,"%s ",stu[i].Adress);
fprintf(fp,"%s ",stu[i].TelNum);
fprintf(fp,"%s ",stu[i].Email);
}
fclose(fp);
printf("OK!");
}




int main(int argc, char *argv[])
{
char select;
STUDENT stu[MAX_NUM];
int current_number=0;
select=0;
while(select!='0')
{
system("cls");

DispMainMenu();
select=choice();

switch(select)
{
case '0':
printf("
您选择的是退出测试!
");
_beep(300,400);
continue;
case '1':
printf("
您选择的是信息录入!
");
current_number=InforInput(stu,current_number);
break;
case '2':
printf("
您选择的是信息修改!
");
EditInfor(stu,current_number);
break;
case '3':
printf("
您选择的是信息查询!
");
QueryInfor(stu,current_number);
break;
case '4':
printf("
您选择的是删除信息!
");
DelInfor(stu,current_number);
break;
case '5':
printf("
您选择的是排序信息!
");
SortInforMenu(stu,current_number);
break;
default:
printf("
选择错误!请重新选择!
");
}
system("PAUSE");
}
return (0);
Save(stu,current_number);
}

没有按价格排序,自己加,可以运行
#include
#include
#include

struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是结构体的定义,用于存放书籍及借书的信息。*/

void page_title(char *menu_item)
{

printf(">>> 图 书 管 理 系 统 <<<

- %s -

",menu_item);
}
/*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/

void return_confirm(void)
{
printf("
按任意键返回……
");
getch();
}
/*上面是返回前请求确认的函数,以便在返回前观察结果*/

int search_book(void)
{
int n,i;
printf("请输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("书名:%s
",books[n].name);
printf("作者:%s
",books[n].author);
printf("存数:%d of ",books[n].store);
printf("%d
",books[n].total);
return n;
}
}
printf("
输入错误或无效图书序号.
");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
回数组下标,如果找不到相应记录则提示错误并返回-1。*/

void book_out(void)
{
int n,s,l,d;
page_title("借阅图书");
if((n=search_book())!=-1&&books[n].store>0)
{
printf("请输入借书证序号:");
scanf("%d",&s);
printf("请输入可借天数:");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1&&books[n].store==0) printf("此书已经全部借出.
");
return_confirm();
}
/*上面是借书的函数,首先调用找书函数*/

void book_in(void)
{
int n,s,l;
page_title("归还图书");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{
printf("借阅者图书证列表:
");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天
",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.
");
return_confirm();
}

void book_add(void)
{
int n;
page_title("注册新书");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序号:");
scanf("%d",&books[n].id);
printf("书名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].author);
printf("数量:");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
return_confirm();
}
void book_del(void)
{
int n;
page_title("注销旧书");
if((n=search_book())!=-1) books[n].id=0;
printf("该书已注销.
");
return_confirm();
}

void main(void)
{
menu: page_title("操作选单");
printf("请用数字键选择操作

");
printf("1 借阅图书2 归还图书
");
printf("3 注册新书4 注销旧书
");
printf("0 退出
");
switch(getch())
{
case '1' : book_out();break;
case '2' : book_in();break;
case '3' : book_add();break;
case '4' : book_del();break;
case '0' : exit(0);
}
goto menu;
}

图书管理系统主要要求可以录入书籍,添加书目,查找书本信息,删除或修改信息,有的还要求显示是否被借阅等。

一般采用结构体数组,链表,文件操作和自定义函数。主要是需要对基础知识掌握牢固。

先定义结构体,然后对结构体的成员进行定义,选择数组存储书本各种信息。录入信息可以用for和do while循环等来做。

存放信息需要文件操作函数,比如fopen,fwrite等。

删除和添加可以删除节点或者增加节点。

查找之类的可以用字符串操作的各种函数实现。

附上参考源代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#define  books "f:\\books.txt"
#define booksbak  "f:\\booksbak.txt"
struct bookinfo
{
char isbn[20];
char title[30];
char author[20];
int count;
};

struct book
{
struct bookinfo onebook;
struct book *next;
};

struct book *searchBook ( struct book *listptr,char isbn[])
{
while(listptr!=(struct book *)0)
if (strcmp(listptr->onebook.isbn,isbn)==0)
return listptr;
else
listptr=listptr->next;
return (struct book *)0;
}


void MainSearchbook(struct book *firstptr)
{
struct book *ptr;
char isbnno[20];
printf("请输入ISBN:");
scanf("%s",&isbnno);
ptr=searchBook(firstptr,isbnno);
if (ptr!=(struct book *)0)
{
printf("找到了!!!
");
printf("ISBN:%s
",ptr->onebook.isbn);
printf("Title:%s
",ptr->onebook.title);
printf("Author:%s
",ptr->onebook.author);
}
else
printf("sorry,not found!!!
");
}



int addBook(struct book *listptr,struct bookinfo note)
{
while(listptr->next!=0)
listptr=listptr->next;
listptr->next=(struct book *)malloc(sizeof(struct book));
listptr->next->onebook=note;
listptr->next->next=0;
return 0;

}

void MainAdd(struct book *listptr,FILE *fp)
{
int ok;
struct bookinfo note;
printf("请输入ISBN:");
scanf("%s",¬e.isbn);
printf("请输入Title:");
scanf("%s",¬e.title);
printf("请输入Author:");
scanf("%s",¬e.author);
ok=addBook(listptr,note);
if (ok==0)
{
//将加入的图书写到文件中保存
fprintf(fp,"
%s %s %s %d",note.isbn,note.title,note.author,0);
printf("添加图书成功!!!
");
}
else
printf("添加图书失败!!!
");
}


int removeBook(struct book *listptr,char isbn[])
{
while(listptr->next!=(struct book *)0)
{
if (strcmp(listptr->next->onebook.isbn,isbn)==0)
{
listptr->next=listptr->next->next;
return 0;
}
else
listptr=listptr->next;
}

return -1;
}

void MainRemove(struct book *listptr,FILE *fp)
/************************************************************************/
/* 删除书籍函数,通过ISBN删除链表节点,同时删除文件中对应信息              */
/* 删除文件中一行,用的是笨方法,把需要的信息写到新文件,删除旧文件,重命名..*/
/************************************************************************/
{
char isbnno[20];
int ok;
struct bookinfo onebook;
printf("请输入ISBN:");
scanf("%s",&isbnno);
ok=removeBook(listptr,isbnno);
if (!ok)
{
FILE *fpbak;
if ((fpbak=fopen(booksbak,"a+"))==NULL)
printf("文件打开失败!!!
");
fseek(fp,0,SEEK_SET);   //移到文件开始
while((fscanf(fp,"%s %s %s %d
",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
if (strcmp(onebook.isbn,isbnno)!=0)
{
fprintf(fpbak,"%s %s %s %d
",onebook.isbn,onebook.title,onebook.author,onebook.count);
}
}
fclose(fp);
fclose(fpbak);
if (remove(books))   //删除失败返回非0
{
printf("删除文件失败!!!
");
return ;
}
else
if (rename(booksbak,books))  //重命名失败返回非0值
{
printf("重命名失败!!!
");
return ;
}

printf("删除成功!!!
");
}
else
printf("查无此书!!!");
}

int  choice(void)
{
int c;
printf("1.查看图书
");
printf("2.添加图书
");
printf("3.删除图书
");
printf("4.退出程序
");
printf("请选择序号:");
return c=getchar();
//return c=getche();
printf("

");

}

int addEntry(FILE *fp,struct book *firstptr)
/************************************************************************/
/*        主要用来加载文件中存放的图书信息                              */
/************************************************************************/

{
struct bookinfo onebook;
while((fscanf(fp,"%s %s %s %d
",&onebook.isbn,&onebook.title,&onebook.author,&onebook.count))!=EOF)
{
while(firstptr->next!=0)
firstptr=firstptr->next;
firstptr->next=(struct book *)malloc(sizeof(struct book));
firstptr->next->onebook=onebook;
firstptr->next->next=0;
}
return 0;

}


int main(int argc,char *argv[])
{
int ch;
struct book first;
strcpy(first.onebook.isbn,"123456");
strcpy(first.onebook.title,"Programming C");
strcpy(first.onebook.author,"yhb");
first.next=0;
struct book *firstptr=&first;   //链表头指针
FILE *fp;
if ((fp=fopen(books,"a+"))==NULL)
printf("文件打开失败!!!");
addEntry(fp,firstptr);
while(1)
{
    system("CLS");   //清屏
/************************************************************************/
/*          想想这里为什么要清空缓冲区?                                 */
/*由于上一次(choice函数)的getchar(),还有一个'
'留在缓冲区....          */
/*可以把这句话注释掉看看,没有这句话会遇到麻烦                           */
/*如果不用fflush,可以将上面的getchar()换成getche()                      */
/*比较getchar(),getch(),getche()......                                  */
/************************************************************************/
fflush(stdin); 
ch=choice()-48;
switch (ch)
{
case 1:
MainSearchbook(firstptr);
break;
case 2:
MainAdd(firstptr,fp);
break;
case 3:
MainRemove(firstptr,fp);
break;
case 4:
printf("谢谢使用...
");
exit(0);
default:
printf("请输入正确序号!");
}
system("PAUSE");
}
return 0;
}


设计内容及要求:
主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:图书入库,按书名、出版社、价格、作者进行查询和分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以设计参数图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
按书名查询
按作者名查询
文件记录的字段数量不少于6个,分类统计中类别不少于2个。

最近刚帮朋友做过一个,思路嘛~
先要定义一个图书的类,类里有图书的基本信息的数据,对图书进行操作的函数。
主函数用switch语句实现菜单的分支选择操作,用goto实现菜单的循环~

C语言课程设计图书馆管理系统加讲解
答:include <stdio.h> include <stdlib.h> include <conio.h> struct BOOK { int id,usr[10],total,store,days[10];char name[31],author[21];}books[100];/*上面是结构体的定义,用于存放书籍及借书的信息。*/ void page_title(char *menu_item){ clrscr();printf(">>> 图 书 管 理 ...

c语言程序设计课程设计 图书管理系统 求原代码
答:高级语言程序设计(2)课程设计   一 程序设计说明书【设计题目】 图书馆借阅管理【问题描述】图书馆,适合用C++面向对象的功能来描述。图书馆管理系统分为借书、还书、图书管理和读者服务等四个部分。设计一个读者类Reader,记录每个读者基本信息;读者库类Rdatabase,记录所有读者信息;图书类Book, 记录每本书的...

图书馆管理系统 数据结构课程设计 c语言
答:图书馆管理系统 数据结构课程设计 c语言 10 图书借阅管理系统主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);用C语言编写,一周内要,谢谢... 图书借阅管理系统主要分为两大功能: 1) 图书管理(增加图书、查询图书、删除图书...

图书管理系统设计 C语言课程设计 我是大一的还都不会 帮个忙吧 谢谢啦...
答:include<stdio.h> include<string.h> include<conio.h> include<stdlib.h> include<ctype.h> define STACK_INIT_SIZE 10 define OK 1 define TRUE 1 define FALSE 0 define ERROR 0 struct student /*定义学生类型,用于存放借出的书籍*/ { int carnum;char lendbook[10];}student[1000];struc...

求C语言课程设计图书管理信息系统,急,要求如图,谢谢大神们了!_百度知 ...
答:求C语言课程设计图书管理信息系统,急,要求如图,谢谢大神们了!  我来答 1个回答 #热议# 你发朋友圈会使用部分人可见功能吗?勿忘心鈊 2014-06-21 · TA获得超过286个赞 知道答主 回答量:101 采纳率:100% 帮助的人:40.8万 我也去答题访问个人页 关注 展开全部 #include <iostream> #include...

求C语言课程设计图书管理信息系统,急,要求如图,谢谢各位大神们了!_百 ...
答:求C语言课程设计图书管理信息系统,急,要求如图,谢谢各位大神们了!  我来答 1个回答 #热议# 你发朋友圈会使用部分人可见功能吗?勿忘心鈊 2014-06-21 · TA获得超过286个赞 知道答主 回答量:101 采纳率:100% 帮助的人:40.2万 我也去答题访问个人页 关注 展开全部 #include <iostream> #...

高分求一份完整图书管理系统数据库课程设计
答:主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:图书入库,按书名、出版社、价格、作者进行查询和分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以设计参数图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,...

设计题目:2、图书信息管理系统设计
答:图书馆管理信息系统的开发设计 摘要:本应用程序以普通图书馆为开发对象, 采用’ 语言为开发平台, 可以完成图书馆管理系统的基本工作, 主要任务是对读者注册、图书信息登记、数据维护、借阅图书、归还图书、查询信息和报表输出进行计算机管理。关键词:图书馆,管理信息系统,开发设计 图书馆在正常运营中总是...

图书馆管理系统设计??
答:8.某高校图书馆管理信息系统的分析、设计与实施 某高校图书馆藏书200余万册,拥有包括在校学生、教职员工在内的读者2万余名,每天的借阅量近万册。在手工操作方式下,图书的编目和借阅等工作量大、准确性低且不易修改维护,读者借书只能到图书馆手工方式查找书目,不能满足借阅需求。因此,需要建立图书...

求数据库图书管理系统课程设计全套
答:课程设计报告实验名称:图书管理系统 学院:电子科学与信息技术学院专业:信息安全专业姓名: 学号:年级:05级1班任课教师: 2008 年7 月 16日摘要本设计报告主要介绍了用数据库开发工具ASP.NET开发一个小型数据库系统━━图书馆管理系统的设计过程.在数据库系统的开发工具中,ASP.NET具有良好的人机交互界面,合理的数据...