c语言课程设计作业Word格式文档下载.docx
- 文档编号:22517605
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:15
- 大小:18.15KB
c语言课程设计作业Word格式文档下载.docx
《c语言课程设计作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计作业Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
9)output()定义退出函数
3结构体的作用和应用。
在学生登记表中,姓名应为字符型;
学号可为整型或字符型;
年龄应为整型;
性别应为字符型;
成绩可为整型或实型。
显然不能用一个数组来存放这一组数据。
因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。
为了解
决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。
4如果设计一个产品管理系统,如何来设计。
1、系统以菜单方式工作,密码登陆。
2、商品信息的录入功能(增加数据)。
用数组数据类型赋初值的方法把商品信息送到各个数组中(但注意要是合法数据),然后把它们输出显示。
3、商品信息的删除(删除数据)。
任意输入一个商品的编号,将它所有的信息从组数中删除。
4、商品信息的浏览功能(查找数据)。
任意输入一个商品的编号,打印出他的所有数据。
要求能多次查找。
5、商品信息的删除(修改数据)。
任意输入一个商品的编号,打印出所有相关信息后,可对某一项信息进行修改并保存。
6、商品信息的计算并排序。
计算所有商品的总价格及平均价格(aver,单精度,输出一位小数),将包括所有数据的数组元素按价格从低到高的顺序排序打印出来。
5把自己修改的产品管理(或者图书管理\职工管理等)系统的代码贴到博客中。
图书管理系统
#include<
stdio.h>
math.h>
string.h>
stdlib.h>
structbooks_list
{
charauthor[20];
/*作者名*/
charbookname[20];
/*书名*/
charpublisher[20];
/*出版单位*/
charpbtime[15];
/*出版时间*/
charloginnum[10];
/*登陆号*/
floatprice;
/*价格*/
charclassfy[10];
/*分类号*/
structbooks_list*next;
/*链表的指针域*/
};
structbooks_list*Create_Books_Doc();
/*新建链表*/
voidInsertDoc(structbooks_list*head);
/*插入*/
voidDeleteDoc(structbooks_list*head,intnum);
/*删除*/
voidPrint_Book_Doc(structbooks_list*head);
/*浏览*/
voidsearch_book(structbooks_list*head);
/*查询*/
voidinfo_change(structbooks_list*head);
/*修改*/
voidsave(structbooks_list*head);
/*保存数据至文件*/
/*新建链表头节点*/
structbooks_list*Create_Books_Doc()
structbooks_list*head;
head=(structbooks_list*)malloc(sizeof(structbooks_list));
/*分配头节点空间*/
head->
next=NULL;
/*头节点指针域初始化,定为空*/
returnhead;
}
voidsave(structbooks_list*head)
structbooks_list*p;
FILE*fp;
p=head;
fp=fopen("
data.txt"
"
w+"
);
/*以写方式新建并打开data.txt文件*/
fprintf(fp,"
┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━┳━━━━┓\n"
/*向文件输出表格*/
┃登录号┃书名┃作者┃出版单位┃出版时间┃分类号┃价格┃\n"
┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━╋━━━━┫\n"
/*指针从头节点开始移动,遍历至尾结点,依次输出图书信息*/
while(p->
next!
=NULL)
{
p=p->
next;
┃%-6.6s┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s┃%-6.6s┃%.2f┃\n"
p->
loginnum,p->
bookname,p->
author,p->
publisher,p->
pbtime,p->
classfy,p->
price);
}
┗━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━┻━━━━┛\n"
fclose(fp);
printf("
已将图书数据保存到data.txt文件\n"
/*插入*/
voidInsertDoc(structbooks_list*head)
/*定义结构体指针变量s指向开辟的新结点首地址p为中间变量*/
structbooks_list*s,*p;
charflag='
Y'
;
/*定义flag,方便用户选择重复输入*/
/*遍历到尾结点,p指向尾结点*/
}
/*开辟新空间,存入数据,添加进链表*/
while(flag=='
||flag=='
y'
)
s=(structbooks_list*)malloc(sizeof(structbooks_list));
\n请输入图书登陆号:
"
fflush(stdin);
scanf("
%s"
s->
loginnum);
\n请输入图书书名:
bookname);
\n请输入图书作者名:
author);
\n请输入图书出版社:
publisher);
\n请输入图书出版时间:
pbtime);
\n请输入图书分类号:
classfy);
\n请输入图书价格:
%f"
&
s->
\n"
p->
next=s;
/*将新增加的节点添加进链表*/
p=s;
/*p指向尾节点,向后移*/
s->
━━━━添加成功!
━━━━"
\n继续添加?
(Y/N):
%c"
flag);
if(flag=='
N'
n'
{break;
elseif(flag=='
{continue;
save(head);
/*保存数据至文件*/
return;
/*查询操作*/
voidsearch_book(structbooks_list*head)
structbooks_list*p;
chartemp[20];
if(head==NULL||head->
next==NULL)/*判断数据库是否为空*/
━━━━图书库为空!
━━━━\n"
else
请输入您要查找的书名:
"
temp);
/*指针从头节点开始移动,遍历至尾结点,查找书目信息*/
if(strcmp(p->
bookname,temp)==0)
\n图书已找到!
登录号:
%s\t\n"
书名:
作者名:
出版单位:
出版时间:
分类号:
价格:
%.2f\t\n"
if(p->
next==NULL)
\n查询完毕!
/*浏览操作*/
voidPrint_Book_Doc(structbooks_list*head)
\n━━━━没有图书记录!
━━━━\n\n"
/*循环输出表格*/
/*修改操作*/
voidinfo_change(structbooks_list*head)
intpanduan=0;
/*此变量用于判断是否找到书目*/
请输入要修改的书名:
\n请输入图书登陆卡号:
p->
panduan=1;
if(panduan==0)
/*删除操作*/
voidDeleteDoc(structbooks_list*head)
structbooks_list*s,*p;
/*s为中间变量,p为遍历时使用的指针*/
intpanduan;
/*此变量用于判断是否找到了书目*/
panduan=0;
p=s=head;
[请输入您要删除的书名]:
/*遍历到尾结点*/
while(p!
panduan++;
break;
if(panduan==1)
for(;
=p;
)/*找到所需删除卡号结点的上一个结点*/
s=s->
next=p->
/*将后一节点地址赋值给前一节点的指针域*/
free(p);
\n━━━━删除成功!
━━━━\n"
else/*未找到相应书目*/
您输入的书目不存在,请确认后输入!
intmain(void)
{
charchoice;
head=NULL;
)/*实现反复输入选择*/
┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n"
┃┃图书管理系统┃┃\n"
┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"
┃●[1]图书信息录入┃\n"
┃┃\n"
┃●[2]图书信息浏览┃\n"
┃●[3]图书信息查询┃\n"
┃●[4]图书信息修改┃\n"
┃●[5]图书信息删除┃\n"
┃●[6]退出系统┃\n"
┗━━━━━━━━━━━━━━━━━━━━━━━┛\n"
请选择:
choice);
if(choice=='
1'
if(head==NULL)
head=Create_Books_Doc();
InsertDoc(head);
elseif(choice=='
2'
Print_Book_Doc(head);
3'
search_book(head);
4'
info_change(head);
5'
DeleteDoc(head);
6'
━━━━━━━━感谢使用图书管理系统━━━━━━━━\n"
else
━━━━输入错误,请重新输入!
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)