C语言作业报告

发布 2022-09-14 21:43:28 阅读 3188

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...