




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 引言引言.2 1.1 编写目的.2 1.2 背景.2 1.3 定义.2 1.4 参考资料.2 2 程序系统的结构程序系统的结构.2 3 程序程序 1(标识符)设计说明(标识符)设计说明.3 3.1 程序描述.12 3.2 功能.12 3.3 性能.12 3.4 输人项.13 3.5 输出项.13 3.6 算法.13 3.7 流程逻辑.13 3.8 接口.13 3.9 存储分配.13 3.10 注释设计.13 3.11 限制条件.13 3.12 测试计划.13 3.13 尚未解决的问题.14 4 程序程序 2(标识符)设计说明(标识符)设计说明.14 详细设计说明书详细设计说明书 1 引言引言 1.1 编写目的编写目的 为了更好的描述软件结构以及系统各组成成分之间的相互关系,因此撰写 详细设计说明书。 1.2 背景背景 a待开发的软件系统的名称:大连交通大学学生选课系统; b本系统主要为方便广大学选课,避免选课高峰期选不上等问题; c本系统的受益人为:老师、学生和系统管理人员。 1.3 定义定义 详见概要设计说明书。 1.4 参考资料参考资料 【1】 张海藩,软件工程导论【M】北京:清华大学出版社 2008 年 2 月第五 版 【2】 王珊、萨师煊,数据库系统概论【M】北京:高等教育出版社 2006 年 5 月第四版 2 程序系统的结构程序系统的结构 该详细设计只针对学生信息管理中的信息查询和信息维护两个子功能作说明, 其程序流程图如下: 开始 验证正确 提交查询条件 Y 查询信息 是否退出 N 结束 Y 输入用学号、密码 验证学号、密码N 进入相关界面 图 4-1 学生信息查询模块程序流程图 开始 提交修改信息 结束 提示修改成功 输入旧密码、新密 码 验证旧密码是否正 确 验证新密码是否合 法 Y 正确 N 信息合法 Y N 图 4-2 学生信息管理模块程序流程图 3 程序程序 1(标识符)设计说明(标识符)设计说明 #include #include int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse/课程信息结构体 int num1; char name120; int score; int nelepeo;/课程已选人数 int Melepeo;/课程人数上限 struct couse * next; ; struct student/学生信息结构体 int num2; char name220; int nelenum50;/已选课程编号 int nelen;/已选课程数量 struct student * next; ; void Ms() for(kk1=0;kk11100;kk1+) for(kk2=0;kk2name1, p1-nelepeo=0; head1=NULL; while(p1-num1!=0) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); scanf(%d%s%d%d, p1-nelepeo=0; p2-next=NULL; void filec()/录入键盘子函数(从文件录入) FILE * fp; char filepath20; struct couse *p1,*p2; N1=0; printf(输入要读入的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,r)=NULL) printf(找不到%s 文件!n,filepath); exit(0); p1=p2=(struct couse*)malloc(sizeof(struct couse); fscanf(fp,%d%s%d%d%d, head1=NULL; while(!feof(fp) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); fscanf(fp,%d%s%d%d%d, p2-next=NULL; void inputc()/录入课程主函数 int i; printf(ttt 录入课程信息n); printf(n1.从键盘录入n); printf(2.从文件录入n); printf(3.返回主菜单n); printf(请选择(13):n); scanf(%d, switch(i) case(1):keyboardc();break; case(2):filec();break; case(3):break; void inputs()/录入学生信息主函数 int i; printf(ttt 录入学生信息n); printf(n1.从键盘录入n); printf(2.从文件录入n); printf(3.返回主菜单n); printf(请选择(13):n); scanf(%d, switch(i) case(1):keyboards();break; case(2):files();break; case(3):break; void elective()/学生选课主函数 int i; printf(ttt 学生选课n); printf(1.查询可选课程n); printf(2.查询已选课程n); printf(3.返回主菜单n); printf(请输入(13):n); scanf(%d, switch(i) case(1):cheak();break; case(2):hcheak();break; case(3):break void listc()/输出课程信息 struct couse * p; p=head1; printf(课程编号 课程名称 学分 课程已选人数 课程人数上限n); while(p!=NULL) printf(%-8d%10s%6d%8d%12dn,p-num1,p-name1,p-score,p-nelepeo,p-Melepeo); p=p-next; void lists()/输出学生信息 struct student * p; p=head2; printf(学生学号 学生姓名 已选课程数量n); while(p!=NULL) printf(%-4d %10s %6dn,p-num2,p-name2,p-nelen); p=p-next; void intoc()/存储课程信息 FILE * fp; struct couse * p; char filepath30; printf(输入课程信息要保存的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,w)=NULL) printf(n 保存失败!); exit(0); p=head1; while(p!=NULL) fprintf(fp,%d %s %d %d %dn,p-num1,p-name1,p-score,p-nelepeo,p- Melepeo); p=p-next; fclose(fp); printf(课程信息已保存在%s 中!n,filepath); void intos()/存储学生信息 FILE * fp; struct student * p; char filepath30; printf(输入学生信息要保存的文件路径:); getchar(); gets(filepath); if(fp=fopen(filepath,w)=NULL) printf(n 保存失败!); exit(0); p=head2; while(p!=NULL) fwrite(p,sizeof(struct student),1,fp); p=p-next; fclose(fp); printf(学生信息已保存在%s 中!n,filepath); void into()/存储信息 int i; printf(1.存储课程信息n); printf(2.存储学生信息n); printf(3.返回主菜单n); printf(请输入(13)n); scanf(%d, switch(i) case(1):intoc();break; case(2):intos();break; case(3):break; void store()/信息主函数 int i; printf(tt 系统信息查看及存储n); printf(1.查看课程信息n); printf(2.查看学生信息n); printf(3.存储信息n); printf(4.返回主菜单n); printf(请输入(14):n); scanf(%d, switch(i) case(1):listc();break; case(2):lists();break; case(3):into();break; case(4):break; int main()/主函数 int i; start: printf(nttt 欢迎使用学生选课系统!n); printf(菜单:n); printf(1.录入课程信息n); printf(2.课程管理n); printf(3.录入学生信息n); printf(4.学生信息管理n); printf(5.学生选课n); printf(6.系统信息查看及存储n); printf(7.退出系统n); printf(n 请输入菜单选项(17):n); scanf(%d, if(i7) printf(输入错误,请重输:n); goto start; switch(i) case(1): system(cls); inputc(); goto start; break; case(2): system(cls); managementc(); goto start; break; case(3): system(cls); inputs(); goto start; break; case(4): system(cls); managements(); goto start; break; case(5): system(cls); elective(); goto start; break; case(6): system(cls); store(); goto start; break; case(7): system(cls); printf(感谢使用本系统!nn 再见!n); return(0); 3.1 程序描述程序描述 该程序能够较全面的实现学生选课系统,另还能进行学生信息管理和成绩 查询等等。 3.2 功能功能 录入课程信息、课程管理、录入学生信息、学生信息管理、学生选课、系 统信息查看及存储、退出系统 3.3 性能性能 详见上文程序。 3.4 输人项输人项 输入数字、字母等 3.5 输出项输出项 输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 质控竞聘课件
- 象棋残局杀法课件
- 2025版苗木种植与土壤改良技术研发合作合同范本
- 2025版数字货币软件测试合同范本
- 2025版售楼部装饰施工与品牌授权合同
- 2025版蔬菜种植基地承包合作合同范本
- 2025版社保业务系统开发与维护服务合同范本
- 2025年度家居建材导购员劳动合同规范
- 2025年度三个月期房地产中介短期劳动合同模板
- 2025版团购房产投资咨询服务合同
- 第一单元 第二课 传感之古今未来 教学设计2024-2025学年人教版(2024)初中信息科技八年级上册
- 电压的测量课件
- 医美知识培训课件
- 私募股权投资协议样本
- 《炼铁高炉及其生产流程》课件
- 电气火灾消防安全教育
- 四川省2024年高等职业教育单独招生考试中职类语文试题及答案
- 木屑制粒机安全操作规程
- 湖南文艺出版社小学四年级上册全册音乐教案及计划
- 社区书记文明城市创建表态发言范文(五篇)
- 检维修管理制度
评论
0/150
提交评论