当前位置:
文档之家› 高级语言程序设计课程设计报告
高级语言程序设计课程设计报告
高级语言程序设计课程
设计报告
IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】
2013-2014学年第二学期
《高级语言程序设计》
课程设计报告
题目:班级档案管理系统
专业:网络工程
班级:二
姓名:朱和芳
指导教
师:孙妍姑
成绩:
计算机与信息工程系
2014年5月11日
班级档案管理系统
设计总说明
一、设计目的
运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰
写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。
二、设计内容
对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。
三、设计方法
结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。
目录
第一章绪论 (5)
第二章需求分析
问题描述 (6)
功能要求 (6)
算法提示 (6)
项目开发的目的 (7)
第三章概要设计
程序模块的组成 (8)
班级档案管理系统 (8)
各个程序的功能介绍 (9)
系统结构图 (9)
第四章模块设计分析
程序的模块组成 (10)
各个函数的主要功能 (10)
系统的功能模块的划分 (10)
总流程图 (12)
功能流程图 (13)
第五章测试
存在的问题 (14)
测试方案 (14)
第六章使用说明书 (15)
第七章总结 (17)
附录
A参考文献 (18)
B源程代码 (20)
第一章绪论
班级档案管理系统有六种功能,把这六种功能做成六个子函数。在主函数中设计一个菜单对这六个子函数进行管理,来实现对整个系统的操作。根据课题的要求,每个数据的结构应当包括:学号(char)、姓名(char)、性别(char)、年龄(int)、备注(char)。对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息的录入、显示、修改、删除、保存等操作的管理。最后为了以后按照处理后的顺序保存到文件中。
第二章需求分析
问题描述:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:姓名、学号、性别、年龄、备注。
2、本系统显示这样的菜单:
请选择系统功能项:
A、学生基本信息录入
B、学生基本信息显示
C、学生基本信息保存
D、学生基本信息删除
E、学生基本信息修改
F、学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
G、退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
算法提示
1、数据结构:结构体类型数组
2、数据库结构:下表构成该系统的基本数据库。
项目开发Array的目的该系统是简单的班级档案管理系统,能够使老师了解到相应的信息。是争对目前的现状,把管理人员从繁忙的数据统计中解脱出来,使其具有更多地精力去从事教务管理政策的而研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量,同时也减轻任课老师的负担,让其有更多的时间投入到教学和科研中,还有学生档案管理的重要性,以及当前的档案管理的现实,为了改善这种情况,使档案管理工作真正步入高效,健康的轨道从而促使我们开发了这个系统,以提高档案管理工作的效率和满足用户的基本需求为目的,实现档案管理。
第三章概要设计
程序模块的组成
主函数:voidmain()
录入函数:voidGetInfo()
显示函数:voidDisPlay()
保存函数:voidSave()
删除函数:voidDelect()
修改函数:voidModfiy()
查询函数:voidSearch()
输出函数:voidprint()
1.GetInfo()是录入函数,主要是录入学生的基本信息;
2.DisPlay()是显示函数,就是把学生的基本信息显示在电脑上;
3.Save()是保存函数,就是把学生基本信息保存下来;
4.Delect()是删除函数,把不要的信息删除;
5.Modfiy()是修改函数,修改错误的学生基本信息;
6.Search()是查询函数,查询学生的基本信息;
7.print()是输出函数,输出学生的基本信息。
班级档案管理系统
3.用运行系统测试源程序代码。
第六章使用说明书
按照菜单的提示进行选择,1表示学生信息的录入,先进行信息的录入完成后,按回车键会弹出弹出第二个界面,根据第二个界面进行选择。2表示信息的显示。3表示信息的保存。4表示信息的删除。5表示信息的修改。6表示信息的查询。7表示安全退出系统。当保存好学生的基本信息的时候你可以通过3保存学生的信息,按4是删除,删除成功后再输入你的学号会显示该学生不存在,在按5时会显示要输入密码才能改变信息,按6时会弹出一个由四个选项组成的界面,有按1按学号查询、2按年龄查询、3按性别查询、4按姓名查询。所以只要你根据菜单上操作是不难的,欢迎使用!
第七章总结
通过这次课程设计,我觉得自己的知识还远远不够,这次C语言课程设计的“班级档案管理系统”,通过不断调试与修改,最终还是完成了,虽然参考了许多资料,但是自己亲手完成的第一个课程设计,还是挺激动地。这次课程设计充分运用了自己所学的东西,明白了自己的不足点,由于学艺不精,也遇到了不少麻烦,比如画E-R图时,各实体中关系的确定,由于对系统还不够了解而找不到一个准确的词来形容,总体规划材料太多,不易整理;相关数据库没
有多注意,这次课程设计的重点只在对整个系统的总体思路设计。通过这次设计让我明白了,只有通过自己动手才能真正学到东西。书本知识固然重要,但只有把它运用于实际才会发现自己的不足和错误,才能改进,才能达到学习的最终目标。
以下是我总结出的一些经验:
1.要对系统的功能做出详细的分析,并合理分解任务。
2.把分解出来的子任务,做成一个相对独立的模块。
3.在设计一个模块之前,要简单构想一下总界面的显示情况。
4.针对构想出来的界面进行程序的编写。
虽然我的课程设计存在许多问题,究其原因还是因为自己平时没认真学习,以后定会认真学习,学以致用。
附录:
参考文献
《C程序设计(第三版)》谭浩强着清华大学出版社
《C语言程序设计实用指南》谭浩强着清华大学出版社
《课程设计与上级指导》谭浩强着
《课程设计与习题详解》葛日波着
源程序:
#include<>
#include<>
#include<>
#include<>
#defineN3ame,arr[i].no,&arr[i].age,&ch,&arr[i].sex,arr[i].bnote);
}
}
voidDisplay(structstudent*arr,intn)ame,arr[i].no,arr[i].sex,arr[i].
age,arr[i].bnote);
}
}
voidSave(structstudent*arr,intn)o))
{
printf("infor:namenosexagebnote\n");
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
printf("pleaseinputinformation:\n");
scanf("%s%s%c%c%d%s",arr[i].name,arr[i].no,&ch,&arr[i].sex,&arr [i].age,
arr[i].bnote);
Save(arr,n);
flag=true;
}
}
if(flag==false)
{
printf("该学生不存在!:\n");
}
}
voidDelete(structstudent*arr,intn)o))
{
strcpy(arr[i].name,"");
strcpy(arr[i].no,"");
strcpy(arr[i].bnote,"");
arr[i].sex='';
arr[i].age=0;
Save(arr,n);
flag=true;
}
}
if(flag==true)
{
printf("该学生已删除不存在!:\n");
}
}
voidSearch(structstudent*arr,intn)o))
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,arr[i].
sex,arr[i].age,arr[i].bnote);
flag=true;
}
}
if(!flag)
{
printf("该学生不存在.\n");
}
}
break;
case2:
{
charnum[10];
printf("pleaseinputname:\n");
scanf("%s",num);
for(i=0;i{
if(!strcmp(num,arr[i].name))
{
printf("%12s%12s%12c%12d%12s",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
}
}
if(!flag)
{
printf("该学生不存在.\n");
}
}
break;
case3:
{
charch;
printf("请输入性别:\n");
ch=getch();
for(i=0;i{
if(ch==arr[i].sex)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
}
}
if(!flag)
{
printf("该学生不存在.\n");
}
}
break;
case4:
{
charnum_age;
printf("请输入年龄:\n");
scanf("%d",&num_age);
for(i=0;i{
if(num_age==arr[i].age)
{
printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no,
arr[i].sex,arr[i].age,arr[i].bnote);
flag=true;
}
}
if(!flag)
{
printf("该学生不存在.\n");
}
}
break;
default:
break;
}
}
voidmain()
{
structstudentarr[N];
intselect;
print(false);
scanf("%d",&select);
while(0