快点! !用数据结构和C语言编写数据管理系统代码(不要使用C ++)

电脑杂谈  发布时间:2020-06-15 19:08:25  来源:网络整理

c语言编写学生成绩管理系统_c语言编写万年历系统_c语言编写图书管理系统

我的邮箱在2113线路上已有很长时间了. 如果您一无所知,可以直接咨询5261. 电子邮件: wyw2010@tom.com

这是我以前在4102中所做的课程设计,而没有修改功能1653. 修改非常容易. 我也有学生管理信息的源代码,可以实现上述所有功能. 由于我现在正在为客户开发系统,因此我没有时间完善此程序. 我希望您可以自己改善它.

/ *设计并实施一个简单的图书馆管理系统来管理图书馆业务* /

///////////////////////////////////////////////// // /

//内容: 设计并实现一个简单的图书馆管理系统来管理图书馆业务

//要求: 以C语言和顺序结构实现,该系统具有以下功能

// 1. 图书存储: 图书数据包括图书编号,书名,作者,数量,单价等. 一本书作为节点,

//使用书号作为关键字,以输入顺序建立顺序表

// 2. 排序: 按书号升序排序(可以选择任何排序方式)

// 3. 搜索: 可以按书名和书号进行搜索(分别为顺序搜索和半搜索)

// 4. 删除: 从表格中删除指定的书

#include

#include

#include

#include

#define LIST_INIT_SIZE 50

#define LISTINCREMENT 10

typedef结构书

{

int BookNum; / *书号* /

char BookName [50]; / *书名* /

char BookWrite [50]; / *图书作者* /

浮动书价; / *图书价格* /

int数字; / *图书数量* /

}书籍;

typedef struct Library_Data

{

Book * book;

int长度;

int listsize;

int Num;

} Library_Data,* Lib_Data;

//显示指定的记录

无效打印(书p)

{

printf(“ \ n ****************************************** ******************************** \ n“);

printf(“书号,书名,作者,书数,书单价(元)\ n”);

printf(“ -------------------------------------------- ---- ------------------------ \ n“);

printf(“%-14d%-14s%-14s%-14d%-14f \ n”,p.BookNum,p.BookName,p.BookWrite,p.numbers,p.BookPrice);

printf(“ ******************************************** ****************************** \ n“);

}

//查找功能

int find(Library_Data p,int Num,char s [20])

{

int i,low,mid,high;

if(Num ==-1)

for(i = 0; i

{

if(strcmp(s,p.book [i] .BookName)== 0)

返回我;

}

否则if(strcmp(s,“”)== 0)

{

low = 0; high = p.length;

while(low <= high)/ *查找一半* /

{

mid =(low + high)/ 2;

if(Num == p.book [mid] .BookNum)返回mid;

否则if(Num> p.book [mid] .BookNum)low = mid + 1;

else high = mid-1;

}

}

返回-1;

}

//升序

Library_Data Sort_Book(Library_Data&p)

{

书p0;

int i,j;

if(p.Num == 0)返回p;

for(i = 0; i

c语言编写学生成绩管理系统_c语言编写图书管理系统_c语言编写万年历系统

{

for(j = i + 1; j

{

if(p.book [i] .BookNum> p.book [j] .BookNum)

{

p0 = p.book [i];

p.book [i] = p.book [j];

p.book [j] = p0;

}

}

}

返回p;

}

//图书初始化

void Create_Data(Library_Data&p1)

{

int i = 0;

图书* newbase;

system(“ cls”);

printf(“现在初始化书\ n”);

puts(“ ***************************************”);

p1.Num = 0; p1.length = 0;

p1.listsize = LIST_INIT_SIZE;

p1.book =(书*)malloc(LIST_INIT_SIZE * sizeof(书));

做

{

if(p1.length> p1.listsize)

{

newbase = {Book *)realloc(p1.book,(p1.listsize + LISTINCREMENT)* sizeof(Book));

如果(!newbase)出口(0);

p1.book = newbase;

p1.listsize + = LISTINCREMENT;

}

printf(“请输入书号: ”);

scanf(“%d”,&p1.book [i] .BookNum);

printf(“请输入书名: ”);

scanf(“%s”,&p1.book [i] .BookName);

printf(“输入图书作者: ”);

scanf(“%s”,&p1.book [i] .BookWrite);

printf(“请输入书数: ”);

scanf(“%d”,&p1.book [i] .numbers);

printf(“请输入书价: ”);

scanf(“%f”,&p1.book [i] .BookPrice);

p1.Num + = p1.book [i] .numbers; i ++; p1.length ++;

printf(“ *********************************** \ n”);

printf(“按n退出,按另一个继续. \ n”); / *提示如何继续,退出* /

printf(“ *********************************** \ n”);

} while(getch()!='n');

Sort_Book(p1);

}

//查找书籍

int Find_Book(Library_Data p,int n)

{

字符名称[20] =“”;

int k,Num = -1;

if(p.Num == 0)

{

system(“ cls”);

printf(“现在没有书记录!”);

返回0;

}

否则if(n == 1)

{

system(“ cls”); / *清除屏幕* /

printf(“现在要搜索书籍信息”);

printf(“ \ n ****************************************** **** *** \ n“);

printf(“请输入您要查找的书的标题: ”);

scanf(“%s”,name);

k = find(p,Num,name); / *调用find()查找函数* /

if(k!=-1)/ *条件满足以下功能* /

print(p.book [k]);

c语言编写图书管理系统_c语言编写学生成绩管理系统_c语言编写万年历系统

其他

printf(“ \ n找不到您要查找的图书信息. 按任意键继续. ”);

}

否则if(n == 2)

{

system(“ cls”); / *清除屏幕* /

printf(“现在要搜索书籍信息”);

printf(“ \ n ****************************************** **** *** \ n“);

printf(“请输入您要查找的书号: ”);

scanf(“%d”,&Num);

k = find(p,Num,name); / *调用find()查找函数* /

if(k!=-1)/ *条件满足以下功能* /

print(p.book [k]);

其他

printf(“ \ n找不到您要查找的图书信息. 按任意键继续. ”);

}

其他

printf(“您的选择是错误的!”);

返回1;

}

//插入书本

void add(Library_Data&p0)

{

int i,k,low,mid,high;

书p1,* p2,* p3,* newbase;

system(“ cls”);

if(p0.Num == 0)

printf(“图书信息表尚未初始化,您需要在插入之前初始化图书信息表. \ n”);

其他

{

if(p0.length> = p0.listsize-1)

{

newbase = {Book *)realloc(p0.book,(p0.listsize + LISTINCREMENT)* sizeof(Book));

如果(!newbase)出口(0);

p0.book = newbase;

p0.listsize + = LISTINCREMENT;

}

printf(“请输入要插入的图书信息: \ n”);

printf(“ ******************************************** **** * \ n“);

printf(“请输入书号: ”);

scanf(“%d”,&p1.BookNum);

printf(“ ******************************************** **** * \ n“);

printf(“请输入书名: ”);

scanf(“%s”,&p1.BookName);

printf(“ ******************************************** **** * \ n“);

printf(“请输入书作者: ”);

scanf(“%s”,&p1.BookWrite);

printf(“ ******************************************** **** * \ n“);

printf(“请输入书数: ”);

scanf(“%d”,&p1.numbers);

printf(“ ******************************************** **** * \ n“);

printf(“请输入书价: ”);

scanf(“%f”,&p1.BookPrice);

printf(“ ******************************************** **** * \ n“);

low = 0; high = p0.length;

if(p1.BookNum

{

for(p2 =&p0.book [p0.length]; p2> =&p0.book [0]; p2-)

*(p2 + 1)= * p2;

p0.book [0] = p1;

p0.Num + = p1.numbers; p0.length ++;

}

否则if(p1.BookNum> p0.book [p0.length-1] .BookNum)

{

p0.book [p0.length] = p1;

p0.Num + = p1.numbers; p0.length ++;

}

其他

{

for(i = 0; i

if(p1.BookNum> = p0.book [i] .BookNum && p1.BookNum

c语言编写万年历系统_c语言编写学生成绩管理系统_c语言编写图书管理系统

for(p2 =&p0.book [p0.length]; p2>&p0.book [i]; p2-)

*(p2 + 1)= * p2;

p0.book [i + 1] = p1;

p0.Num + = p1.numbers; p0.length ++;

}

}

}

//删除图书

void Delete_Book(Library_Data&LD,int n)

{

system(“ cls”);

字符名称[20] =“”;

字符a;

int i = 0c语言编写图书管理系统,k = 0,Num = -1;

书* p1,* p2;

if(LD.Num == 0)

printf(“现在没有书记录!”);

其他

{

printf(“删除图书信息”);

printf(“ \ n ****************************************** **** *** \ n“);

if(n == 1)

{

printf(“请输入要删除的书的标题: ”); / *提示输入要删除的书的标题* /

scanf(“%s”,name);

printf(“是否要删除所有同名书籍?” Y“是,其他键仅删除第一本书: ”);

if(getch()=='y')/ *删除所有具有相同名称的书* /

{

for(i = 0; i

{

if(strcmp(name,LD.book [i] .BookName)== 0)

{

p2 =&LD.book [LD.length-1];

LD.Num- = LD.book [i] .numbers;

for(p1 =&LD.book [i]; p1 <= p2; p1 ++)

* p1 = *(p1 + 1);

LD.length-; k = 1; i = -1;

}

}

if(k == 0)printf(“ \ n没有要删除的记录\ n”);

else printf(“ \ n所有名为”%s“的信息已被删除!\ n”,名称); / *显示已删除的信息* /

}

其他

{

i = find(LD,Num,name);

if(i ==-1)printf(“ \ n没有要删除的记录\ n”);

其他/ *删除同一本书的信息* /

{

p2 =&LD.book [LD.length-1];

LD.Num- = LD.book [i] .numbers;

for(p1 =&LD.book [i]; p1 <= p2; p1 ++)

* p1 = *(p1 + 1);

printf(“ \ n书号为%s的信息已被删除!\ n”,名称); / *显示已删除的信息* /

LD.length-;

}

}

}

否则if(n == 2)

{

printf(“请输入要删除的书号: ”); / *提示输入要删除的书号* /

scanf(“%d”,&Num);

i = find(LD,Num,name);

if(i ==-1)printf(“没有要删除的记录\ n”);

其他

{

p2 =&LD.book [LD.length-1];

LD.Num- = LD.book [i] .numbers;

for(p1 =&LD.book [i]; p1 <= p2; p1 ++)

* p1 = *(p1 + 1);

printf(“书号为%d的信息已被删除!\ n”,Num); / *显示已删除的信息* /

LD.length-;

c语言编写万年历系统_c语言编写学生成绩管理系统_c语言编写图书管理系统

}

}

其他

printf(“您的选择是错误的!”);

}

}

//显示所有书籍信息

void ShowBookTable(Library_Data p,int n)

{

int i;

system(“ cls”);

if(n == 0)

printf(“现在没有书记录!”);

其他

{

printf(“现在有有关%d本书的信息. ”,n);

printf(“ \ n ****************************************** ********************************** \ n“);

printf(“书号c语言编写图书管理系统,书名,作者,书数,书单价(元)\ n”);

for(i = 0; i

{

printf(“ -------------------------------------------- ---- -------------------------- \ n“);

printf(“%-14d%-14s%-14s%-14d%-14f \ n”,p.book [i] .BookNum,p.book [i] .BookName,p.book [i]. BookWrite,p.book [i] .numbers,p.book [i] .BookPrice);

}

printf(“ ******************************************** ******************************** \ n“);

}

}

//菜单功能

int menu_select()/ *定义菜单功能* /

{

int c;

printf(“按任意键进入选择菜单... \ n”); / *提示按任意键继续* /

getch(); / *读取任何字符* /

system(“ cls”); / *清除屏幕* /

printf(“ ********************菜单选项如下****************** \ n \ n“); / *以下是主菜单* /

printf(“ 1.初始化图书信息表\ n”);

printf(“ 2.显示所有书籍记录\ n”);

printf(“ 3.查找图书记录\ n”);

printf(“ 4.删除帐簿记录\ n”);

printf(“ 5.插入新记录\ n”);

printf(“ 6.退出系统\ n”);

printf(“ ******************************************** **** *** \ n“);

做{

printf(“ \ n输入您的选择(1〜6): ”); / *提示输入选项* /

scanf(“%d”,&c); / *输入选择内容* /

if(!(c> = 1 && c <= 6))

{printf(“您的输入不正确,请重新输入......”);}

} while(c <1 || c> 6); / *选择在0〜6之间不重新输入* /

返回c; / *返回所选项目,主程序根据该编号调用相应的函数* /

}

void main()

{

Library_Data LD;

LD.Num = 0;

int n,m;

for(;;)/ *无限循环* /

{

switch(menu_select())

{

情况1: Create_Data(LD); break; / *初始* /

案例2: ShowBookTable(LD,LD.Num); break; / *显示所有书籍信息* /

情况3:

printf(“请选择搜索方法(“ 1”用于按书名搜索,“ 2”用于按书号搜索: ”);

scanf(“%d”,&n);

Find_Book(LD,n); break; / *查找书籍信息* /

情况4:

printf(“请选择删除方法(” 1“按书名删除,” 2“按书号删除): ”);

scanf(“%d”,&m);

Delete_Book(LD,m); break; / *删除图书信息* /

案例5: add(LD); break; / *插入图书信息* /

情况6: exit(0); / *结束程序* /

}

}

}


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-246512-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...