题名。学生:**电子** 学号***
实验地点:现代教育技术中心 **房间。
实验日期和时间:2023年*月*日-*月*日。
实验类别: 课程设计
实验类型: 设计性。
一、实验环境。
操作系统:windows xp
编程工具:microsoft visual c++ 6.0
二、实验目的和要求。
实验目的:1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作算法。
2)使学生进一步掌握程序设计、编写、调试能力。
3)使学生了解软件开发的基本步骤和内容。
实验要求:实验设备信息包括:设备编号、设备种类(如:
微机打印机扫描仪等等)、设备名称、设备**、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能:
1)能够完成对设备的录入和修改
2)对设备进行分类统计
3)设备的查询
三、实验内容和结果。
1)总体设计和模块划分。
2) 详细设计。
数据结构定义:
a. 主函数。
void main()
node *equip;
file *fp;
int flag;
node *p,*q;
printf("\t\t\t\t设备管理系统");
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("1添加记录");
printf("2修改记录");
printf("3显示记录");
printf("4统计分类记录");
printf("0*-exit-*");
printf("请输入你要操作的序号:")
scanf("%d",&flag);
switch(flag)
case 0: printf(">>>提示:已经退出系统,byebye!");break;
case 1: add(equip); break; /增加记录
case 2: modify(equip); break;//修改记录
case 3: disp(equip); break;//显示记录信息
case 4: tongji(equip); break;//统计记录
default: printf(">>>提示:输入错误!");break;
b. 各功能模块设计。
1)输入模块。
struct shebei
char id[10]; char name[15]; char kind[15]; char over[15]; char yesno[10]; char time[10];
char price[10];
2)追加模块。
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则返回主菜单!");
printf("请你输入设备id号:")
scanf("%s",id);
if(strcmp(id,"0")=0) break;
p=(node *)malloc(sizeof(node));申请空间
strcpy(p->
printf("请输入设备名称:")
scanf("%s",p->
printf("请输入设备种类:")
scanf("%s",p->
printf("请输入报废日期:")
scanf("%s",&p->
printf("请输入设备是否报废:")
scanf("%s",&p->
printf("请输入设备购买时间:")
scanf("%s",&p->
printf("请输入设备**:")
scanf("%s",&p->
printf(">提示:已经完成一条记录的添加。");
p->next=null;
r->next=p; /这一步是必需的,将p与先前的链表连起来构成一条新链表
r=p; /也是必需的。将r 又重设为新链的最后一个有用结点
3)修改模块。
void modify(node *equip)//修改
node *p;
char find[20];
if(!equip->next)
printf(">>>提示:没有资料可以修改!");
return;
printf("请输入要修改的设备id号:")
scanf("%s",find);
p=equip->next;
while(p!=null)
if(strcmp(p-> 如果找到的话返回的是符合要求
break;
p=p->next;
if(p) /若找到
int x;
while(1)
printf("完成修改请输入0否则输入任意数再进行修改:")
scanf("%d",&x);
if(x==0)
break;}
printf("请输入新设备号(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备名称(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备设备种类名称(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备报废日期名称(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备是否报废(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备购买时间(原来是 %s ):p->
scanf("%s",p->
printf("请输入新设备**(原来是 %s ):p->
scanf("%s",p->
printf(">>>提示:该项记录资料已经成功修改!");
else printf(">>>提示:你要修改的信息不存在!");
3) 程序的运行及测试结果。
3.1 遍历功能测试。
界面图。3.2 查询功能测试。
界面图。3.3增加功能测试。
界面图。3.4删除功能测试。
界面图。3.5修改功能测试。
3.6排序功能测试。
四、实验中的问题及心得。
遇到的问题:
心得:评分标准。请仔细对照下面的考核标准表所列出的要求,在交报告之前先自己打自评分)
c语言课程设计实验报告
课程设计报告。1 设计内容及要求。1.1设计内容。备忘录 主要根据课程设计要求进行设计,能够进行个人的事件记录,可以将程序使用者的时间安排,重要事件,以及个人行程等事件做出具体详细的记述,并能够使使用者在程序上完成查看时间的功能,足以使得使用者避免忘记一些重要事件,也可以为使用者带来一些便利,帮助使...
C语言课程设计实验报告
数据库课程设计实验报告。学校 东华理工大学长江学院。专业 统计学。学号 姓名 一 实验目的。编制一个程序,将屏幕垂直分成四个窗口,左上边窗口为蓝色前景,右上边窗口为红色前景,左下角窗口为洋红色前景,右下角前景为白色前景,四个窗口设置为文本输入,即在窗口中可以输入文字,在窗口屏幕中可以显示出来,使用t...
c语言课程设计实验报告
实验目的。掌握c程序设计编程环境visual c 掌握运行一个c程序的基本步骤,包括编辑 编译 链接和运行。实验要求。在报告中记录建立 保存c程序实习过程。实验基本内容。编写程序,在屏幕上显示一个短句 hello world 程序 1 编译如下程序 include void main 2 链接。执行...