程序设计语言课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四川大学网络教育学院

课程设计说明书

本文是范文,仅供参考写作,禁止抄袭本文内容上传提交,违者取消写作资格,成绩不合格!

课程名称程序设计语言课程设计

校外学习中心

专业

层次

年级

学生姓名

学号

实验设备管理系统设计

1、程序功能

实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。本实验设备信息管理系统,能提供以下功能,实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以实现功能选择。

(1)能够完成对设备的录入和修改。

(2)对设备进行分类统计。

(3)设备的查询。

2、程序设计

根据需求分析,可将系统的设计分为四个模块:输入模块,修改模块,统计模块,查询模块;实验室设备信息用文件存储,提供文件的输入输出;建立实验设备信息结构体,结构体成员包括:设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。

(1)主函数设计

主函数提供输入,处理,输出部分的函数调用,其中各功能模块用菜单方式选择,即主函数里显示一系列功能选项,判断后,是否调用个功能模块用了switch()选择功能。

(2)各功能模块设计

输入模块:定义了文件型指针变量,打开文件输入用户要输入设备的个数,输入设备的各项详细信息,将输入的信息存储到文件的中;用到fopen(文件名,使用文件方式);fclose(文件指针);fprintf(文件指针,格式字符串,输出列表)。

修改模块:输入要修改的设备编号,是否找到该设备资料,如果找到记录,调用修改函数,对该设备的信息进行修改;如果没有找到,返回主菜单。在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0。

如果字符串1>字符串2,则函数值为一个正整数。

如果字符串1<字符串2,则函数值为一个负整数。

比较时,只能用if(strcmp(str1,str2)>0)。还用到feof()若到文件末尾,函数值为“真”。

统计模块:打开文件,并对文件中的设备信息进行统计计算类型数目,总价格,平均价格;此程序中将char类型转化成double型,用到了pc=atof();fscanf(文件指针,格式字符串,输入列表);同样也用到了字符串的比较strcmp(字符串1,字符串2),feof()。

查询模块:询问用户想要选择的搜索方式,分三种类型查询(设备名称,设备型号,设备价格),再用switch()的选择功能,每一种类型有用到了feof()控制循环,字符串的比较strcmp(字符串1,字符串2),

3、功能模块图

(1) 输入模块

(2) 修改模块

(3

4、数据结构设计

此程序中用到了

(1)基本类型:1)常量的使用#define N 50,2)整型(int),

3)字符型(char),4)浮点型(双精度double)。

(2)构造类型:1)数组类型(equipCode[10] ,equipType[20],equipName[20]

equipPrice[10],equipOver[20],equipYesno[10],equipTime[10] )

2)结构体类型:struct equip

{

char equipCode[10];

char equipType[20];

char equipName[20];

char equipPrice[10];

char equipOver[20];

char equipYesno[10];

char equipTime[10];

}equ[N],temp;

(3)指针类型:FILE *fp,文件型指针变量,fp是一个指向FLIE类型结构

的指针变量。

5、算法设计

6. 程序代码

#include "stdio.h"

#include

#include

# define N 50

struct equip

{

char equipCode[10];

char equipType[20];

char equipName[20];

char equipPrice[10];

char equipOver[20];

char equipYesno[10];

char equipTime[10];

}equ[N],temp;

int enter() //输入记录

{

FILE *fp;

int c;

printf("**************************************\n");

printf("Add new equiment\n");

printf("**************************************\n"); if((fp=fopen("test.txt","a"))==NULL)

{

printf("Can not open file!\n");

}

printf("------------------\n");

printf("请输入设备ID号:\n");

scanf("%s",temp.equipCode);

printf("请输入设备类型\n");

scanf("%s",temp.equipType);

printf("请输入设备名称\n");

scanf("%s",temp.equipName);

printf("请输入设备价格\n");

scanf("%s",temp.equipPrice);

printf("请输入设备购买日期\n");

scanf("%s",temp.equipTime);

printf("请输入设备报废日期\n");

scanf("%s",temp.equipOver);

相关文档
最新文档