《高级语言程序设计》课程设计报告.docx
《《高级语言程序设计》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《高级语言程序设计》课程设计报告.docx(9页珍藏版)》请在冰豆网上搜索。
《高级语言程序设计》课程设计报告
《高级语言程序设计》课程设计报告
学号13080xx年第二学期
《高级语言程序设计》题目:
专业:
班级:
姓名:
指导教师:
成绩:
课程设计报告班级档案管理系统网络工程二朱和芳孙妍姑
计算机与信息工程系
xx年5月11日
1
计算机与信息工程系《高级语言程序设计》课程设计报告
班级档案管理系统
设计总说明
一、设计目的
运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程
基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。
二、设计内容
对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。
三、设计方法
结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。
2
目录
第一章绪论...............................5第二章需求分析
问题描述...............................6功能要求...............................6算法提示...............................6项目开发的目的..........................7第三章概要设计
程序模块的组成..........................8班级档案管理系统........................8各个程序的功能介绍......................9系统结构图..............................9第四章模块设计分析
程序的模块组成.........................10各个函数的主要功能.....................10系统的功能模块的划分...................10总流程图...............................12功能流程图.............................13第五章测试
存在的问题..........................14测试方案.............................14
第六章使用说明书.......................15
3
计算机与信息工程系《高级语言程序设计》课程设计报告
第七章总结...........................17附录
A
计算机与信息工程系《高级语言程序设计》课程设计报告
第二章需求分析
问题描述:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
姓名、学号、性别、年龄、备注。
2、本系统显示这样的菜单:
请选择系统功能项:
A、学生基本信息录入 B、学生基本信息显示
C、学生基本信息保存D、学生基本信息删除E、学生基本信息修改F、学生基本信息查询按学号查询按姓名查询按性别查询按年龄查询G、退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
算法提示
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
姓名学号性别6年龄备注计算机与信息工程系《高级语言程序设计》课程设计报告
charcharcharintchar
项目开发的目的
该系统是简单的班级档案管理系统,能够使老师了解到相应的信息。
是争对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多地精力去从事教务管理政策的而研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课老师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正步入高效,健康的轨道从而促使我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理。
7
计算机与信息工程系《高级语言程序设计》课程设计报告
第三章概要设计
程序模块的组成 主函数:
voidmain
录入函数:
voidGetInfo 显示函数:
voidDisPlay 保存函数:
voidSave 删除函数:
voidDelect 修改函数:
voidModfiy 查询函数:
voidSearch 输出函数:
voidprint()
()是录入函数,主要是录入学生的基本信息;
是显示函数,就是把学生的基本信息显示在电脑上;是保存函数,就是把学生基本信息保存下来;是删除函数,把不要的信息删除;是修改函数,修改错误的学生基本信息;是查询函数,查询学生的基本信息;是输出函数,输出学生的基本信息。
班级档案管理系统
structstudent//设定一个内容为学生信息的结构体
{
charname[10];//名字的长度允许最大为10;charno[10];//学号的长度允许最大为10;charsex;intage;
8
计算机与信息工程系《高级语言程序设计》课程设计报告
charbnote[100];//备注的长度允许最大为100;};
各个程序的功能介绍
主函数:
利用无限次循环例如ifwhile和
录入函数:
用来录入学生的基本信息。
显示函数:
把录入的学生的基本信息显示在桌面上。
保存函数:
可以保存学生信息。
删除函数:
可以删除学生的错误信息。
修改函数:
可以修改旧的信息。
查询函数:
方便管理员和学生查询。
退出函数:
可以用来退出系统以保证学生信息的安全。
switch语句
实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
系统结构图
班级档案管理系统
进入菜
信
息的录入信息的显示信息的保存信
息的删除
信息的修改
退出系统
单
9
计算机与信息工程系《高级语言程序设计》课程设计报告
第四章模块设计分析
程序的模块组成:
主函数:
voidmain
录入函数:
voidGetInfo显示函数:
voidDispiay保存函数:
voidSave删除函数:
voidDelect查询函数:
voidSearch修改函数:
voidModify菜单函数:
voidmenu_select()
各个函数的主要功能:
录入函数:
录入学生的基本信息;
菜单函数:
显示系统主菜单; 显示函数:
显示所有学生信息;
查询函数:
方便学生查找自己基本的信息; 删除函数:
删除某学生的信息;
保存函数:
保存好学生基本信息,以免丢失。
系统的功能模块的划分:
开始
菜单界面 功能选择 初始化函数 录入学生信息 显示学生信息 保存学生信息
10
计算机与信息工程系《高级语言程序设计》课程设计报告
删除学生信息修改学生信息查询学生信息退出系统结束
整个系统除了主函数外,另外还有14个函数,实现七大功能:
录入功能、显示功能、保存功能、删除功能、修改功能、查询功能、退出系统功能。
各个函数的详细设计说明分明如下:
主函数main
利用无限次循环for和swithch实现各函数的调用,系统根据输入的数字选项来调用相应的函数。
菜单选择函数intmenu_select()
这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九项功能,根据每个功能前面的序号进行选择。
等执行完每一个函数功能后,返回菜单。
代码设计初始化函数STUDENT*init
这是一个无参函数,里面只有两个语句,它的作用是使链表初始化,使head的值为NULL和一个清屏语句。
比如:
没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码。
输入记录函数STUDENT*create
这是一个无参函数,用来执行学生档案的记录的输入,当学生为@时停止输入,函数结束后,带回一个链表头的指针指向下一个学生的信息插在表头。
显示记录函数voidprint
这是有一个不返回值的有参函数,形参为“链表头的指针”,负责对全部学生成绩的输出,不足之处就是不能就是不能对学生成绩进行分页显示。
11
计算机与信息工程系《高级语言程序设计》课程设计报告
总流程图
定义6个函数 MainvoidGetInfovoidDisplayvoidSavevoidDeletevoidSearchvoidModify运行程序 退出程序结束
12
计算机与信息工程系《高级语言程序设计》课程设计报告
功能流程图
开始
录入学生基本信息打开文件Voidprint通过switch函数选择插入功能 stu[i].namestu[i].nostu[i].sexstu[i].agestu[i].bnote关闭并保存文件 结束
13
计算机与信息工程系《高级语言程序设计》课程设计报告
第五章测试
存在的问题:
在我们编号程序的时候其实还是存在许多问题的,当然这是一个过程,可以说错误基本上是不可避免的,比如说“一些输入格式问题和一些习惯性的问题而导致的错误等等”。
我个人认为系统调试需要比较扎实的基本功以及充分的细心,因为C语言中的有些错误是不直接明了的。
在这个时候就需要我们耐心的去查找错误,有些错误是于我们不好的习惯造成的,而且往往很难发现,因为这些错误都是自己平时不怎么注意的。
比如花括号的使用,比如分号的使用等等。
所以平时调试时得养成良好的习惯,尽量减少出错。
测试的方案
1.系统验证技术
2.系统确认技术 3.系统测试技术
1.将编好的源代码放到C语言的运行环境中去运行,通过运行找出其中的错误或者是输入不规范的地方,加以改正,还有就是试一下程序能不能运行,是不是满足课程设计题目的要求。
2.把已经整理好的源代码放到C语言运行环境去调试一下,就是确认这个源代码是否正确。
3.用运行系统测试源程序代码。
14
计算机与信息工程系《高级语言程序设计》课程设计报告
第六章使用说明书
按照菜单的提示进行选择,1表示学生信息的录入,先进行信息的录入完成
后,按回车键会弹出弹出第二个界面,根据第二个界面进行选择。
2表示信息的显示。
3表示信息的保存。
4表示信息的删除。
5表示信息的修改。
6表示信息的查询。
7表示安全退出系统。
当保存好学生的基本信息的时候你可以通过3保存学生的信息,按4是删除,删除成功后再输入你的学号会显示该学生不存在,在按5时会显示要输入密码才能改变信息,按6时会弹出一个四个选项组成的界面,有按1按学号查询、2按年龄查询、3按性别查询、4按姓名查询。
所以只要你根据菜单上操作是不难的,欢迎使用!
15
计算机与信息工程系《高级语言程序设计》课程设计报告
16
计算机与信息工程系《高级语言程序设计》课程设计报告
第七章总结
通过这次课程设计,我觉得自己的知识还远远不够,这次C语言课程设计的
“班级档案管理系统”,通过不断调试与修改,最终还是完成了,虽然参考了许多资料,但是自己亲手完成的第一个课程设计,还是挺激动地。
这次课程设计充分运用了自己所学的东西,明白了自己的不足点,于学艺不精,也遇到了不少麻烦,比如画E-R图时,各实体中关系的确定,于对系统还不够了解而找不到一个准确的词来形容,总体规划材料太多,不易整理;相关数据库没有多注意,这次课程设计的重点只在对整个系统的总体思路设计。
通过这次设计让我明白了,只有通过自己动手才能真正学到东西。
书本知识固然重要,但只有把它运用于实际才会发现自己的不足和错误,才能改进,才能达到学习的最终目标。
以下是我总结出的一些经验:
1.要对系统的功能做出详细的分析,并合理分解任务。
2.把分解出来的子任务,做成一个相对独立的模块。
3.在设计一个模块之前,要简单构想一下总界面的显示情况。
4.针对构想出来的界面进行程序的编写。
虽然我的课程设计存在许多问题,究其原因还是因为自己平时没认真学习,以后定会认真学习,学以致用。
17
计算机与信息工程系《高级语言程序设计》课程设计报告
附录:
计算机与信息工程系《高级语言程序设计》课程设计报告
}
}
fwrite(arr,sizeof(structstudent)*n,n,fp);fclose(fp);
voidModfiy(structstudent*arr,intn)//学生基本信息修改{
printf(\修改学生信息:
\\n\printf(\请输入学号:
\\n\scanf(\for(inti=0;iif(!
strcmp(number,arr[i].no)){
printf(\
printf(\arr[i].sex,arr[i].age,arr[i].bnote);printf(\
charnumber[10],ch;boolflag=false;
scanf(\
].age,
arr[i].bnote);
Save(arr,n);flag=true;
21
计算机与信息工程系《高级语言程序设计》课程设计报告
}
}
}
if(flag==false){}
printf(\该学生不存在!
:
\\n\
voidDelete(structstudent*arr,intn)//学生基本信息删除{
}
charnumber[10];boolflag=false;
printf(\printf(\scanf(\for(inti=0;iif(!
strcmp(number,arr[i].no)){
strcpy(arr[i].name,\strcpy(arr[i].no,\strcpy(arr[i].bnote,\arr[i].sex='';arr[i].age=0;Save(arr,n);flag=true;
22
计算机与信息工程系《高级语言程序设计》课程设计报告
}
}
if(flag==true){
printf(\该学生已删除不存在!
:
\\n\
}
voidSearch(structstudent*arr,intn)//学生基本信息查询{
inttemp,i;boolflag=false;
printf(\通过学号查询,press1----------\\n\printf(\通过姓名查询,press2----------\\n\printf(\通过性别查询,press3----------\\n\printf(\通过年龄查询,press4----------\\n\printf(\退出,press5----------\\n\scanf(\switch(temp){case1:
{
charnum[10];
printf(\请输入学号:
\\n\scanf(\for(i=0;iif(!
strcmp(num,arr[i].no))
23
计算机与信息工程系《高级语言程序设计》课程设计报告
{
printf(\
}break;
}
}
if(!
flag){
printf(\该学生不存在.\\n\}
sex,arr[i].age,arr[i].bnote);
flag=true;
case2:
{
charnum[10];
printf(\scanf(\for(i=0;iif(!
strcmp(num,arr[i].name)){
printf(\
}
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
24
计算机与信息工程系《高级语言程序设计》课程设计报告
}
if(!
flag){
printf(\该学生不存在.\\n\
}
}
break;
case3:
{
charch;
printf(\请输入性别:
\\n\ch=getch();for(i=0;iif(ch==arr[i].sex){
printf(\
}
}
}
if(!
flag){
printf(\该学生不存在.\\n\}
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
25
计算机与信息工程系《高级语言程序设计》课程设计报告
break;
case4:
{
charnum_age;
printf(\请输入年龄:
\\n\scanf(\for(i=0;iif(num_age==arr[i].age){
printf(\
}break;
}
}
if(!
flag){
printf(\该学生不存在.\\n\}
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
default:
break;
26
计算机与信息工程系《高级语言程序设计》课程设计报告
}
}
voidmain(){
structstudentarr[N];
intselect;print(false);scanf(\while(0switch(select){case1:
GetInfo(arr,N);print(true);break;
case2:
Display(arr,N);print(true);break;
case3:
Save(arr,N);print(true);
27
计算机与信息工程系《高级语言程序设计》课程设计报告
}
}
break;
case4:
Delete(arr,N);print(true);
break;
case5:
Modfiy(arr,N);print(true);
break;
case6:
Search(arr,N);print(true);
break;
default:
break;
}
printf(\请选择:
\\n\scanf(\
28
计算机与信息工程系《高级语言程序设计》课程设计报告
29
计算机与信息工程系《高级语言程序设计》课程设计报告
30
学号13080xx年第二学期
《高级语言程序设计》题目:
专业:
班级:
姓名:
指导教师:
成绩:
课程设计报告班级档案管理系统网络工程二朱和芳孙妍姑
计算机与信息工程系
xx年5月11日
1
计算机与信息工程系《高级语言程序设计》课程设计报告
班级档案管理系统
设计总说明
一、设计目的
运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程
基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。
二、设计内容
对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。
三、设计方法
结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。
2
目录
第一章绪论...............................5第二章需求分析
问题描述...............................6功能要求...............................6算法提示...............................6项目开发的目的..........................7第三章概要设计
程序模块的组成..........................8班级档案管理系统........................8各个程序的功能介绍......................9系统结构图..............................9第四章模块设计分析
程序的模块组成.........................10各个函数的主要功能.....................10系统的功能模块的划分...................10总流程图...............................12功能流程图.............................13第五章测试
存在的问题..........................14测试方案.............................14
第六章使用说明书.......................15
3
计算机与信息工程系《高级语言程序设计》课程设计报告
第七章总结...........................17附录
A