文档详情

《C语言程序设计》课程设计报告

M****1
实名认证
店铺
DOCX
113.29KB
约18页
文档ID:456505459
《C语言程序设计》课程设计报告_第1页
1/18

《C语言程序设计》课程设计报告题 目:体育器材借还信息管理系统专 业:数学与应用数学学 号:1009401—09姓 名:指导教师:成 绩:———二零一一年六月十日课程设计报告——体育器材借还信息管理系统1、研究背景及意义由于现今的大学里体育器材借还信息管理非常常见,管理人员付出很多的工 作时间,得到的效率很低因此为提高工作效率,为了减轻学校对体育器材借还 信息进行登记,查找,等繁杂的工作,进而设计出一个功能完善、合理、先进的体 育器材借还信息管理系统来管理开发此体育器材借还信息管理系统软件,以供 管理人员及操作者对学校公共体育器材进行轻松的管理,方便操作者随时添加、 查询、修改体育器材借还信息2、问题描述和功能要求问题描叙对体育器材借还信息进行管理,主要包含的信息为:班级、器材名称、数量、 编号此主要系统包含下列功能:对体育器材借还信息的插入、查询、修改、删 除、显示、退出系统功能1) 、每一条记录包括一个班级、体育器材名称、数量、编号2) 、插入功能:插入一个班级的信息3) 、查找功能:按班级号查找体育器材借还信息,并显示4) 、修改功能:能将以前输入并保存的数据进行修改5) 、删除功能:删除体育器次借还的信息;6) 、显示功能:完成全部体育器材借还记录的显示。

7) 、退出功能:记录完毕退出系统8)、有一个清晰美观界面来调用各个功能功能模块分工:组长:何春辉何春辉负责:插入功能、显示功能、退出功能、查找功能王孟然负责:删除功能、修改功能、文件的读写功能与储存功能3、课程设计报告内容3.1 体育器材借还信息管理系统的理论依据1、 建立一个结构体数组对象class,用于存储体育器材借还信息2、 建立相应的系统操作函数如下:1) 、插入班级体育器材借还的信息函数: Insert(class,s);2) 、根据班级号查找体育器材借还信息的函数: Search(class,s);3) 、修改体育器材借还的信息函数: Update(class,s);4) 、删除班级体育器材借还的信息函数: Delete(class,s);5) 、显示所有班级体育器材借还的信息函数: Show(classs,s);6) 、从文件中读入数据函数: Read(class_info,s);7) 、将所有记录写入文件函数: Save(class_info,s);8) 、退出管理系统函数: Exit(0);9) 、写main()函数,由用户输入一个参数i,根据i的值来选择要进行的操作。

3.2算法流程图3.3 源程序代码:#include"stdlib.h"#include "string.h"#include "stdio.h"#define MaxSize 50 #include"malloc.h"typedef struct class_info{int s ; //行政班级char name[50]; //器材名称int sum; //器材数量double telephone; //联系int number; //编号struct class_info *next;} ClassLink, *Pointer;void Insert(Pointer *Head);void Search(Pointer Head);void Update(Pointer Head);void Delete(Pointer *Heaad);void Show(Pointer Head);void File(Pointer &Head);void Exit(Pointer Head);int main(){Pointer Head=NULL; //定义表头指针 int i;do //显示一个简易菜单 { printf("\n");printf("l--―插入(Insert)\n");printf("2--―查询(Search)\n");printf("3--—修改(Update)\n");printf("4--―删除(Delete)\n");printf("5——显示(Show)\n");printf("6----文件读入(File)\n");printf("0--―退出(Exit)\n");scanf("%d",&i); //接收用户的选择switch(i) //调用对应的函数{ case l:Insert( & Head);break;case 2:Search( Head);break;case 3:Update( Head);break;case 4:Delete( & Head);break;case 5:Show( Head);break;case 0: break;default:printf("错误选择!请重选 “);break;}}while(i!=0);return 0;}void Insert(Pointer *Head){ int in_number;Pointer p,q,r;printf("请输入编号:”);scanf("%d",&in_number); p=q= *Head; while(p!=NULL){if(p->number==in_number){printf(”已经有相同的编号:else{ q=p;p=p->next;}//插入函数的定义//说明变量//查找符合条件的记录//找到相同的编号);return;}//走链r=(Pointer)malloc(sizeof(ClassLink));//申请空间r->next=NULL;//设置指针域if(r==NULL){ printf("分配空间失败! ");return;}if(q==NULL)//原表为空表* Head=r;//新结点作为头元素else{q->next=r;//在表尾插入元素r->number=in_number;//接收插入数据printf("请输入行政班级:”);scanf("%d",&r->s);printf("请输入器材名称:”); scanf("%s",r->name);printf("请输入器材数量:");scanf("%d",&r->sum);printf("请输入联系:”); scanf("%lf",&r->telephone);}void Search(Pointer Head){ int flag=1;int number;Pointer p;printf("请输入要查询的编号scanf("%d",&number);p=Head;//查找函数的定义//设定标记变量的初值);//查找符合条件的记录while(p!=NULL&&flag){if(p->number==number){printf("行政班级:%d\n",p->s); printf("器材名称:%s\n",p->name); printf("器材数量:%d\n",p->sum);printf("联系:%11.01f\n",p->telephone);flag=0; //找到标记变量设为 0elsep=p->next;//指针走到下一个结点if(flag)printf(“没有查询到!!");}void Update(Pointer Head){ int flag=1;int number;Pointer p;printf("请输入要修改的编号scanf("%d",&number);p=Head;while(p!=NULL&&flag){ if(p->number==number){printf("请输入器材名称: scanf("%s",p->name);printf("请输入器材数量:scanf("%d",&p->sum);flag=0;}elsep=p->next;//修改函数的定义//设定标记变量的初值");//查找符合条件的记录););//指针走到下一个结点}if(flag)printf("没有找到要修改的记录!!");void Delete(Pointer *Head){ int flag=1;int number;//删除函数的定义//设定标记变量的初值Pointer p,q;printf(“请输入要删除数据的编号:");scanf("%d",&number); p=q= *Head; while(p!=NULL&&flag) { if(p->number==number){if(p== *Head){ * Head=p->next;free(p);}else{ q->next=p->next;free(p);} flag=0;}else{ q=p;p=p->next;}}if(flag)//查找符合条件的记录//删除的是表头元素//删除普通元素//指针走到下一个结点〃q所指结点为p所指结点的前驱printf("没有找到可以删除的数据!!");}void Show(Pointer Head) { Pointer p;p=Head;int number;printf("输入要显示的编号:");scanf("%d",&number);while(p!=NULL){ printf("行政班级:%d\n",p->s);printf("器材名称:%s\n",p->name);printf("器材数量:%d\n",p->sum);printf("联系:%11.01f\n",p->telephone);p=p->next;}}3.4调试时源程序中出现的错误:1、 出现了一些语法错误:定义变量类型出现错误;2、 出现了一些逻辑错误:while (i! =6)被写成了 while (i=6);3、 运行出现了错误:seanf函数中变量没有用&;4、 使用指针时,忘了定义指针的指向;5、 printf函数中变量的输出类型和定义类型不一致,导致输出结果出错;6、 在switch语句中break的使用位置不正确;7、 函数的引用和定义不相符;&字母在输入时出现大小写混淆;9、 语句结尾出忘记了加分号;10、 定义结构体时,数据类型不相符;11、 流程图制作忘记了用箭头符号12、 多出忘记了加双引号;13、 标记变量忘了赋初值;14、 使用单链表时没有定义表头指针等等;3.5 运行结果窗口1、菜单选项窗口: ^Oz\ 查询 ^&fc ——删 fe ^7K<£how> 退 t|If里话 .•班名数电 養材黎 编秦器联 AAAAA2、插入窗口:1009401篮球15152910510513、查询窗口:话 入班名数电 養材專查询的编号:1:。

下载提示
相似文档
正为您匹配相似的精品文档