• 大小: 0.01M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-09-12
  • 语言: 其他
  • 标签: 其他  

资源简介

LEMS.zip

资源截图

代码片段和文件信息

/*
 *Copyright (c) 2018 cubestdio
 *All rights reserved
 *
 *filename:LSMS.cpp
 *Description:
 *
 *version:1.0
 *Author:xyc
 *Created on 20180908
 */
/*---------------引入头文件---------------*/
#include 
#include 
#include 
#include 
#include 
 /*---------------声明设备结构体类型---------------*/
typedef struct device
{ /*数据域*/
/*设备编号*/
char ID[20];
/*设备类型*/
char type[20];
/*设备型号*/
char version[20];
/*购买日期*/
char date[10];
/*购入价格*/
double price;
/*管理员*/
char admin[20];
/*设备状态*/
char state[20];
    /*指针域*/
        struct device *next;
}  Device;
/*---------------符号常量---------------*/
#define N 10
/*---------------函数原型---------------*/
void welcome();
Device *read(Device *head);
Device *create(FILE *fpDevice *m);
void menu(Device *head);
Device *Add(Device *head);
Device *getRearPointer(Device *head);
Device *AddValue(Device *headDevice m);
void Display(Device *head);
int Query(Device *headint a[]);
void print_head();
void print_row(Device *p);
void print_foot();
int QueryByID(Device *headint a[N]char  keyword[20]);
void CountPos(int a[]int index[]int n);
Device *Delete(Device *head);
Device *DeleteByPos(Device *headint Pos);
void Modify(Device *head);
void ModifyByPos(Device *headint Pos);
void Stat(Device *head);
void getTotalValue(Device *head);
void getTotalNumber(Device *head);
double getValueByPos(Device *headint Pos);
void getFieldValue(Device *head);
void getFieldNumber(Device *head);
void Save(Device *head);
void destroy(Device *head);
void Exit(Device *head);

/*---------------主函数---------------*/
int main()
{ /*定义一个表头指针变量,并将它初始化为NULL*/
Device *head=NULL;
/*调用欢迎模块*/
welcome();
/*调用读取模块*/
head=read(head);
/*调用菜单模块*/
menu(head);
return 0;
}

/*---------------欢迎模块---------------*/
/*
*函数名:welcome
*函数功能:输出欢迎字符串
*函数参数:无
*函数返回值:无
*/
void welcome()
{
printf(“##############################################################################\n“);
printf(“##         Welcome to the laboratory equipment management system!!!         ##\n“);
printf(“##############################################################################\n“);
    printf(“请按任意键继续...“);
    /*getch函数接受一个任意键的输入,不用按回车就返回*/
getch();
/*下面这条语句用于清除“请按任意键继续...”这几个字*/
printf(“\r                             \r“);
}

/*---------------读取模块---------------*/
/*
*函数名:read
*函数功能:打开文本文件,若文件为空,则询问是否添加数据,若文件非空,则进行读取操作
*函数参数:接收表头指针变量里存的地址
*函数返回值:返回表头指针变量里存的地址
*/
Device *read(Device *head)
{
/*定义一个FILE类型的指针变量*/
FILE *fp;
/*定义一个静态结构体变量,因为后面需要用到它的地址*/
static Device m;
/*定义一个临时变量用于询问是否添加数据*/
char judge;
/*文件打开及检验*/
if( (fp = fopen(“source.txt““r“) ) == NULL)
{
printf(“cannot open sourefile!“);
exit(0);
}
/*先读取一行数据,返回值k是指已输入的数据个数,这样做是为了解决只有一行记录时出现的BUG*/
int k=fscanf(fp“%s%s%s%s%lf%s%s\n“m.IDm.typem.versionm.date&(m.price)m.adminm.state);
/*判断文件是否为空*/
if(k==EOF)
{ /*如果为空,则询问是否

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       31419  2018-09-08 21:06  LEMS.cpp
     文件         357  2018-03-03 21:18  source.txt

评论

共有 条评论