C语言课程设计实验报告要求.doc_第1页
C语言课程设计实验报告要求.doc_第2页
C语言课程设计实验报告要求.doc_第3页
C语言课程设计实验报告要求.doc_第4页
C语言课程设计实验报告要求.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题名学生:* 电子* 学号*实验地点:现代教育技术中心 *房间实验日期和时间:2014年*月*日*月*日实验类别: 课程设计 实验类型: 设计性一、实验环境操作系统: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(tttt设备管理系统n); equip=(Node*)malloc(sizeof(Node); N结束根据n值调用各功能模块函数输入n,判断m 是否是0到4?显示一系列功能选择开始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; B. 各功能模块设计(1)输入模块Struct shebei char ID10; char name15; char kind15; char over15; char yesno10; char time10; char price10; ;. (2)追加模块void Add(Node *equip) /添加记录 Node *p,*r,*s; char id10; /先用于输入ID,也用于判断是否跳出循环 r=equip; s=equip-next; /使s为第一个有用的结点 while(r-next!=NULL) /这个循环的作用是使r为最后一个有用的结点 开始r=r-next; /将指针置于最末尾 while(1) 输入ID号,并将指针置于最末尾 printf(提示:输入0则返回主菜单!n); printf(n请你输入设备ID号:); scanf(%s,id); 依次输入shebei 结构体内容,完成一条添加记录if(strcmp(id,0)=0) break; p=(Node *)malloc(sizeof(Node); /申请空间 strcpy(p-data.ID,id); printf(n请输入设备名称:); scanf(%s,); 提示以完成一条记录添加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 又重设为新链的最后一个有用结点 开始判断是否有内容可以修改没有资料可以修改,跳出请输入要修改的设备ID号完成修改输入0否着输入任意数进行修改(3)修改模块void Modify(Node *equip)/修改 Node *p; char find20; 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 ):,); scanf(%s,); 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); 3) 程序的运行及测试结果3.1 遍历功能测试界面图3.2 查询功能测试界面图3.3增加功能测试界面图3.4删除功能测试界面图3.5修改功能测试3.6排序功能测试四、实验中的问题及心得遇到的问题:1. 2. 心得: 评分标准(请仔细对照下面的考核标准表所列出的要求,在交报告之前先自己打自评分)自评分1.程序功能和原理(35)(1)记录用结构表示,至少包含字符串(如名字)和整型(如年龄)(5)(2)用链表来动态保存记录,并能以命令行或者菜单形式增加(5)、删除(5)、查询(5)、排序(5)内容。如果用数组最多得5分。(3)用二进制文件永久保存记录,并能在程序开始运行时读取文件内容(5),在程序运行结束前保存到文件(5)2.程序质量(30%)(1)用大括号和缩进来清楚地显示程序结构。(提示:按一次tab键产生一个缩进)(5)(2)各函数有功能说明和参数说明,对每个函数参数和函数返回值的含义进行说明(5)(3)每个源程序文件都有说明(比如本程序功能,作者,包含哪些函数)(5)(4)每个函数长度不超过100行(5)(5)函数、变量取名较规范易懂(5)(6)对不容易理解的常量、变量和语句有注释(比如全局常量、全局变量、if语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论