学生宿舍管理系统。
一设计内容及要求:
为宿舍管理人员编写一个宿舍管理查询软件。
要求:1)建立数据文件,数据文件按关键字(姓名,学号,房号)进行排序(冒泡,选择,插入排序等任意一种)
2)查询菜单(用二分法实现以下操作)
a.按姓名查询。
b.按学号查询。
c.按房号查询。
二概要设计。
1)需要定义一个结构体:
typedef struct pnode /*结构体定义用于存放学生信息的节点*/
用来存储学生的信息。
2)create()
/*初始条件:必须保证原有记录是空时方可建立*/
操作结果:建立一个新的数据文件。
3) readfile()
/*初始条件:数据文件已经建立*/
操作结果:获取次文件的信息
4)serch1()按姓名查找。
serch2()按学号查找。
serch3()按宿舍号查找。
初始条件:数据文件中含有纪录。
操作结果:不支持模糊查询必须查询项和关键字吻合情况下才可查询。调用按不同关键字查询的子函数。
若存在相应的查询结果则显示在屏幕上,若查找的纪录不存在则提示该纪录不存在,请建立相应的数据纪。
5)insert()
/*添加数据纪录的函数*/
初始条件:必须已经建立了数据文件。
操作结果:在数据文件中添加新的纪录。
若没有建立数据文件则添加失败。
6) delete()
/*删除数据纪录的函数*/
初始条件:必须建立了数据库并且数据文件中含有数据纪录。
操作结果:删除输入学号的学生的一切相关纪录。
7)updata()
/*修改数据纪录的函数*/
初始条件:必须建立了数据库并且数据文件中含有数据纪录。
操作结果:修改输入的学号相对应的学生的一切信息。
如不存在相应的纪录则提示不存在。
8)output()
/*输出函数*/
初始条件:数据文件已经建立。
操作结果:起泡法排序按学号顺序输出记录。
2> 本程序包含10个函数:
1. 主函数main()
2. 新建数据文件create()
3. 查询函数serch1()
4. 查询函数serch2()
5. 查询函数serch3()
6. 加数据纪录函数insert()
7. 删除数据纪录函数delete()
8. 修改数据纪录函数updata()
9. 数据文件读取函数readfile ()
10. 查询当前所有纪录冰按学号升序输出的函数output()
三设计思想:
采用模块化编程思想,将程序划分为11个模块,在逐个模块细化编程,最后再将个个模块组装成软件。
四测试。测试结果及数据如下:
五程序源**如下:
#include<>
#include<>
#include<>
typedef struct pnode
char name [8
char xh[16
char fh[30
}personnode;
char filename[20];
file *fp
void creat
personnode *person;
person=(personnode *)malloc(sizeof(personnode));
printf(" 请输入 the filename:");
scanf("%s",filename);
if((fp=fopen(filename,"w+")null)
printf(" 请输入姓名,学号 (the same length),寝室号,剩余空间,endwith #");
scanf("%s",person->name);
while(strcmp(person->name,"#
fclose(fp);
void readfile()
printf(" please enter the fileroad:");
scanf("%s",filename
if((fp=fopen(filename,"r+")null)
fclose(fp);
void output()
personnode *person;
long offset1,offset2;
char name1[8],name2[8],name3[8];
char xh1[16],xh2[16],xh3[16];
char fh1[30],fh2[30],fh3[30];
person=(personnode *)malloc(sizeof(personnode));
if((fp=fopen(filename,"r"))null)
while(!feof(fp))
while(!feof(fp))
while(!feof(fp))
offset1=ftell(fp);
fscanf(fp,"%s%s%s",person->name,person->xh,person->fh);
strcpy(name1,person->name);
strcpy (xh1,person->xh);
strcpy(fh1,person->fh);
if(feof(fp)) break;
offset2=ftell(fp);
fscanf(fp,"%s%s%s",person->name,person->xh,person->fh);
strcpy (name2,person->name);
strcpy(xh2,person->xh);
strcpy(fh2,person->fh);
b=strlen(xh1);
c=strlen(xh2);
d=strcmp(xh1,xh2);
if(b==c&&d>0)
strcpy(name3,name1);
strcpy(name1,name2);
strcpy(name2,name3);
strcpy(xh3,xh1);
strcpy(xh1,xh2);
strcpy(xh2,xh3);
strcpy(fh3,fh1);
strcpy(fh1,fh2);
strcpy(fh2,fh3);
fseek(fp,offset1,seek_set);
strcpy(person->name,name1);
strcpy(person->xh,xh1);
strcpy(person->fh,fh1);
fprintf(fp,"%10s%-20s%-50s",person->name,person->xh,person->fh);
strcpy(person->name,name2);
strcpy(person->xh,xh2);
strcpy( person->fh,fh2);
fprintf(fp,"%10s%-20s%-50s",person->name,person->xh,person->fh);
2019课程设计题目
课程设计。课程设计总体要求 根据菌种生理特性 产品生产基本工艺流程 总体生产规模 各工艺环节理论参数,通过计算获得实际的生产工艺流程与设备型号,并进一步通过计算实际的工艺参数与设备利用率,最终确认生产设计的合理性。课程设计任务书内容提纲。1 设计题目 给出了菌种生理特性 总体生产规模信息 2 基本工...
2019课程设计题目
1 高阶动态电路系统物理建模解法simulink simpowersystem程序设计。直接建立rlc电路物理模型文件,并在待测量元件支路中接入电流表模型,在元件两端并联电压表模型,在电路中接入信号源模型,加入必不可少的电力系统 研究的图形界面模型powergui,运行系统模型,给出所有关注支路的电...
0210804课程设计题目
0210804班。光电信息系统课程设计报告的内容和要求 1 封面 设计题目 学生姓名 班级 学号 2 正文 包括课题分析 设计方案 原理图等 3 总结 设计特点及补充说明,鉴别比较分析,个人体会等 4 参考文献及参考书。设计题目 1.光纤传感器在测量技术中的应用 2.利用激光衍射法,设计系统实现微丝...