在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++语言基础 → 实验室设备管理系统.c

实验室设备管理系统.c

C/C++语言基础

下载此实例
  • 开发语言:C/C++
  • 实例大小:9.50KB
  • 下载次数:18
  • 浏览次数:195
  • 发布时间:2020-12-20
  • 实例类别:C/C++语言基础
  • 发 布 人:devSVs
  • 文件格式:.c
  • 所需积分:3
 相关标签: 管理系统 设备 实验 管理 系统

实例介绍

【实例简介】

增加设备信息

 

1.3查询设备信息


【实例截图】from clipboard
【核心代码】

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h> /*I/O函数*/

#include<stdlib.h> /*其它说明*/

#include<string.h> /*字符串函数*/

 

#define LEN 15

#define N 50

 

int k = 1, n = 0, m = 0;

 

//函数声明

void readfile();

void seek();

void modify();

void insert();

void del();

void display();

void save();

void menu();

 

struct student{

char StudentId[LEN 1];

char StudentName[LEN 1];

int StudentAge;

char StudentSex;

float score[3];

}stu[N];

 

//主函数

int main()

{

while (k)

{

menu();

}

system("pause");

return 0;

}

 

//系统帮助函数

void help()

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.初次进入系统后,请先选择增加实验室设备信息;\n");

printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加设备信息后,切记保存;\n");

printf("\n4.谢谢您的使用!\n");

}

 

//刷新文件

int flush(){

char filename[LEN 1];

int i = 0;

printf("请输入要刷新设备信息的文件名:\n");

scanf("%s", filename);

int j = 0;

FILE * fp;

if ((fp = fopen(filename, "r")) == NULL) return 0;

//从文件读取信息

while (fscanf(fp, "%s %s %s %d %d %d %d ", &stu[j].StudentId, &stu[j].StudentName, &stu[j].StudentAge, &stu[j].StudentSex, &stu[j].score[0], &stu[j].score[1], &stu[j].score[2]) == 7) {

j ;

}

n = j;

printf("刷新成功!!!");

return n;

}

 

void seek() /*查找*/

{

int i, item, flag;

char s1[21];

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

printf("-----1.按设备号查询-----\n");

printf("-----2.按设备名称查询-----\n");

printf("-----3.退出本菜单-----\n");

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

while (1)

{

printf("请选择子菜单编号:");

scanf("%d", &item);

flag = 0;

switch (item)

{

case 1:

printf("请输入要查询的设备的代号:\n");

scanf("%s", s1);

for (i = 0; i<n; i )

if (strcmp(s1,stu[i].StudentId) == 0)

{

flag = 1;

printf("设备号\t设备名称\t使用年数\t是否报废\t购买时间\t价格\n");

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

printf("%s\t%s\t%d\t%6\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId,stu[i].StudentName,stu[i].StudentAge,stu[i].StudentSex,stu[i].score[0],stu[i].score[1],stu[i].score[2]);

}

if (0 == flag)

printf("该设备号不存在!\n"); break;

case 2:

printf("请输入要查询的设备的名称:\n");

scanf("%s", s1);

for (i = 0; i<n; i )

if (strcmp(stu[i].StudentName, s1) == 0)

{

flag = 1;

printf("设备号\t设备名称\t使用年数\t是否报废\t购买时间\t价格\n");

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

printf("%s\t%s\t%d\t%c\t%.1f\t%.1f\t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0], stu[i].score[1], stu[i].score[2]);

}

if (0 == flag)

printf("该设备不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

 

void modify()

{

int i, item, num = -1;

char sex1, s1[LEN 1], s2[LEN 1];

float score1;

printf("请输入要要修改的设备的代号:\n");

scanf("%s", s1);

for (i = 0; i < n; i ){

if (strcmp(stu[i].StudentId, s1) == 0){

num = i;

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

printf("1.修改名称\n");

printf("2.修改代号\n");

printf("3.修改年数\n");

printf("4.修改是否报废\n");

printf("5.修改购买时间\n");

printf("6.修改价格\n");

printf("7.退出本菜单\n");

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

while (1)

{

printf("请选择子菜单编号:");

scanf("%d", &item);

switch (item)

{

case 1:

printf("请输入新的设备名称:\n");

scanf("%s", s2);

strcpy(stu[num].StudentName, s2);

break;

case 2:

printf("请输入新的代号:\n");

scanf("%d", stu[num].StudentAge);

break;

case 3:

printf("请输入新的年数:\n");

scanf("%s", &sex1);

stu[i].StudentSex = sex1;

break;

case 4:

printf("请输入新的是否报废:\n");

scanf("%f", &score1);

stu[num].score[0] = score1;

break;

case 5:

printf("请输入新的购买时间:\n");

scanf("%f", &score1);

stu[num].score[1] = score1;

break;

case 6:

printf("请输入新的价格:\n");

scanf("%f", &score1);

stu[num].score[2] = score1;

break;

case 7: return;

default:printf("请在1-7之间选择\n");

}

}

printf("修改完毕!请及时保存!\n");

}

else{

printf("没有该设备代号!!!");

}

}

}

 

void sort()

{

int i, j, k, *p, *q, s;

char temp[LEN 1], ctemp;

float ftemp;

for (i = 0; i<n - 1; i )

{

for (j = n - 1; j>i; j--)

if (strcmp(stu[j - 1].StudentId, stu[j].StudentId)>0)

{

strcpy(temp, stu[j - 1].StudentId);

strcpy(stu[j - 1].StudentId, stu[j].StudentId);

strcpy(stu[j].StudentId, temp);

strcpy(temp, stu[j - 1].StudentName);

strcpy(stu[j - 1].StudentName, stu[j].StudentName);

strcpy(stu[j].StudentName, temp);

ctemp = stu[j - 1].StudentSex;

stu[j - 1].StudentSex = stu[j].StudentSex;

stu[j].StudentSex = ctemp;

p = &stu[j - 1].StudentAge;

q = &stu[j].StudentAge;

s = *q;

*q = *p;

*p = s;

for (k = 0; k<3; k )

{

ftemp = stu[j - 1].score[k];

stu[j - 1].score[k] = stu[j].score[k];

stu[j].score[k] = ftemp;

}

}

}

}

 

void insert() /*插入函数*/

{

int i = n, j, flag;

printf("请输入待增加的设备数:\n");

scanf("%d", &m);

if (m > 0){

do

{

flag = 1;

while (flag)

{

flag = 0;

printf("请输入第%d位设备的代号:\n", i 1);

scanf("%s", stu[i].StudentId);

for (j = 0; j < i; j ){

if (strcmp(stu[i].StudentId, stu[j].StudentId) == 0){

printf("该代号已存在,请重新输入!\n");

flag = 1;

break;

}

}

}

printf("请输入第%d 个设备的名称:\n", i 1);

scanf("%s", stu[i].StudentName);

printf("请输入第%d 个设备号:\n", i 1);

scanf("%d", &stu[i].StudentAge);

printf("请输入第%d 个使用年数:\n", i 1);

scanf(" %c", &stu[i].StudentSex);

printf("请输入第%d 个是否报废\n",i 1);

scanf("%f", &stu[i].score[0]);

printf("请输入第%d 个购买时间:\n", i 1);

scanf("%f", &stu[i].score[1]);

printf("请输入第%d 个价格:\n", i 1);

scanf("%f", &stu[i].score[2]);

if (0 == flag){

i ;

}

} while (i<n m);

}

n = m;

printf("设备信息增加完毕!!!\n");

system("pause");

}

 

void del()

{

int i, j, flag = 0;

char s1[LEN 1];

printf("请输入要删除设备的代号:\n");

scanf("%s", s1);

for (i = 0; i < n; i ){

if (strcpy(stu[i].StudentId, s1) == 0){

flag = 1;

//要删除学生后面的学生往前移一位

for (j = i; j < n - 1; j ){

stu[j] = stu[j 1];

}

}

}

//查找失败

if (0 == flag){

printf("该代号不存在!!!\n");

}

if (1 == flag){

printf("删除成功!!!");

n--;

}

system("pause");

}

 

void display()

{

int i;

printf("共有%d位设备的名称:\n", n);

if (0 != n)

{

printf("设备号\t设备名称\t使用年数\t是否报废\t购买时间\t价格\n");

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

for (i = 0; i<n; i )

{

printf("%s \t%s \t%d   \t%c   \t%.1f\t%.1f \t%.1f\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex, stu[i].score[0],stu[i].score[1],stu[i].score[2]);

}

}

system("pause");

}

 

void save(){

int i;

FILE *fp;

char filename[LEN 1];

printf("请输入要保存的文件名:\n");

scanf("%s", filename);

fp = fopen(filename, "w");

for (i = 0; i < n; i ){

fprintf(fp, "%s%s%d%c%.lf%.lf%.lf\n", stu[i].StudentId, stu[i].StudentName, stu[i].StudentAge, stu[i].StudentSex,

stu[i].score[0], stu[i].score[1], stu[i].score[2]);

}

printf("保存成功!!!\n");

fclose(fp);

system("pause");

}

 

void menu()/* 界面*/

{

int num;

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

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

printf("  *                实验室设备管理系统                    *\n \n");

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

printf("*********************系统功能菜单*************************       \n");

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

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

printf("     * 0.系统帮助及说明  * *  1.刷新设备信息   *     \n");

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

printf("     * 2.查询设备信息    * *  3.修改设备名称   *     \n");

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

printf("     * 4.增加设备信息    * *  5.按代号删除信息 *     \n");

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

printf("     * 6.显示当前信息    * *  7.保存当前设备信息*     \n");

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

printf("     * 8.退出系统        *                            \n");

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

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

printf("请选择菜单编号:");

scanf("%d", &num);

switch (num)

{

case 0:help(); break;

case 1:flush(); break;

case 2:seek(); break;

case 3:modify(); break;

case 4:insert(); break;

case 5:del(); break;

case 6:display(); break;

case 7:save(); break;

case 8:

k = 0;

printf("即将退出程序!\n");

break;

default:printf("请在0-8之间选择\n");

}

}


实例下载地址

实验室设备管理系统.c

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警