C语言程序设计《实验设备管理系统设计》~

作者&投稿:琴可 (若有异议请与网页底部的电邮联系)
c语言程序设计 实验设备管理系统设计~

你可以搜索一下“金字塔固定资产管理”或是“金字塔软件工作室” ,能不能符合你的要求就不知道了,你要问问他们

手头没有编译器,不过你存储的文件是tx1.dat,取出信息的时候取的是"设备管理系统",那是肯定取不到的。

下面的是我前几天刚针对这题目做的做的:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct shebei
{
char ID[10];
char name[15];
char kind[15];
char over[15];
char yesno[10];
char time[10];
char price[10];
};
typedef struct node
{
struct shebei data;
struct node *next; //建立一个链表。
}Node;
void Add(Node *equip) //添加记录
{
Node *p,*r,*s;
char id[10]; //先用于输入ID,也用于判断是否跳出循环
r=equip;
s=equip->next; //使s为第一个有用的结点
while(r->next!=NULL) //这个循环的作用是使r为最后一个有用的结点
r=r->next; //将指针置于最末尾
while(1)
{
printf(">>>>>>>>>>提示:输入0则返回主菜单!\n");
printf("\n请你输入设备ID号:");
scanf("%s",id);
if(strcmp(id,"0")==0) break;
p=(Node *)malloc(sizeof(Node)); //申请空间
strcpy(p->data.ID,id);
printf("\n请输入设备名称:");
scanf("%s",p->data.name);
printf("\n请输入设备种类:");
scanf("%s",p->data.kind);
printf("\n请输入报废日期:");
scanf("%s",&p->data.over);
printf("\n请输入设备是否报废:");
scanf("%s",&p->data.yesno);
printf("\n请输入设备购买时间:");
scanf("%s",&p->data.time);
printf("\n请输入设备价格:");
scanf("%s",&p->data.price);
printf(">>>>>>>>>>提示:已经完成一条记录的添加。\n");
p->next=NULL;
r->next=p; //这一步是必需的,将p与先前的链表连起来构成一条新链表
r=p; //也是必需的.将r 又重设为新链的最后一个有用结点
}
}
void Modify(Node *equip)//修改
{
Node *p;
char find[20];
if(!equip->next)
{
printf("\n>>>>>>>>>>提示:没有资料可以修改!\n");
return;
}
printf("请输入要修改的设备ID号:");
scanf("%s",find);
p=equip->next;
while(p!=NULL)
{
if(strcmp(p->data.ID,find)==0) //如果找到的话返回的是符合要求
break;
p=p->next;
}
if(p) //若找到
{
int x;
while(1)
{
printf("完成修改请输入0否则输入任意数再进行修改:");
scanf("%d",&x);
if(x==0)
{break;}
printf("请输入新设备号(原来是 %s ):",p->data.ID);
scanf("%s",p->data.ID);
printf("请输入新设备名称(原来是 %s ):",p->data.name);
scanf("%s",p->data.name);
printf("请输入新设备设备种类名称(原来是 %s ):",p->data.kind);
scanf("%s",p->data.kind);
printf("请输入新设备报废日期名称(原来是 %s ):",p->data.over);
scanf("%s",p->data.over);
printf("请输入新设备是否报废(原来是 %s ):",p->data.yesno);
scanf("%s",p->data.yesno);
printf("请输入新设备购买时间(原来是 %s ):",p->data.kind);
scanf("%s",p->data.time);
printf("请输入新设备价格(原来是 %s ):",p->data.price);
scanf("%s",p->data.price);
printf("\n>>>>>>>>>>提示:该项记录资料已经成功修改!\n");
}
}
else printf("\n>>>>>>>>>>提示:你要修改的信息不存在!\n");
}
void Disp(Node *equip)//输出记录
{
Node *p;
p=equip->next;
if(!p)
{
printf("\n>>>>>>>>>>提示:没有记录可以显示!\n");
return;
}
printf("\t\t\t\t显示结果\n");
printf("设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");
while(p)
{
printf("\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);
p=p->next;
}
}
void Tongji(Node *equip)//统计
{
Node *p;
int sel;int flag2=0,ha=0;
p=equip->next;
char find[20];
if(!equip->next) //若链表为空
{
printf("\n>>>>>>>>>>提示:没有资料可以统计分类!\n");
return;
}
printf(">>>>>>>>>>提示:\n=====>0退出\n=====>1按设备号统计\n=====>2按设备名称统计\n");
scanf("%d",&sel);
if(sel==1)
{
printf("\n输入你要统计分类的设备号:");
scanf("%s",find);
while(p)
{
if(strcmp(p->data.ID,find)==0)
{
flag2++;
}
if(flag2==1&&ha!=flag2)
{ printf("设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");
printf("\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);
ha=flag2;
}
else if(flag2>ha){printf("\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}
p=p->next;
}
if(flag2)
{
printf("\n*************************按设备号%s统计分类的有%d条记录:*************************\n\n",find,flag2);
}
else {printf("\n按设备号%s统计的结果为0个\n\n",find);}
}
else if(sel==2)
{
printf("\n输入你要统计分类的设备名称:");
scanf("%s",find);
while(p)
{
if(strcmp(p->data.name,find)==0)
{
flag2++;
}
if(flag2==1&&ha!=flag2)
{ printf("设备号 设备名称 设备种类 报废日期 是否报废 购买时间 价格\n");
printf("\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);
ha=flag2;
}
else if(flag2>ha){printf("\n%-13s%-11s%-7s%-10s%-13s%-10s%-5s\n",p->data.ID,p->data.name,p->data.kind,p->data.over,p->data.yesno,p->data.time,p->data.price);ha=flag2;}
p=p->next;
}
if(flag2)
{
printf("\n******************按设备名称%s统计的有%d条记录:********************\n\n",find,flag2);
}
else {printf("\n按设备名称%s统计分类的结果为0个\n\n",find);}
}
else if(sel==0) return;
}
void main()
{
Node *equip;
FILE *fp;
int flag;
Node *p,*q;
printf("\t\t\t\t设备管理系统\n");
equip=(Node*)malloc(sizeof(Node));
equip->next=NULL;
p=equip;
fp=fopen("设备管理系统","wb+");
q=(Node*)malloc(sizeof(Node));
if(fread(q,sizeof(Node),1,fp)) //将文件的内容放入接点中
{
q->next=NULL;
p->next=q;
p=q; //将该接点挂入链表中
}
fclose(fp); //关闭文件
while(1)
{
printf("**************************************目录**************************************");
printf("\n1添加记录\n");
printf("\n2修改记录\n");
printf("\n3显示记录\n");
printf("\n4统计分类记录\n");
printf("\n0*-EXIT-*\n");
printf("请输入你要操作的序号:");
scanf("%d",&flag);
switch(flag)
{
case 0: printf("\n>>>>>>>>>>提示:已经退出系统,ByeBye!\n");break;
case 1: Add(equip); break; //增加记录
case 2: Modify(equip); break;//修改记录
case 3: Disp(equip); break;//显示记录信息
case 4: Tongji(equip); break;//统计记录
default: printf("\n>>>>>>>>>>提示:输入错误!\n"); break;
}
}
}

这个题,好像比较难啊

共同期待下精彩的答案吧


c语言程序设计实验报告
像这样的程序是多见的,这样不但降低了程序还发效率,而且耗时浪费资源“共用体”的使用简化了程序的“复杂”性,正如(4)中,学号与姓名同时表示一个人,但在函数使用了“共用体”,从而程序的简单可以便于纠错,查找问题,避免了代码的重复,这样就给编译时带来了一定的难度与“量”的繁杂。一般不采取...

C语言程序设计实验报告
代码:include <stdio.h> include<stdlib.h> char stu_no[10][10];int c_math[10],c_en[10],c_computer[10],point[10],average[10];int i,j,max;char c;void input(){ for(i=0;i<=9;i++) \/*输入学生成绩*\/ { printf("请输入学号:");scanf("%s",&stu_no[i]);printf...

c语言程序设计实训报告参考
一、项目一:学生成绩排名(实验指导老师李环宇)1.1实训目的(1)熟悉变量、数组定义、使用、输入、输出等基本操作;(2)进行选择、循环结构程序设计练习;(3)掌握冒泡法排序的算法。1.2实训内容2、实训内容(1)定义一个数组a[11],用以存放学生的成绩;(2)从键盘输入10个学生及成绩;(3)...

《C语言程序设计》实验报告题目
include <iostream.h> void readscore(float score[][6],long num[],int n){ int i,j;float sum1=0;for(i=1;i<=n;i++){ cout<<"请输入学号:"<<endl;cin>>num[i];cout<<"请输入数学成绩:"<<endl;cin>>score[i][1];cout<<"请输入英语成绩:"<<endl;cin>>score[i][2];c...

C语言程序设计实验报告
题目2:include <stdio.h> include <stdlib.h> main(){ int a;printf("ÇëÊäÈë³É¼¨£º\\n");scanf("%d",&a);if(90<=a&&a<=100) printf("A");if(80<=a&&a<=89) printf("B");if(70<=a&&a<=79) ...

程序设计实践报告
本文是关于《程序设计实践报告》范文,详情请您对下文进行参考:本文编辑:yjbys.com 1、实验目的、内容 通过课程设计,能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术. 要求学生在指导老师的指导下,独立完成实...

求c语言程序设计第三版和c语言程序设计实验与习题指导答案
2017-05-02 谁有c语言程序设计实验与习题指导第三版习题的详细答案 2 2011-07-19 求C语言程序设计实验与习题指导(重庆大学出版社)同步自测2... 3 2016-01-22 颜晖c语言程序设计实验与习题指导第3版答案 52 2011-06-28 c语言程序设计课后习题解答与实验指导 9 2014-04-09 急需c语言程序设计教程第四...

vb程序设计实验心得三篇
那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.网络是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,...

c语言程序设计题。实验报告。高分。
c语言程序设计题。实验报告。高分。  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 日报广场 用户 认证用户 视频...

C语言程序设计实验程序编程
include<stdio.h> int sum(int n){ if(n==1) return 1;else return sum(n-1)+n;} void main(){ int n;scanf("%d",&n);printf("%d\\n",sum(n));}

太原市17236634161: c语言课题设计——实验室设备管理系统 -
夷爬氯氮: #include"stdio.h"#include #include //#include"FILE.h"typedef struct shangpin{ char name[20]; int bia...

太原市17236634161: C语言程序设计《实验设备管理系统设计》
夷爬氯氮: 《C语言程序设计考试练习题》 http://download.yesky.com/tests/250/250585.html C语言之家下载 c语言程序设计习题集 http://www.cstudyhome.com/wenzhang06/list.asp?id=195 c语言程序设计习题集 超星格式 9月5日 9383 9140K c 语言最新编程...

太原市17236634161: C语言程序设计《实验设备管理系统设计》 -
夷爬氯氮: 《C语言程序设计考试练习题》 <a href=" http://download.yesky.com/tests/250/250585.html" target="_blank"> http://download.yesky.com/tests/250/250585.htmlC语言之家下载 c语言程序设计习题集 <a href=" http://www.cstudyhome.com/...

太原市17236634161: C语言之实验室设备管理系统
夷爬氯氮: 参考此处 http://hi.baidu.com/yanggq/blog/item/b6b7c3131cc01b28dd5401c1.html

太原市17236634161: c语言设计一个实验设备管理程序,高手帮帮忙啊!!! -
夷爬氯氮: 用c++简单点 直接是面向对象的

太原市17236634161: 怎样用c设计一个实验设备管理系统?(要是c语言的源代码) -
夷爬氯氮: 给你思路吧,结构类型用动态链表,把要处理的信息设定为结构体的成员,分类统计和查询利用链表的遍历,录入和修改则自己写函数,函数很好写,自己动手

太原市17236634161: 怎样用c设计一个实验设备管理系统?
夷爬氯氮: 你可以把虚拟的软件加在一起就可以用了!

太原市17236634161: 求用C语言编的设备管理系统 -
夷爬氯氮: #include "stdio.h" #include "stdlib.h" #include "cstring"#define COUNT 30void start(); //函数声明 void input(); void change(); void sort(); void dele(); void output(); void search();struct deviceInfor{ char devno[30];int devsort; //1 代表微...

太原市17236634161: 实验室设备管理系统
夷爬氯氮: #i nclude #i nclude #i nclude int times=1; /*This function makes an array of four differrent numbers.*/ int *make_ans(int ans[]) { int i,used[10]={0},*t=ans; static int change_seed=0; srand(time(0)+change_seed); if (change_seed<100)change_seed++;...

太原市17236634161: C语言课程设计
夷爬氯氮: #include <stdio.h> typedef struct _equipment {int id;char name[100];char b_date[20];char buyer[100];float price;char user[100];char u_date[20];char r_date[20];equipment* next; }equipment; int equipment_savetofile(char* filename, ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网