课程设计班级档案管理系统

上传人:人*** 文档编号:509002742 上传时间:2023-03-07 格式:DOCX 页数:17 大小:27.28KB
返回 下载 相关 举报
课程设计班级档案管理系统_第1页
第1页 / 共17页
课程设计班级档案管理系统_第2页
第2页 / 共17页
课程设计班级档案管理系统_第3页
第3页 / 共17页
课程设计班级档案管理系统_第4页
第4页 / 共17页
课程设计班级档案管理系统_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《课程设计班级档案管理系统》由会员分享,可在线阅读,更多相关《课程设计班级档案管理系统(17页珍藏版)》请在金锄头文库上搜索。

1、高级语言程序设计课 程 设 计 报 告 书题 目: 班级档案管理系统 专 业: 计算机科学与技术 学 号: 学生姓名: 指导教师: 完成日期: 目录一、设计内容与设计要求11.设计内容12.设计要求1二、程序设计目的2三、程序模块分析21.系统控制流程图22.部分主要函数算法流程图3四、函数功能说明61.函数说明62.用户说明6五、程序测试7六、总结14附录15一、设计内容与设计要求1.设计内容对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。2.设计要求(1)本系统采用一个包含N个数据的结构体数组,每个学生的数据应当包括:学号、姓名、性

2、别、年龄、备注。(2)本系统显示这样的菜单:请选择系统功能项:a 从文件中读入学生基本信息b 添加新学生的基本信息c 学生基本信息显示d 学生基本信息保存至文件e 学生基本信息删除f 学生基本信息修改(要求先输入修改密码)g 学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询h 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件中。(5)进入系统之前要先输入登录密码。说明:登录密码和修改密码使用文件保存。二、课程设计目的 在平时学习C语言的过程中,通常只是在课堂上跟随老师的讲解来进行学习,因此在练习上较为缺乏,而课程设计恰恰弥

3、补了这点,它不仅是对平时学习的一种检测,同时在做它的过程中也对自己学习的知识进行了巩固和提高,为以后的学习和工作打下了基础。三、程序模块分析1.系统控制流程图结束添加学生信息功能保存信息功能退出功能信息查询功能信息修改功能信息删除功能读取学生信息功能开始密码函数2.部分主要函数算法流程图开始开始输入添加学生数打开文件for循环For循环输出添加学生信息调用fscanf函数从文件读取信息结束结束 图4.1 :read函数 图4.2 :input函数开始开始输入学号密码错误打开文件for循环调用strcmp函数密码函数查找失败输入学号for循环 调用fprintf函数输出信息输入新信息结束结束图4

4、.3 :Delete函数 图4.4 :modi函数开始调用fscanf函数按性别查询按年龄查询按姓名查询按学号查询图4.5 :search函数输出信息否是结束for循环 调用strcmp函数该学生是否存在四、函数功能说明1.函数说明main()函数是程序的入口有调取各个模块的的作用,里面包含一个switch语句,实现选择功能;read():读取函数,从文件中读取学生信息;input():添加函数,学生基本信息的录入;save():学生信息保存函数;Delete():删除函数;search():查找函数;modi():信息修改函数;secretcode():密码验证函数;2.用户说明输入密码进入

5、系统后,通过ag选项来进行功能选择。 选项a:调用read函数,将在文件中保存的学生信息读入结构体数组中,然后在屏幕上显示出来,按enter键便重新返回菜单; 选项b:调用input函数,输入需要添加的学生人数,显示出需要添加的信息,将信息填写完毕后,按enter键重新返回菜单,再通过选项c将新添加的学生信息保存到文件中; 选项c:调用save函数将新输入或修改后的学生信息保存到文件中,在input函数和modi函数调用之后需要调用此函数,然后按enter键重新返回菜单; 选项d:通过调用delete函数,输入需要删除的学生的学号,按enter键提示删除成功,该学生信息已被从文件中删除,并重新

6、返回菜单; 选项e:在调用该函数实现学生信息修改的功能时,需要输入修改密码,当密码错误时,提示密码错误,此时重新输入密码。密码正确之后,输入需要修改信息的学生的学号,输出该学生信息,确认后输入新的学生信息,按enter键重新返回菜单,此时需要通过选项c将信息保存到文件中; 选项f:通过调用search函数,在选择该项后,会出现一个子菜单,按照需求可以分别通过学号、姓名、性别和年龄来查询学生信息,按enter键显示查询信息并重新返回菜单。五、程序测试输入登陆密码123456进入系统 图 5.1输入a从文件中读入学生信息 图5.2输入b添加学生的基本信息 图5.3 图5.4输入c将信息保存至文件

7、图5.5输入d删除学生信息 图5.6信息删除成功 图5.7再次从文件输入信息时需要删除的信息已被删除 图5.8输入e进行学生信息修改 图5.9 图5.10输入c将信息保存到文件中 图5.11输入f学生信息的查询 图5.12 图5.13六、总结 这次的课程设计给了我很大的体会,我能独立的完成这项任务,是对平时的学习和练习的一种肯定,同时也提高了自己的信心。 在完成它的过程中当然会遇到很多的困难,首先是结构体的定义问题,由于刚开始对程序的不熟悉,在定义结构体内元素数组时出现了错误,后来经过一次次的检测将数组定义到了一个合适的大小。其次在input函数中,输入完新学生信息保存至文件中时,对文件原有信

8、息进行了覆盖,因此为了避免这种情况,将for循环中的i从N-n开始,经过测试这种方法是有效的。最后是删除函数,由于开始定义的年龄是整型变量,在对文件中的结构体数据进行删除时,在年龄的位置会出现数字0,从而使从文件中读取数据时出现乱码,于是便将年龄定义成字符型数组,利用strcpy函数将结构体数组的下一位元素将前一位元素进行覆盖,从而实现删除功能。 虽然较为成功的完成了课程设计,但由于知识和时间的局限性,系统仍然存在缺陷,我认为此系统还能通过链表来进行优化,链表的好处是可以通过指针更好的实现查找、修改和删除功能,因此如果有时间便会通过链表来时、使这个系统更加具有实用性。附录源程序清单#inclu

9、destdafx.h#include stdio.h#include stdlib.h#include string.h#include conio.h#define N 4struct student/定义一个包含学生信息的结构体数组char no10;/学号char name8;/姓名char sex5;/性别char age5;/年龄char note5;/备注;struct student stuN;/定义全局变量void menu()/菜单函数 printf(n); printf( * * * * * * * * * * * * * * * * n);printf( * *n);pr

10、intf( * a.从文件中读入学生基本信息 *n);printf( * b.添加新学生的基本信息 *n);printf( * c.学生基本信息保存至文件 *n);printf( * d.学生基本信息删除 *n);printf( * e.学生基本信息修改 *n);printf( * f.学生基本信息查询 *n);printf( * g.退出系统 *n);printf( * *n);printf( * * * * * * * * * * * * * * * * n);printf(n); printf(请输入选项:(a g)n);void input()/学生基本信息的录入int i;int n

11、;printf(请输入添加学生数:);scanf(%d,&n);for(i=N-n;iN;i+) printf(请输入学生的基本信息:n);printf(no:n); scanf(%s,stui.no);printf(name:n);scanf(%s,stui.name);printf(sex:n);scanf(%s,stui.sex);printf(age:n);scanf(%s,stui.age);printf(note:n);scanf(%s,stui.note);printf(n);printf(请检查信息是否输入正确!n);printf(n);for(i=N-n;iN;i+)printf(%s %s %s %s %sn,stui.no,stui.name,stui.sex, stui.age,stui.note);void save() /学生信息保存 FILE * fp;int i; fp= fopen(e:student.txt,w);if (fp = N

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号