《高级语言程序设计》课程设计报告_第1页
《高级语言程序设计》课程设计报告_第2页
《高级语言程序设计》课程设计报告_第3页
《高级语言程序设计》课程设计报告_第4页
《高级语言程序设计》课程设计报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机与信息工程系 高级语言程序设计课程设计报告学号2013-2014学年 第二学期1308020248高级语言程序设计课程设计报告题目:班级档案管理系统专业:网络工程班级:二姓名:朱和芳指导教师:孙妍姑成绩:计算机与信息工程系2014年 5月 11日班级档案管理系统 设计总说明1、 设计目的 运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程 基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。2、 设计内容对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示

2、、修改、删除、保存等操作的管理。3、 设计方法结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在Microsoft Visual C+6.0平台上完成设计,并进行调试。29目录第1章 绪论.5第2章 需求分析2.1问题描述.62.2 功能要求.62.3 算法提示.62.4项目开发的目的.7第3章 概要设计3.1程序模块的组成.83.2班级档案管理系统.83.3各个程序的功能介绍.93.4系统结构图.9第4章 模块设计分析4.1程序的模块组成.104.2各个函数的主要功能.104.3系统的功能模块的划分.104.4总流程图.124.5功能流程图.13第五章 测试5.1存在

3、的问题.145.2测试方案.14第6章 使用说明书.15第7章 总结.17附录 A参考文献.18B源程代码.20 第一章 绪论 班级档案管理系统有六种功能,把这六种功能做成六个子函数。在主函数中设计一个菜单对这六个子函数进行管理,来实现对整个系统的操作。根据课题的要求,每个数据的结构应当包括:学号(char)、姓名(char)、性别(char)、年龄(int)、备注(char)。对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息的录入、显示、修改、删除、保存等操作的管理。最后为了以后按照处理后的顺序保存到文件中。 第2章 需求分析2.1 问题描述:对一个有N个学生的班级,通过该系统实

4、现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。2.2 功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:姓名、学号、性别、年龄、备注。2、本系统显示这样的菜单: 请选择系统功能项: A、学生基本信息录入 B、学生基本信息显示 C、学生基本信息保存 D、学生基本信息删除 E、学生基本信息修改 F、学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询 G、退出系统3、执行一个具体的功能之后,程序将重新显示菜单。4、将学生基本信息保存到文件中。 2.3 算法提示 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系

5、统的基本数据库。姓名学号性别年龄备注charcharcharintchar2.4项目开发的目的该系统是简单的班级档案管理系统,能够使老师了解到相应的信息。是争对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多地精力去从事教务管理政策的而研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课老师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正步入高效,健康的轨道从而促使我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理。 第三章 概要

6、设计3.1程序模块的组成 主函数:void main() 录入函数:void GetInfo() 显示函数: void DisPlay() 保存函数: void Save() 删除函数: void Delect() 修改函数: void Modfiy() 查询函数: void Search() 输出函数: void print() 1. GetInfo() 是录入函数,主要是录入学生的基本信息;2. DisPlay() 是显示函数,就是把学生的基本信息显示在电脑上;3. Save() 是保存函数,就是把学生基本信息保存下来;4. Delect() 是删除函数,把不要的信息删除;5. Modfi

7、y() 是修改函数,修改错误的学生基本信息;6. Search() 是查询函数,查询学生的基本信息;7. print() 是输出函数,输出学生的基本信息。3.2 班级档案管理系统 struct student /设定一个内容为学生信息的结构体 char name10;/名字的长度允许最大为10; char no10;/学号的长度允许最大为10; char sex; int age; char bnote100;/备注的长度允许最大为100;3.3 各个程序的功能介绍 主函数:利用无限次循环例如 if( ; ; )while()和switch()语句实现各函数的调用,系统根据输入的数字选项来调用

8、相应的函数。 录入函数:用来录入学生的基本信息。 显示函数:把录入的学生的基本信息显示在桌面上。 保存函数:可以保存学生信息。 删除函数:可以删除学生的错误信息。 修改函数:可以修改旧的信息。 查询函数:方便管理员和学生查询。 退出函数:可以用来退出系统以保证学生信息的安全。班级档案管理系统 3.4 系统结构图 进入菜单退出系统信息的修改信息的删除信息的保存信息的显示信息的录入 第4章 模块设计分析4.1程序的模块组成: 主函数:void main() 录入函数: void GetInfo() 显示函数:void Dispiay() 保存函数: void Save() 删除函数: void D

9、elect() 查询函数: void Search() 修改函数: void Modify() 菜单函数: void menu_select()4.2 各个函数的主要功能: 录入函数:录入学生的基本信息; 菜单函数:显示系统主菜单; 显示函数:显示所有学生信息; 查询函数:方便学生查找自己基本的信息; 删除函数:删除某学生的信息; 保存函数:保存好学生基本信息,以免丢失。4.3 系统的功能模块的划分: 开始 菜单界面 功能选择 初始化函数 录入学生信息 显示学生信息 保存学生信息 删除学生信息 修改学生信息 查询学生信息 退出系统 结束 整个系统除了主函数外,另外还有14个函数,实现七大功能:

10、录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。各个函数的详细设计说明分明如下: (1)主函数 main() 利用无限次循环 for( ; ; )和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。 (2)菜单选择函数 int menu_select() 这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九项功能,根据每个功能前面的序号进行选择。等执行完每一个函数功能后,返回菜单。 (3)代码设计 初始化函数 STUDENT *init() 这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NUL

11、L和一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码。 (4)输入记录函数 STUDENT *create() 这是一个无参函数,用来执行学生档案的记录的输入,当学生为时停止输入,函数结束后,带回一个链表头的指针指向下一个学生的信息插在表头。 (5)显示记录函数 void print(STUDENT *head) 这是有一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩的输出,不足之处就是不能就是不能对学生成绩进行分页显示。定义6个函数4.4总流程图Main()void Modify()void Delete()void S

12、earch()void Display()void Save()void GetInfo()运行程序退出程序结束 4.5功能流程图开始通过switch函数选择插入功能Void print打开文件录入学生基本信息 stui.no stui.sex stui.age stui.bnote关闭并保存文件结束第5章 测试5.1存在的问题:在我们编号程序的时候其实还是存在许多问题的,当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入格式问题和一些习惯性的问题而导致的错误等等”。我个人认为系统调试需要比较扎实的基本功以及充分的细心,因为C语言中的有些错误是不直接明了的。在这

13、个时候就需要我们耐心的去查找错误,有些错误是由于我们不好的习惯造成的,而且往往很难发现,因为这些错误都是自己平时不怎么注意的。比如花括号的使用,比如分号的使用等等。所以平时调试时得养成良好的习惯,尽量减少出错。5.2测试的方案 1.系统验证技术 2.系统确认技术 3.系统测试技术1. 将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入不规范的地方,加以改正,还有就是试一下程序能不能运行,是不是满足课程设计题目的要求。2. 把已经整理好的源代码放到C语言运行环境去调试一下,就是确认这个源代码是否正确。3. 用运行系统测试源程序代码。第6章 使用说明书 按照菜单的提示进行

14、选择,1表示学生信息的录入, 先进行信息的录入完成后,按回车键会弹出弹出第二个界面,根据第二个界面进行选择。2 表示信息的显示。3表示信息的保存。4表示信息的删除。5表示信息的修改。6表示信息的查询。7表示安全退出系统。当保存好学生的基本信息的时候你可以通过3保存学生的信息,按4是删除,删除成功后再输入你的学号会显示该学生不存在,在按5时会显示要输入密码才能改变信息,按6时会弹出一个由四个选项组成的界面,有按1按学号查询、2按年龄查询、3按性别查询、4按姓名查询。所以只要你根据菜单上操作是不难的,欢迎使用! 第七章 总结 通过这次课程设计,我觉得自己的知识还远远不够,这次C语言课程设计的“班级

15、档案管理系统”,通过不断调试与修改,最终还是完成了,虽然参考了许多资料,但是自己亲手完成的第一个课程设计,还是挺激动地。这次课程设计充分运用了自己所学的东西,明白了自己的不足点,由于学艺不精,也遇到了不少麻烦,比如画E-R图时,各实体中关系的确定,由于对系统还不够了解而找不到一个准确的词来形容,总体规划材料太多,不易整理;相关数据库没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。通过这次设计让我明白了,只有通过自己动手才能真正学到东西。书本知识固然重要,但只有把它运用于实际才会发现自己的不足和错误,才能改进,才能达到学习的最终目标。 以下是我总结出的一些经验:1.要对系统的功能做出

16、详细的分析,并合理分解任务。2.把分解出来的子任务,做成一个相对独立的模块。3.在设计一个模块之前,要简单构想一下总界面的显示情况。4.针对构想出来的界面进行程序的编写。虽然我的课程设计存在许多问题,究其原因还是因为自己平时没认真学习,以后定会认真学习,学以致用。附录:参考文献C程序设计(第三版) 谭浩强 著 清华大学出版社C语言程序设计实用指南 谭浩强 著 清华大学出版社课程设计与上级指导 谭浩强 著课程设计与习题详解 葛日波 著源程序:#include<stdio.h>#include<stdlib.h>#include<string.h>#includ

17、e<conio.h>#define N 3/测试数据人数为3struct student/设定一个内容为学生信息的结构体char name 10;/名字的长度允许最大为10char no10;/学号的长度允许最大为10char sex;int age;char bnote100;/备注的长度允许最大为100;void print(bool menu)/打印基本信息if(!menu)/主菜单 printf("ttt(欢迎使用本班级档案管理系统)tttn"); printf("*欢迎进入我们的系统*nn"); printf("学生基本信

18、息录入;press 1 n"); elseprintf("学生基本信息显示,press 2 n");printf("学生基本信息保存,press 3 n");printf("学生基本信息删除,press 4 n");printf("学生基本信息修改,press 5 n");printf("学生基本信息查询,press 6 n"); printf("退出学生信息系统,press 7 n"); void GetInfo(struct student *arr,int n

19、)/学生基本信息录入char ch;for(int i=0;i<n;i+)printf("输入学生的基本信息:name no age sex bnoten"); scanf("%s%s%d%c%c%s",,arri.no,&arri.age,&ch,&arri.sex,arri.bnote);void Display(struct student* arr,int n)/ 学生基本信息显示 printf("学生基本信息:Name No Sex Age Noten"); for(int i

20、=0;i<n;i+) printf("%15s%15s%15c%15d%15sn",,arri.no,arri.sex,arri. age,arri.bnote); void Save(struct student* arr,int n)/ 学生基本信息保存,保存在c:student.txtFILE *fp;fp=fopen("c:student.txt","w+");if(fp=NULL)printf("文件不存在 !n");exit(0);fwrite(arr,sizeof(struct

21、 student)*n,n,fp);fclose(fp);void Modfiy(struct student* arr,int n)/学生基本信息修改char number10,ch;bool flag=false;printf(" 修改学生信息:n");printf(" 请输入学号 :n");scanf("%s",number);for(int i=0;i<n;i+)if(!strcmp(number,arri.no)printf("infor: name no sex age bnoten");prin

22、tf("%12s%12s%12c%12d%12sn",,arri.no, arri.sex,arri.age,arri.bnote);printf("please input information:n");scanf("%s%s%c%c%d%s",,arri.no,&ch,&arri.sex,&arri.age,arri.bnote); Save(arr,n); flag=true;if(flag=false)printf("该学生不存在 !:n");v

23、oid 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;i<n;i+)if(!strcmp(number,arri.no)strcpy(," ");strcpy(arri.no," ");st

24、rcpy(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("-通过性

25、别查询,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;i<n;i+) if(!strcmp(num,arri.no) printf("%12s%12s%12c%12d%12sn&quo

26、t;,,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;i<n;i+) if(!strcmp(num,) printf("%12s%12s%12c%12d%12s",,arri.no, arri.sex,arri.age,arri.bnote); flag=true; if(!flag) printf("该学生不存在.n"); break; case 3: char ch; printf("请输入性别:n"); ch=getch(); for(i=0;i<n;i+) if(ch=arri.sex) printf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论