c语言课程设计。
实验报告。设计人: 郭天赐 23220102204162
设计目的:该程序设计用于登录图书信息,并提供信息的查询,更改,删除,增加,保存,排序等功能,系统还提供自动存储功能。在于运转一个良好的图书管理系统。
设计要求:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、**等。试设计一图书信息管理系统,使之能提供以下功能:
系统以菜单方式工作。
图书信息录入功能(图书信息用文件保存)--输入。
图书信息浏览功能--输出。
查询和排序功能:(至少一种查询方式)--算法;( 按书名查询, 按作者名查询)
图书信息的删除与修改(可选项)
流程图: main 函数
change 函数。
del 函数。
find 函数。
input 函数。
print 函数。
s**e 函数。
详细设计:#include<>
#include<>
#include<>
#define len sizeof(note)
struct book
int num;//图书登录号。
char name[50];/书名。
char writer[50];/作者名。
int clas;//分类号。
char pub[50];/出版社。
char time[50];/出版时间。
float price;//**。
typedef struct note//将note定义为struct note 同名类型。
struct book data;
struct note *next;
note,*link;
int n = 0, k = 0;
link last;//定义全局变量指针last ,其功能是总指向已存在链表最后一个节点。
void order()
printf("order:");
printf
printf("\t\t\t\t图书信息管理系统\t\t\t\t");
printf("1图书信息录入功能\t\t\t\t\t2图书信息浏览功能");
printf("3图书信息查询功能\t\t\t\t\t4图书信息的删除");
printf("5图书信息的修改 \t\t\t\t\t6按登录号排序功能");
printf("7保存t\t\t\t\t0退出");
printfn");
return;
void s**e(link l)
int flag = 1, count = 0;
note *p;
file *fp;
fp=fopen("c:\\book", wb");
if (fp ==null)
p = l->next; /将链表首地址付给p
while(p)
fclose(fp);
if(count==0)
if (flag)
printf("提示:文件保存成功。(有%d条记录已经保存。)",count);
return;
void seek(link p,link p1)//该函数功能是避免输入相同登录号。
link head=p;
while(p)
p=p->next;
return;
void input(link l)
note *p1,*head;
int m=1;
head=l->next;
if(n==0)
last=(note *)malloc(len);
p1=(note *)malloc(len);
printf("请输入第%d个数据:", m);
printf("登录号:")
scanf("%d",&p1->
getchar();
seek(head,p1);/验证是否重复。
if(p1->
elsereturn;k++;
printf("书名:")
gets(p1->
printf("作者姓名:")
gets(p1->
printf("分类号:")
scanf("%d",&p1->
getchar();
printf("出版单位:")
gets(p1->
printf("出版时间:")
gets(p1->
printf("**:")
scanf("%f",&p1->
last->next=p1;//将新开辟节点并入链表。
p1->next=null;
last=p1;//跳动尾指针。
while(p1->
s**e(l);
return;
void print(link l)
note *p;
int count=0;
p=l->next;
printf("\t\t\t\t图书信息管理系统\t\t\t\t");
if(p!=null)
dowhile(p!=null);
if(count==0)
return;
void find(link l)
int i=0,n,k=0;
char name[10],writer[10];
note *p;
p=l->next;
printf("1按书名查询\t\t\t\t2按作者名查询");
loop: printf("请输入要查询序号(按0返回菜单):"
scanf("%d",&n);
if(n==0)
return;
if(n!=1&&n!=2)
else if(n==1)
C语言作业报告
题目 1 第一个上台的小组。班级 计机113 组号 第一组 成员 林少烈黎冠杰卢灿关旗少罗启恩陈庆裕陈伟鸿。第一部分 一 分析题目1 求13的13次方的最后三位数。1.构造案例1 通过讨论,我们总结错误用另一种方法求出13的13次方的后三位,就是只求每次乘积的后三位,对13的13次方中每次乘积都进行...
C语言大作业报告
猜数字游戏。信安三班。孙麒 2009302530088 戈丽萍 2009302530066 分工。戈丽萍 a b win函数,流程图。孙麒 main guess函数 程序调试。一 游戏说明。1 系统随机产生一组不重复的4位数字。2 游戏者输入所猜的不重复数字,并按回车提交。3 系统将提交的数与它自动...
C语言大作业报告
摘要。我选择的是数学型综合作业 a 求最大数 b 高次方数的尾数。主要内容 a 求555555的约数中最大的三位数 b 求13的13次方的最后三位数。基本设计思路 a 题目的设计思路是 因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555...