教学设备管理系统

  • 格式:doc
  • 大小:195.50 KB
  • 文档页数:25

1 程序设计课程设计报告 教学设备管理系统

专业 计算机科学与技术(嵌入式软件人才培养) 学生姓名 江锡涛 班级 B计算机133 学号 ********** 指导教师 张静林 完成日期 2014年7月 课程设计目的 (1) 加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤; (2) 进一步掌握和利用C语言进行程序设计的能力; (3) 进一步理解和运用结构化程序设计的思想和方法; (4) 初步掌握开发一个小型使用系统的基本方法; (5) 学会调试一个较长程序的基本方法; (6) 学会利用流程图或N—S图表示算法; (7) 掌握书写程序设计开发文档的能力。 设计内容与要求 1. 输入记录:将每一个教学设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注作为一个记录,该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。 2. 显示记录:根据用户提供的记录或者根据设备编号显示一个或几个设备的记录。 3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。 4.查找记录: 可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。 5. 删除记录: 可删除数据文件中的任一记录。 6.恢复记录: 能恢复被删除的任一记录。 7.添加记录: 可以在数据文件中添加记录并添加记录后对记录内容进行 3

显示。 8. 统计:(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价在:200元以下、200~800元之间和800元以上的设备总台数及总金额。 9.保存数据文件。 绪论:教学设备管理系统是一个典型的信息管理系统(MIS),本系统是一个为适应对学校教学设备管理的迫切需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,经过分析和比较,我们决定使用c语言开发工具,利用其提供的各种面向对象的开发手段,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象。首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进真到形成用户满意的可行系统。 功能模块设计 本系统有分9个功能:(1)输入数据 (2)显示数据 (3)修改数据 (4)查找数据(5)删除数据(6)恢复数据 (7)添加数据 (8)统计数据 (9)保存数据 等.

系统的总体流程图 4 算法原理介绍: 1.菜单模块:显示教学设备管理系统的主菜单,供用户选择所需的功能,通过自己定义的menu()函数来实现。

菜单 开始 根据菜单输入i的值选择程序

保存 结束

2 显示记录 3 修改记录 4 查找记录 5 删除记录 6 恢复记录 8 统计 1 输入记录 7 添加记录 0 退出 5

2.输入模块:输入教学设备名称,编号,产地,购置日期,台数,单价,金额等的相关信息,通过自己定义的input()函数来实现。 3.显示模块:显示输入后保存的全部信息。通过自己定义的display()函数来实现。 4.修改模块:可以修改任意编号的录入的信息。通过自己定义的modify()函数来实现。 5.查找模块:可以按编号查询教学设备信息,通过自己定义的search ()函数来实现。 6.删除模块:删除需要删除的教学设备记录,通过自己定义的delete1()函数来实现。 7.恢复模块:恢复被删除的教学设备记录,通过自己定义的recovery()函数来实现。 8.添加模块:添加需要添加的教学设备的相关信息,通过自己定义的add()函数来实现。 9.统计模块:统计在(0,200)(200,800)(800,+∞)区间内的设备台数,通过自己定义的count()函数来实现。 10.保存和打开:通过自己定义的save()函数和open()函数来实现。 11.退出系统模块:退出教学设备管理系统,通过头文件windows.h中的exit(0)函数来实现。

程序源代码 6

#include #include #include typedef struct { char id[10]; char name[15]; char cd[10]; char rq[10]; int ts; int dj; int je; char bz[10]; }SB; SB s[10]; //结构体数组 SB all[10]; //接受二进制文件整体赋值的结构体数组 SB d[10]; //存放被删除的记录的结构体数组(回收站) int length=0; int k=0; //回收站中的记录个数 char fname[10]; //用户定义文件名 int menu(); int input(); 7

int display(); int delete1(); int deletef(int local); int search(); int modify(); int modifyf(int i); int home(); int showsingle(int); int add(); int recovery(); int count(); int save(); int open();

int main() { int i; home(); while (1) { system("cls"); i=menu(); if (i==0) {printf("\n请按任意键退出\n");return 1;} 8

if (i==1) {input();system("cls");} if (i==2) {display();system("cls");} if (i==3) {modify();system("cls");} if (i==4) {search();system("cls");} if (i==5) {delete1(); system("cls");} if (i==6) {recovery();system("cls");} if (i==7) {add();system("cls");} if (i==8) {count();system("cls");} if (i==9) {save();system("cls");} if (i==10){open();system("cls");}

} return 1; }

int home() { system("cls"); printf(" \n\n\n\n\n\n\n"); printf(" 盐城工学院\n\n"); printf(" 教学设备管理系统\n\n\n\n"); printf(" 请按Enter键进入 9

\n\n\n\n"); printf(" B计133 江锡涛\n\n"); while (getchar()!='\n'); return 1; }

int menu() /*定义 界面函数*/ { int flag=0; printf(" \n\n\n\n\n\n\n"); printf(" 盐城工学院 教学设备管理 \n"); printf(" ********************************************\n"); printf(" | 1 输入记录 2 显示记录 |\n"); printf(" | 3 修改记录 4 查找记录 |\n"); printf(" | 5 删除记录 6 恢复记录 |\n"); printf(" | 7 添加记录 8 统计 10

|\n"); printf(" | 9 保存 10 打开 |\n"); printf(" | 0 退出 |\n"); printf(" ********************************************\n"); printf(" 请输入0-10:"); scanf("%d",&flag); /*输入要执行的功能前的数字*/ return flag; }

int input() /*输入数据*/ { int num,i; printf("\n请输入你想创建的记录个数:"); scanf("%d",&num); printf("\n"); for (i=0;i{ printf("设备编号:"); scanf("%s",&s[length].id); 11

printf("设备名称:"); scanf("%s",&s[length].name); printf("产地:"); scanf("%s",&s[length].cd); printf("购置日期:"); scanf("%s",&s[length].rq); printf("台数:"); scanf("%d",&s[length].ts); printf("单价:"); scanf("%d",&s[length].dj); printf("金额:"); scanf("%d",&s[length].je); printf("备注:"); scanf("%s",&s[length].bz); printf("\n"); ++length; /*结构体数组长度增加1*/ } system("pause"); return 1; }

int showsingle(int i)