




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新能源与动力工程学院课程设计报告程序设计课程设计(C/C+) 专业能源与动力工程 班级能动1302 姓名* 学号201311700 指导教师罗世昌2014年 7 月 新能源与动力工程学院课程设计任务书课程名称: 程序设计课程设计(c/c+) 指导教师(签名): 班级: 能动1302 姓名: * 学号: 201311700 一、 课程设计题目班级档案管理系统二、 课程设计使用的原始资料(数据)及设计技术要求:Windows操作系统并安装Visual C+6.0程序的开发环境三、 课程设计的目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领。三、课程设计的主要内容和要求1. 现有n个人学生的信息,按照信息查询。2. 拟查询方式,给查询者选择方式。3. 当查询者选择后信息将显示出来。4. 将查询后的信息保存到另一个数据文件中。5. 附加功能:如查询联系方式等。四、工作进度安排7月4日 教师布置设计任务,学生选题。查阅资料,基本技术准备,设计程序框图和功能。7月5日 编写和调试程序。7月7日 编写和调试程序。7月8日 编写和调试程序;成果演示。7月9日 撰写设计说明书,提交报告,评定成绩。四、 主要参考文献1 谭浩强 著 c程序设计(第四版) 清华大学出版社2 谭浩强 著 c程序设计与学习辅导 清华大学出版社 3 Microsoft Visual C+ 6.0指南审核批准意见系主任(签字) 年月日指导教师评语及成绩评定表指导教师评语成绩设计过程(40)设计报告(50)小组答辩(10)总成绩(100)指导教师签字: 年 月 日 目录一 绪论.- 1 -1.1 背景描述.- 1 -1.2 前期准备.- 2 -二 需求分析.- 3 -2.1 系统概述.- 3 -2.2 项目的功能需求.- 3 -2.3 系统开发的流程.- 4 -2.4 系统的运行要求.- 5 -三 概要设计.- 6 -3.1 程序的模块组成.- 6 -3.2 班级档案管理系统.- 6 -3.3 各个程序的功能介绍.- 6 -3.4 系统结构图.- 7 -四 模块设计分析.- 8 -4.1 总体程序线路流程图解.- 8 -4.2 学生基本信息录入.- 9 -4.3 学生基本信息的显示.- 9 -4.4 学生基本信息的保存.- 9 -五 测试与结果分析.- 11 -5.1 测试的方案.- 11 -5.2 存在的问题.- 11 -六 程序运行效果图.- 13 -七 总结.- 15 -参考文献.- 16 -附录.- 17 -1-一 绪论1.1 背景描述随着社会信息量的与日俱增和国家的招生规模的不断扩大,学校需要有一个很好的班级档案管理系统,以方便对学生档案进行有效的管理。系统应具有既方便教师对学生档案的录入和保存还有显示、删除、修改、查询等功能。班级档案管理系统这个系统名字是在经过与客户商量而确定的,在有极大的生存空间下而开始开发的,得到了学校与师生们的一致好评。在诸多管理系统的班级档案管理系统与其他管理系统都是一种基础系统,本系统具有数据操作方便、高效、迅速等优点。该软件是采用功能强大的数据库软件开发工具进行开发,具有很好的可移植。同时可通过设置密码来控制其访问权限,确保系统数据的安全性,使用该系统能够既能把管理人员从繁忙的数据统计中解脱出来,使其具有更多的精力去从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课教师的负担,让其有更多的时间投入到教学和科研中,其作主要的功能是能够便于学校的管理。 班级档案系统是学生的基本信息数据位主的管理,合理的管理让该系统的功能得以顺利的实现。1)系统现状 目前,我国大中专院校的学生管理的水平普遍不高。在当今的信息时代,传统的管理方法必然要被以计算机为基础的信息管理所代替,而去目前很多重点院校都已经有了自己的教务管理系统。已有的大都偏向学生成绩管理系统、学籍管理等,而本系统则重点放在档案管理上,从整体上,从整体上进行分析设计,这对于其他类似的管理系统的设计很有高的参考意义。 2)用户需求 针对目前各大高校对学生档案管理方面存在的问题和管理的实际需要,我们将理顺管理体制和建立各种管理规范与开发系统的有机结合起来,从用户的角度来看系统首先因该提供便捷的强大的查询功能。对于学校和全体教师而言,他们因该具有对系统各个部分具有各自不同的权限。对学生用户而言,系统因该提供能够查询自己档案的功能。从教务管理者的角度来看,系统因该能够实现即时查询功能,记录学生的档案,以实现对档案的各种操作等功能。还要具有比较高的安全性,用户登录时必须要有密码验证,这样可以保证用户的信息的安全从而使用户的隐私不至于被泄露。总之档案管理系统就是在这种背景下应运而生的。1.2 前期准备首先明确编写的要求,根据相关知识需求对班级档案信息进行收集,打印所需的材料,其次人员进行资料查询,获得相关原始数据集,为编写程序做基础工作,再进行人员分工,处理相关数据。二 需求分析2.1 系统概述以广大用户的利益为基础,实现对学生或者其他用户的信息的网络化信息化管理,从而实现档案管理工作的高效率化,班级档案管理系统 10 是以学生的基本信息的保存为载体的管理系统,它有着很大的优越性,是目前市场上同类系统的一个有很强的竞争力的系统,该系统操作简单,每个步骤都有明确的提示,而去容易操作,一般用户对其基本操作的掌握是完全没有问题的,容易操作时该系统的一个亮点。2.2 项目的功能需求1)未开发软件的功能描述学生档案管理系统必须能够完成系统管理、学生基本信息的录入、 学生基本信息的显示、学生基本信息的保存、学生基本信息的删除、学生基本信息的修改、学生基本信息的查询、和退出系统的功功能(1)系统管理主要是维护系统的正常运行和安全性设置,包括登录用户身份时管理员能够完成添加用户、删除用户、修改密码、查询用户的权限和重新登录等功能,以及针对未涉及到数据库中数据的备份和恢复是能够实现按照学号、学生姓名、学生性别、学生年龄、进行查询。 (2)在修改学生基本信息的时候是有限制的,不是所有的都可以的,在进行学生基本信息的修改时,要进行密码的确认,从而为用户的信息的保护又多了一层。 (3)在完成档案管理的基本操作之后,必须有一个能够安全退出系统的功能,这样也是保证学生基本信息的安全,只有系统安全的退出才不会影响系统的再次运行。2)系统的模块 该系统主要分为下列五个模块: 1.学生基本信息的录入模块 2.学生基本信息的显示模块 3.学生基本信息的保存模块 4.学生基本信息的删除模块 5.学生基本信息的修改模块2.3 系统开发的流程1)开发流程的描述 (1)首先因该是对你讲要开发的项目进行调研,仔细的考察在这个系统开发的过程中可能会遇到的问题,还要考察你所要开发项目的可行性,这个项目到底能不能实现,在当前的开发环境下是不是有可能将其开发出来,这些都是必须在决定开发这个系统之前应该做好的准备工作。 (2)然后是和用户商榷系统的名称以及一些相关事宜,当然在11这个时候还有一个非常重要的事情要做就是考虑是不是有足够的必要现在去开发这个系统,也就是其用户是不是足够的多,市场是在这个系统有很大的需求,还有就是考察该系统在生存空间,也就是说到底有多少人在这个系统的市场上,客户的需求是我们开发这个这个系统的目的和基本动机。 (3)确定要开发项目和明确要开发项目的名称之后,就是到了要为项目的开发做好初期准备工作的时候了,首先要整理相关的资料,至于这一方面我们可以借住现在的互联网和我们学校的图书馆,把我们在开发的过程可能会用到了东西先有序的整理出来这样方便我们在开发的时候用。 (4)把我们要开发的系统划分成几个可以操作的模块,尽可能的把一个整体的问题细化,这样可以一个模块一个模块的把问题逐渐解决掉,尽可能的把每个模块的模块图画出来这样的话可以方便在开发过程中的进一步的完善和按照模块图上的要求进行操作,最终实现我们的开发目的。 (5)在前面的准备工作都做好了之后就因该进行开发系统的源代码根据一个一个模块的分析把源代码写好,当然这是一个比较困难的过程。2.4 系统的运行要求 系统属于模式软件系统,代码使用c.visual+6.0编写,系统要求在windows系统下运行。 三 概要设计3.1 程序的模块组成主函数: void main() 录入函数: void GetInfo ()显示函数 void Display() 保存函数 void Save()输出函数: void print() 1. GetInfo()是录入函数,主要是录入学生的基本信息。2. Display()是显示函数,就是把学生的基本信息显示在电脑上。3. Save()是保存函数,就是在把学生基本信息的保存下来。4. Delete()是删除函数,把不要的信息删除。5. Modfiy()是修改函数,修改错误的学生基本信息。6. print()是输出函数。3.2 班级档案管理系统 struct student /设定一个内容为学生信息的结构体 char name10;/名字的长度允许最大为十 char no10;/学号的长度允许最大为十 char sex; int age;/定义年龄为整型 char bnote100;/备注的长度为允许最大100 ; 3.3 各个程序的功能介绍 主函数:利用无限次循环例如for(;)while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 录入函数:用来录入学生的基本信息。 显示函数:把录入的学生基本信息直观的显示在桌面上。保存函数:可以保存学生信息。 退出函数:可以用来退出系统以保证学生信息的安全。3.4 系统结构图 图3.4四 模块设计分析4.1 总体程序线路流程图解 图4.14.2 学生基本信息录入程序编写:void getinfo(strut student *arr,int n)/函数调用for(int i=0;in;i+)printf(“输入学生的基本信息:name age bnoten”);scanf(“%s%s%c%d%s”,,arri.no,&arri.sex, arri.age,&arri.bnote);4.3 学生基本信息的显示 程序编写:void display(struct student*arr,int n)/函数调用printf(“学生信息:name no sex age noten”);for(int i=0;in;i+)printf(“%20s%20s%20c%20d%20sn”, ,arri.no,&arri.sex, arri.age,&arri.bnote);4.4 学生基本信息的保存 程序编写:void save(struct student*arr,int n)/函数调用 file*fp;fp=fopen(“c:student.txt”,”w+”);If(fp=null) printf(“文件不存在!n”);exit(0);fwrite(arr,sizeof(struct student)*n,n,fp);fclose(fp); 图4.4- 17 -五 测试与结果分析5.1 测试的方案 1.系统验证技术。2.系统确认技术。3.系统测试技术。i.将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入的不规范的地方,加以改正,还有就是试一下程序到底能不能运行,是不是满足课程设计的题目的要求。ii.把已经整理好的源代码放到C语言的运行环境去调试一下,就是确认这个源程序代是否正确。 iii.用运行系统测试源程序代码。5.2 存在的问题在我们编好程序的时候其实还有很多问题的当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入的格式问题和由于习惯性的错误而导致的错误等等。我个人认为系统调试需要比较扎实的基本功以及充分的细心,c语言中有一些错误并不是直接明了的。在这个时候就需要我们有耐心慢慢的去找自己的错误,有些错误是由于一些不良操作习惯造成的,而且往往很难发现,因为这类错误都是平时自己不怎么注意的,所以就是产生了也很难查出来,这就要求我们平时养成良好的习惯。比如花括号的使用,我最开始编写的一个程序有一个错误,但是我就是怎么也查不出来,而且因为操作习惯不好,整个程序毫无层次感,花括号也是成一列排放,没有一一分层对应。后来实在找不出原因就请教了老师。指导老师看了之后将我的程序重新排布了一遍,发现有一个花括号前后没有对应。其实在简单的程序中,花括号缺损可以很快发现,因为会有直白的提醒,但是在较复杂的程序中,一个花括号的缺损也许会造成其他很多错误的产生,如果有良好操作习惯,可以很快发现这个小问题。所以我觉得,我们的基础应该牢实!要不然就会犯下很多那种没必要的错误。可以说是低级失误!通过系统调试我学会了很多东西。我们要注重基础,因为我们有时就是因一个基础知识点没学会,从而产生很多的错误。六 程序运行效果图输入密码123,进入档案管理系统界面:图6.1输入1,信息录入界面:图6.2输入2,进入学生基本信息显示:图6.3输入6,进入学生基本信息查询界面,同时选择学号02的同学:图6.4七 总结通过这次课程设计我学到了许多感觉自己的知识的不够这次数据库课程设计的“班级档案管理系统”,通过在机房的不断调试和修改其中错误加上验证和测试使得对该系统的运用已经能够已经得到了充分的应用了。所学的数据库的知识,并去图书馆查阅了一些书集和上网搜索一部分资粗略设计出该系统。总体上来说,这次课程设计还是比较成功的。当然,由于学艺不精,在课程设计的过程中也碰到的一些问题。其中,总体规划,材料太多,不易整理;相关数据库技术方面没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。其实这些通过最近的课程设计觉得最重要一点就是:我们一定要自己动手,这样才能真正的学到东西。书本知识固然重要,但我们更要学会将书本知识应用到实际中才会发现错误,也才能改进,才能达到学习的最终目的。但我出总结出了一点点的经验如下: 1、要对系统的功能和要求做出详细的分析,并合理分解任务。2、把分解出来的子任务,做给一个相对独立的模块。 3、在设计一个模块之前,要简单构想一下总界面的显视情况。4、针对构想出来的界面进行程序的编写。虽然我的课程设计师存在许多的问题,究其原因还是因为自己平时没有认真听老师讲课,但是我还是希望老师能够白忙中抽空看看我的课程设计的报告,我将非常感谢! 参考文献1 谭浩强 著 c程序设计(第四版) 清华大学出版社2 谭浩强 著 c程序设计与学习辅导 清华大学出版社 3 Microsoft Visual C+ 6.0指南附录程序源代码#include #include #include #include #define N 3struct student char name10; char no10; Char sex; int age; char bnote100;void print(bool menu) if (!menu) printf(学生基本信息录入 ,press 1n); else printf(学生基本信息显示 ,press 2n); printf(学生基本信息保存 ,press 3n); printf(学生基本信息删除 ,press 4n); printf(学生基本信息修改 ,press 5n); printf(学生基本信息查询 ,press 6n); printf(退出学生信息系统 ,press 7n); bool Check(char pas6) FILE *fp; char ch; char a7= ; int i = 0; if (fp=fopen(c:1.txt,r)=NULL) printf(打开文件失败!n); exit(0); ch=fgetc(fp); while (ch!=EOF&i6) ai = ch; ch=fgetc(fp); i+; a6 = 0; if (!strcmp(pas,a) return true; else printf(密码错误n); return false; fclose(fp);void GetInfo(struct student *arr,int n) for (int i = 0;in;i+) printf(输入学生的基本信息:name no sex age bnoten);scanf(%s %s %c %d %s,,arri.no,&arri.sex,&arri.age,arri.bnote); void Display(struct student* arr,int n) printf(学生信息: Name NO Sex age Noten); for (int i = 0;in;i+) printf(%15s%15s%15c%15d%15sn,,arri.no,arri.sex,arri.age,arri.bnote); void Save(struct student* arr,int n) FILE * fp; fp= fopen(c:student.txt,w+); if (fp = NULL) printf(文件不存在!n); exit(0); fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp);void Modfiy(struct student* arr,int n) char number10; bool flag=false; char pass6; printf(请输入密码:n); scanf(%s,pass); if (Check(pass) printf(修改学生信息:n); printf(请输入学号:n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) printf(infor: name no sex age noten); printf(%12s%12s%12c%12d%12sn,,arri.no, arri.sex,arri.age,arri.bnote); printf(please input information:n);scanf(%s%s%c%d%s,,arri.no,&arri.sex,&arri.age,arri.bnote); Save(arr,n); flag = true; if (flag = false) printf(该学生不存在!:n); void Delete(struct student* arr,int n) char number10; bool flag=false; printf(Delete information:n); printf(please input the no:n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) strcpy(, ); strcpy(arri.no, ); strcpy(arri.bnote, ); arri.sex = ; arri.age = 0; Save(arr,n); flag = true; if (flag = true) printf(该学生不存在!:n); void Search(struct student* arr,int n) int temp,i; bool flag=false; printf(-通过学号查询,press 1-n); printf(-通过姓名查询,press 2-n); printf(-通过性别查询,press 3-n); printf(-通过年龄查询,press 4-n); printf(-退出,press 5 -n); scanf(%d,&temp); switch (temp) case 1: char num10; printf(请输入学号:n); scanf(%s,num); for ( i =0;in;i+) if (!strcmp(num,arri.no) printf(%12s%12s%12c%12d%12sn,,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(该学生不存在.n); break; case 2: char num10; printf(please input name:n); scanf(%s,num); for ( i =0;in;i+) if (!strcmp(num,) printf(%12s%12s%12c%12d%12s,,arri.no, arri.sex,arri.age,arri.bnote); flag = true;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年n1叉车司机考试题库(附答案)
- 2025年全国消防员救援安全常识及技能知识应知应会考试题库(附答案)
- 青少年近视的护眼饮食
- 委托就业协议书模板6篇
- 2025年医疗器械专业知识培训试题及答案
- 糖尿病并发肾病护理
- 2025商业房产代理销售合同范本
- 第3课《雨的四季》说课稿-2024-2025学年统编版语文七年级上册
- (听赏)桃子花溜溜红(领唱 合唱)教学设计-2025-2026学年小学音乐接力版四年级下册-接力版
- 2025餐饮服务承包合同样本范本
- 2025年高考四川卷生物真题试卷(解析版)
- 第一章有理数-单元测试卷-2025-2026学年人教版数学
- 乡镇街道安全培训课件
- 厂房带租约出售合同范本
- 中心城区排水防涝改造一期工程可行性研究报告
- 2025年租用企业宿舍协议书
- 巴西白糖联营协议合同范本
- 2025年河南省委党校在职研究生招生考试(政治理论)历年参考题库含答案详解(5卷)
- 医院收费处课件
- 2025年事业单位工勤技能-甘肃-甘肃护理员一级(高级技师)历年参考题库含答案解析(5卷)
- 通信技术的现状与发展
评论
0/150
提交评论