学生信息管理系统c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生信息管理系统
1 课程设计目的与要求
1.1课程设计目的
本课程设计是在学习C语言基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼:
1.能根据实际问题的具体情况,结合C语言的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。
2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。
1.2课程设计要求
通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用。具体如下:
(1)数据组织方面尽量使用到:数组、链表、结构体、文件;
(2)程序结构方面做到函数调用,尽量采用指针运算;
(3)代码编写规范,形成良好的编程习惯;
(4)程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。
(5)课设完成须进行答辩,提交课设报告电子稿、装订的打印稿。课设报告内容包括以下几个方面:
●程序的总体设计和算法分析。
●程序流程图、函数说明
●源程序代码清单
●测试数据和测试过程记录
●遇到的问题及解决方法分析
●课程设计小结
1.3课程设计的评价
通过此次课程设计,我的知识面得到了扩展,发现课本上的东西是远远不够的,需要上网找资料寻找补充,而且小组合作的形式可以互相交流知识,弥补自己的不足。通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分析,并设计合理的模块化结构。提高程序开发能力。
1
2 问题描述
设计一个学生信息管理系统,其中包括:
学生基本信息:如学号、姓名、性别、年龄、地址、电话等。功能包括:
1.系统菜单形式显示
2.学生信息录入功能—输出
3.学生信息浏览功能—输出
4.查询、排序功能—算法
按学号查询
按姓名查询
5.学生信息的删除与修改
2
3总体设计
3.1 功能分析
3.1.1菜单模块
通过while语句
给出信息提示;
清屏;
绘制菜单(包含输入,浏览,查询,修改,删除,排序,保存,退出);
提示菜单选择并读入到变量;
根据读入变量的值调用不同的模块函数;
3.1.2信息录入模块
打开文件
While()
{ 清屏;
按照提示输入各种信息;
While
显示各种信息;
通过选择1.确认并继续 2.重新填写 3.放弃并返回 4.确认并返回选择四种功能;
}
}
3.1.3信息浏览模块
打开文件
While()
{ 清屏;
用for语句依次按照顺序输出学生信息
通过选择可以翻页1.上一页2.下一页0.退出
3
}
3.1.4信息查询
While()
{ 通过菜单式的选择是学号查询还是姓名
printf("******学生信息管理系统******");
printf("\n----------检索----------");
printf("\n您想要:");
printf("\n 1.按学号检索");
printf("\n 2.按姓名检索");
printf("\n 3.返回主菜单");
printf("\n****************************\n");
}
如果选择学号进入学号模块
通过输入学号
If(学号存在继续)
{输出学生信息
}
Else 输出无此学生
如果选择姓名进入姓名模块
If(根据比较姓名判断学生是否存在)
{输出学生信息
}
Else 输出无此学生
3.1.5删除模块
while( 继续删除 )
4
{
提示并读入待删除的学生的学生号;
显示要删除的信息
}
删除成功
3.1.6信息修改模块
输入要修改学生信息的学号:
If (判断是否有此学生)
{ 菜单形式显示要修改的项目
printf("\n1.姓名2.年龄3.性别4.出生年月5.地址6.电话7.E-mail \n");
printf("\n8.数学9.英语\n");
}
Swich()
{ 选择要修改的项目进行修改
}
3.1.7打开文件模块
void fileopen()
{
FILE *fp;
int n;
if((fp=fopen("data","r+"))==NULL)
fp=fopen("data","w+");
for(n=0;n<100;n++)
fread(&stu[n],sizeof(struct student),1,fp);
fread(&stunum,4,1,fp);
fclose(fp);
5