学生信息管理系统课程设计论文.docx
- 文档编号:14258781
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:31
- 大小:198.77KB
学生信息管理系统课程设计论文.docx
《学生信息管理系统课程设计论文.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计论文.docx(31页珍藏版)》请在冰点文库上搜索。
学生信息管理系统课程设计论文
前言
随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
VisualC++6.0是一种功能强大行之有效的可视化编程工具。
因此此软件是在VisualC++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了VisualC++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于VisualC++6.0环境的软件开发,先以字符统计软件作为开始,对VisualC++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于VisualC++6.0环境下的学生信息查询软件的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次学生信息查询软件的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、类的设计和使用以及C语言语法。
本文档的安排如下:
第一章主要介绍了对面向对象C语言的主要特征,VisualC++6.0编程环境以及该系统的各项功能。
第二章主要的介绍说明了学生信息查询系统软件的编程思想和系统的总体流程图以及对该流程图的详细介绍。
第三章主要介绍学生信息查询系统软件的详细设计,各个分模块的单独流程图以及对设计和流程图的一些介绍。
第四章主要介绍了软件软件进行调试,运行程序并截图,显示运行界面和结果。
第五章是该论文作者对这次课程设计过程中的一些感受和体会等。
1系统概述
该系统的功能是以菜单方式工作,输入密码验证正确进入菜单选择界面,用户通过选择数字来选择学生信息录入功能---输入学生基本信息,学生信息浏览功能---输出学生的基本信息,查询、排序功能---算法,按学号查询,按姓名查询。
学生信息的删除与修改(可选项)的等基本的功能,从而实现用户的想法。
在各项基本功能之下我们可以看到各种小的模块来满足用户的各种需求,达到快速方便的效果。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,学生信息查询系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
1.1C语言的主要特点
(1)C语言简洁、紧凑,使用方便、灵活。
(2)预算符丰富。
(3)数据类型丰富,具有现代语言的各种数据结构。
(4)具有结构化的控制语句。
(5)语法限制不太严格,程序设计自由度大。
(6)C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能可以直接对硬件进行操作。
(7)生成目标代码质量高,程序执行效率高。
(8)用C语言编写的程序可移植性好(与汇编语言相比)。
1.2VisualC++6.0运行环境
图1 VisualC6.0运行环境
2概要设置
2.1总体设计思想
(1)学生信息管理系统的功能为显示主要操作页面,通过密码验证登陆界面,档案信息处理功能。
通过密码验证登陆,可实现安全登录,方便可靠。
学生信息处理功能包括输入学生信息,显示学生的档案信息,学生档案信息条件查询(分为:
按学生姓名进行查询,按学生学号进行查询),更新学生档案信息。
(2)学生信息管理系统的功能模块有:
系统登陆界面,美观大方,按enter键进入密码验证登陆界面,输入正确密码登陆主菜单选择框架界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入该功能。
1.输入学生档案信息。
2.显示学生的档案信息
3.学生档案信息条件查询
4.更新学生档案信息。
0.退出,谢谢使用!
!
!
程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。
2.2总体设计流程图
学生信息管理系统
密码登陆界面
登陆主菜单选择框架界面
输入信息模块
显示信息模块
条件查询模块
更新信息模块
退出系统模块
从键盘输入信息
输出信息至屏幕
按学生学号查询
按学生姓名查询
修改学生信息
插入学生信息
将退出界面显示
图2 总体设计流程图
该流程图为此次学生信息查询系统的总体流程图,用户进入界面以后可以看到登陆密码界面,密码输入正确进入主菜单选择框架界面,1为输入学生信息档案,2为显示学生档案,3为学生信息档案查询,4为更新学生档案,0为退出系统。
用户可以根据自己的需求方便快捷的做出自己的选择。
3系统详细设计
3.1头文件的引用和函数的声明
#include
#include
#include
#include
staticintm=0;
structrecord/*学生信息结构体*/
{
intnum;
charname[30];
charsex;
floattel;
intage;
charxibiebanji[80];
}stu[500];
voidpassword();
voidrecordplatform();/*系统标题函数声名*/
voidxuanzekuangjia();/*选择框架函数声名*/
voidtuichuxitong();/*0.退出学生档案信息系统函数声名*/
voidshuruxinxi();/*1.输入学生档案信息函数声名*/
voidxianshixinxi();/*2.显示档案信息函数声名*/
voidtiaojianchaxun();/*3.学生档案信息条件查询函数声名*/
voidgengxinxinxi();/*4.更新学生信息函数声名*/
该函数是对头文件的加载和引用,定义结构体、常量和变量,并对他们进行初始化工作。
3.2系统主调函数
/*---------------------------------主调函数-------------------------------------*/
/*主函数*/
voidmain()
{
printf("\n");
printf("\n");
printf("\n");
printf("------------★---------------------------大家好------------------------★------------\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("老师您好!
\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("-------☆-【学生档案信息管理系统】-☆------\n");
printf("\n");
system("pause");
system("cls");
fflush(stdin);
password();/*密码登陆验证函数调用*/
recordplatform();/*系统标题函数调用*/
xuanzekuangjia();/*选择框架函数调用*/
}
该函数为程序的主函数,主要实现了对整个程序的运行控制,以及相关功能模块的调用。
3.3密码验证函数
/*通过对比字符串数组比较实现密码校验*/
voidpassword()
{
ints,g=0;
charstr1[20]={"123456"};
charstr2[20];
do
{
printf("***************************************************\n");
printf("\n");
printf("★★★★★★★★请输入密码:
★★★★★★★★\n");
printf("\n");
printf("***************************************************\n");
gets(str2);
/*while()
{
if(str1[g]==str2[g])
s=1;
else
{
s=0;break;
}
g++;
}
*/
if(!
strcmp(str1,str2))/*比较输入的密码str1和设定的密码str2,
{输出“密码正确”。
*/
printf("密码输入正确\n");
s=1;
}
else
{
s=0;
printf("密码输入错误,请从新输入\n");
}
}while(s==0);
}
密码登陆函数流程图:
密码函数开始
登陆密码
重新登陆
密码正确
密码错误
该函数为密码登陆函数模块,当输入的密码不正确的时候,系统会提示“密码输入错误,请重新输入”,直到输入正确密码为止。
3.4选择框架函数
/*---------------------------------程序名称-------------------------------*/
voidrecordplatform()
{
printf("\n");
printf("\n");
printf("----------------------------------------------\n");
printf("|||********学生档案信息管理系统********|||\n");
printf("----------------------------------------------\n");
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\n");
}
/*------------------------------------选择框架--------------------------------------*/
voidxuanzekuangjia()
{
intj,k;
charw;
printf("┌--------------------------------------------┐\n");
printf("│★欢迎使用学生档案信息管理系统★│\n");
printf("├--------------------------------------------┤\n");
printf("│1.输入学生档案信息│\n");
printf("├--------------------------------------------┤\n");
printf("│2.显示学生的档案信息│\n");
printf("├--------------------------------------------┤\n");
printf("│3.学生档案信息条件查询│\n");
printf("├--------------------------------------------┤\n");
printf("│4.更新学生档案信息│\n");
printf("├--------------------------------------------┤\n");
printf("│0.退出,谢谢使用!
!
!
│\n");
printf("└--------------------------------------------┘\n");
Sleep(500);/**/
printf("请选择你要进行的工作:
\n");
do/*输入不能空,也不能是字母,当输入字母的
{时候,会提示"不能为字母,请重新输入”。
*/
scanf("%d",&j);k=1;
while(w=getchar()!
='\n')
k=0;
if(k==0)
printf("不能为字母,请重新输入\n");
else
break;
}while(k==0);
switch(j)/*运用switch语句根据需要进行菜单选择*/
{
case1:
system("cls");
shuruxinxi();
system("cls");system("pause");system("cls");
xuanzekuangjia();break;//输入学生档案信息函数调用
case2:
system("cls");
xianshixinxi();
system("pause");system("cls");
xuanzekuangjia();break;显示档案管理系统选择框架函数调用
case3:
system("cls");
tiaojianchaxun();
system("pause");system("cls");
xuanzekuangjia();break;/*学生档案信息条件查询函数调用*/
case4:
system("cls");
gengxinxinxi();
system("pause");system("cls");
xuanzekuangjia();break;/*更新学生档案信息函数调用*/
case0:
system("cls");
tuichuxitong();break;/*退出程序函数调用*/
}
}
选择框架函数流程图:
进入学生档案管理系统时显示程序名称和选择框架主菜单,提示用户进行选择,完成相应任务。
此代码被main()函数调用。
3.5输入学生信息函数
/*-----------------------------------输入学生档案信息-------------------------------------*/
//调用函数输入学生信息
voidshuruxinxi()
{
intk;
charans,w;
ans='y';
do
{
printf("请输入第%d个学生的信息:
\n",m+1);
do/*学号的输入*/
{
printf("请输入学生的学号num<1-1000>:
:
:
");
//scanf("%d",&stu[m].num);//结构体
do
{
scanf("%d",&stu[m].num);/*输入数据*/
k=1;
while(w=getchar()!
='\n')
k=0;
if(k==0)
printf("不能为字母,请重新输入\n");
else
break;
}while(k==0);
if(stu[m].num>1000||stu[m].num<=0)/*输入字符串,并进行长度验证*/
{
printf("输入错误--请重新输入:
\n");/*显示提示信息*/
}
}while(stu[m].num>1000||stu[m].num<=0);
printf("请输入学生的姓名:
:
:
");/*姓名的输入*/
scanf("%s",stu[m].name);
do/*学生性别的输入*/
{
printf("请输入学生的性别,男生输M女生输W:
:
:
");
scanf("%s",&stu[m].sex);
if(stu[m].sex!
='M'&&stu[m].sex!
='W')
{
printf("输入错误--请重新输入:
\n");
}
}while(stu[m].sex!
='M'&&stu[m].sex!
='W');
do/*联系方式的输入*/
{
printf("请输入学生的联系方式:
:
:
");
do
{
scanf("%f",&stu[m].tel);k=1;
while(w=getchar()!
='\n')
k=0;
if(k==0)
printf("不能为字母,请重新输入\n");
else
break;
}while(k==0);
if(stu[m].tel>160000000000||stu[m].tel<0)
{
printf("输入错误--请重新输入:
\n");
}
}while(stu[m].tel>16000000000||stu[m].tel<0);
do/*年龄的输入*/
{
printf("请输入学生的年龄<0--100>:
");
do
{
scanf("%d",&stu[m].age);k=1;
while(w=getchar()!
='\n')
k=0;
if(k==0)
printf("不能为字母,请重新输入\n");
else
break;
}while(k==0);
if(stu[m].age>100||stu[m].age<0)
{
printf("输入错误--请重新输入:
\n");
}
}while(stu[m].age>100||stu[m].age<0);
/*系别班级的输入*/
printf("请输入学生的系别班级:
:
:
");
scanf("%s",stu[m].xibiebanji);
m++;
printf("\n是否继续添加学生信息?
是就输入y或Y,不是就输入另外任意字符:
\n");
scanf("%s",&ans);
}while(ans=='y'||ans=='Y');
}
输入信息函数流程图:
输入学生信息函数模块,用户可以根据提示的信息来进行每一步的输入操作,当输入不当时,系统会自动提示,并让用户进行正确的操作。
在此系统中,要求用户输入的只有字符型和数值型数据,设计了相应的函数来进行数据校验工作,保证数据输入的准确性。
/*---------------------------------显示学生的档案信息-------------------------------------*/
voidxianshixinxi()
{
structrecord*p;
printf("以下就是显示的学生成绩信息:
\n");
printf("numxibiebanjinamesexagetel\n");
for(p=stu;p {查询结果中看到系统的存储内容*/ printf("%-7d",p->num); printf("%14s",p->xibiebanji); printf("%10s",p->name); printf("%12c",p->sex); printf("%7d",p->age); printf("%17f\n",p->tel);} } 显示信息流程图: 显示信息函数开始 输出学生信息 结束 当用户进入查询信息模块时,系统会显示内部存储的内容。 /*---------------------------学生档案信息条件查询------------------------------------*/ voidtiaojianchaxun() { inti,j,k; structrecord*p=NULL; charName[30]; printf("请输入1或0两个数字,输入1进行学号查询,输入0进行姓名查询"); scanf("%d",&k); do { if(k! =1&&k! =0) { printf("请重新输入: "); scanf("%d",&k); } }while(k! =1&&k! =0); if(k==1) { do { /*按学生学号进行查询*/ printf("请输入学号进行查询(1~1000)号: : ->>"); scanf("%d",&i); for(j=0;j { if(stu[j].num==i) { for(p=stu;p { printf("numxibiebanjinamesexagetel\n"); printf("%-7d",p->num); printf("%14s",p->xibiebanji); printf("%10s",p->name); printf("%12c",p->sex); printf("%7d",p->age); printf("%17f\n",p->tel); } break; } } if(stu[j].num! =i) printf("您输入的学号不存在---: "); }while(stu[j].num! =i); } if(k==0) { /*按学生姓名进行查询*/ do { printf("请输入你所要查询的学生的姓名: >>"); scanf("%s",Name); for(j=0;j { if(strcmp(stu[j].name,Name)==0)//字符串函数 { for(p=stu;p { printf("numxibiebanjinamesexagetel\n"); printf("%-7d",p->num); printf("%14s",p->xibiebanji); printf("%10s",p->name); printf("%12c",p->sex); printf("%7d",p->age); printf("%17f\n",p->tel); } break; } } if(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 课程设计 论文