C语言课程设计实验室设备信息管理系统.docx

上传人:b****5 文档编号:3159666 上传时间:2022-11-18 格式:DOCX 页数:33 大小:163.31KB
下载 相关 举报
C语言课程设计实验室设备信息管理系统.docx_第1页
第1页 / 共33页
C语言课程设计实验室设备信息管理系统.docx_第2页
第2页 / 共33页
C语言课程设计实验室设备信息管理系统.docx_第3页
第3页 / 共33页
C语言课程设计实验室设备信息管理系统.docx_第4页
第4页 / 共33页
C语言课程设计实验室设备信息管理系统.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C语言课程设计实验室设备信息管理系统.docx

《C语言课程设计实验室设备信息管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计实验室设备信息管理系统.docx(33页珍藏版)》请在冰豆网上搜索。

C语言课程设计实验室设备信息管理系统.docx

C语言课程设计实验室设备信息管理系统

 

***大学

二○一五~二○一六学年第一学期

电子与信息工程系

课程设计报告书

课程名称:

程序设计基础实践

班级:

学号:

姓名:

指导教师:

 

二○一五年十二月

 

实验室设备信息管理系统

1..实验室设备信息管理系统功能

(1).每一条记录包括实验室的设备编号、设备名称、设备型号、设备价格、设备购买日期信息。

(2).实验设备信息录入:

可以一次完成诸多条记录的录入。

(3).实验设备信息更改:

可实现对实验设备信息更改的信息进行适当的修改。

(4).报废设备信息删除:

对实验损毁设备信息予以删除。

(5).实验设备信息查询:

本系统提供两种查询实验设备的方法:

1.按器材名称查询.

2.按器材编号查询.

从而完成按实验设备的查找查找功能,并显示。

(6).实验设备信息排序:

根据实验设备的编号进行排序,以实现实验设备的有序全局查看。

实验设备信息显示功能:

完成全部学生记录的显示。

(7).简单帮助:

提供实验室负责人简单的信息。

(8).保存功能:

将学生记录保存在任何自定义的文件中,如保存在:

c:

\score。

(9).读取功能:

将保存在文件中的学生记录读取出来。

(10).有一个清晰美观界面来调用各个功能

2.设计内容

2.1程序的总体设计

整个系统除了主函数外,另外还有11个函数,实现以下功能:

实验室设备录入功能、显示功能、查找功能、排序功能、读出与写入取功能。

各个函数的详细设计说明分别如下:

2.2数据结构

根据系统要求,系统中设计实验器材具体信息,其结构如下:

数据项名称

数据项系统表示

数据类型

数据长度

备注

编号

bianhao

字符串

名称

name

字符串

20

型号

model

字符串

20

购入时间

buy_date

字符串

20

价格

price

字符串

20

使用C语言创建的结构体如下:

typedefEquipment/*定义数据结构*/

{

charbianhao;//编号

charname[20];//名称

charmodel[20];//型号bnm

charprice[20];//价格

charbuy_date[20];//购买日期

};

3详细设计

控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图1所示。

通过switch进入分支结构从而调用执行不同的函数,以实现菜单选择的功能。

程序如下:

voidmain()

{

intchoice;

intchoice2;

IO_ReadInfo();

system("cls");

while

(1)

{

/*主菜单*/

printf("\n\n\n\n\n\t\t------苏州科技学院实验器材管理系统------\n\n");

printf("\t\t\t1.实验设备信息录入\n");

printf("\t\t\t2.实验设备信息更改\n");

printf("\t\t\t3.报废设备信息删除\n");

printf("\t\t\t4.实验设备信息查询\n");

printf("\t\t\t5.实验设备信息排序\n");

printf("\t\t\t6.帮助\n");

printf("\t\t\t7.退出\n");

printf("\n\t\t------*------*-----*-----*-----*-----*------\n");

printf("\n\n\n请选择(1-7):

");

scanf("%d",&choice);

getchar();

system("cls");

switch(choice)

{

case1:

Equipment_Insert();

break;

case2:

Equipment_Modify();

break;

case3:

Equipment_Delete();

break;

case4:

printf("\n\n\n\n\n\t请选择(1/2)→1.按器材名称查询\n");

printf("2.按器材编号查询\n\n\n");

scanf("%d",&choice2);

switch(choice2)

{

case1:

Equipment_nameSelect();

break;

case2:

Equipment_bianhaoSelect();

break;

}

break;

case5:

voidEquipment_paixu();

Equipment_Display();

break;

case6:

printf("\n\n\n\n\n\n\t\t\t---**---电子与通信工程学院实验室---**---\n\n");

printf("\t\t\t\t负责人:

sdiwen\n\n");

printf("\t\t\t\t办公室:

A-201\n\n");

printf("\t\t\t\tTel:

*************\n\n");

printf("\t\t\t---**---**---**---**---**---**------**---\n\n");

printf("\t\t\t\t\t||→madebywangluoyang\n\n");

break;

case7:

exit(0);

break;

}

system("Pause");

system("cls");

IO_WriteInfo();

}

}

 

N

 

图1.主模块流程图

其运行界面如下:

3.2一些辅助函数

通过设备编号返回数组下标(intEquipment_SearchByIndex(charid[]))

通过(strcmp(equipment[i].bianhao,id)==0)进行比较,从而反馈回对应设备的数组下标。

以方便查询函数,与显示函数的执行。

程序如下:

intEquipment_SearchByIndex(charid[])

{

inti;

for(i=0;i

{

if(strcmp(equipment[i].bianhao,id)==0)

{

returni;

}

}

return-1;

}

通过设备名称返回数组下标(intEquipment_SearchByName(charname[]))

通过(strcmp(equipment[i].name,name)进行比较,从而反馈回对应设备的数组下标。

以方便查询函数,与显示函数的执行。

程序如下:

intEquipment_SearchByName(charname[])

{

inti;

for(i=0;i

{

if(strcmp(equipment[i].name,name)==0)

{

returni;

}

}

return-1;

}

显示单条设备记录(voidEquipment_DisplaySingle(intindex))

为报废设备删除提供信息的显示。

如下所示,即是调用单条显示函数。

voidEquipment_DisplaySingle(intindex)

{

printf("\n\n\n设备编号设备名称设备型号设备价格设备购买日期\n");

printf("-------------------------------------------------------------\n");

printf("%5s%12s%10s%12s%15s\n",equipment[index].bianhao,equipment[index].name,

equipment[index].model,equipment[index].price,equipment[index].buy_date);

}

显示在库设备信息(voidEquipment_Display())

通过for循环语句将结构体数组中所有的内容显示出来,为排序函数提供显示提出,排序函数最后显示即需要调用显示函数。

voidEquipment_Display()

{

inti;

printf("设备编号设备名称设备型号设备价格设备购买日期\n");

printf("-------------------------------------------------------------\n");

for(i=0;i

{

printf("%5s%12s%10s%12s%15s\n",equipment[i].bianhao,equipment[i].name,

equipment[i].model,equipment[i].price,equipment[i].buy_date);

}

}

将设备信息从文件读出voidIO_ReadInfo()

将设备信息写入文件voidIO_WriteInfo()

这两条函数即是将所录入系统的信息保存在database.txt中,以便下次使用时信息的读取与保存。

voidIO_ReadInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","rb"))==NULL)

{

printf("不能打开文件!

\n");

return;

}

if(fread(&num,sizeof(int),1,fp)!

=1)

{

num=-1;

}

else

{

for(i=0;i

{

fread(&equipment[i],sizeof(structEquipment),1,fp);

}

}

fclose(fp);

}

/*将设备信息写入文件*/

voidIO_WriteInfo()

{

FILE*fp;

inti;

if((fp=fopen("Database.txt","wb"))==NULL)

{

printf("不能打开文件!

\n");

return;

}

if(fwrite(&num,sizeof(int),1,fp)!

=1)

{

printf("写入文件错误!

\n");

}

for(i=0;i

{

if(fwrite(&equipment[i],sizeof(structEquipment),1,fp)!

=1)

{

printf("写入文件错误!

\n");

}

}

fclose(fp);

}

信息输入时,设计思想为通过while

(1)死循环,不断输入字符串的值保存在结构体数组中,通过if(getchar()=='n')

{

break;

}

来判定是否跳出循环。

在系统

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1