学生信息管理系统设计论文设计Word文档格式.docx
《学生信息管理系统设计论文设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统设计论文设计Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
10
主键
无
性别
2
班级
varchar
50
籍贯
年龄
smallint
家庭住址
政治身份
smalldatetime
4
2、根据上述的功能,可以设计出系统的学生成绩模块
模块名称
功能描述
输入信息
对学生的基本信息进行录入
查阅信息
1.输入学生;
2.输入学生学号;
统计人数
1.按性别、出生年月、籍贯统计人数;
2.按班级统计人数;
3.按政治面貌统计人数。
成绩录入
1.录入学生C语言、VB、英语3门课程的成绩;
2.录入信息删除、修改;
程序代码为:
#include<
stdio.h>
/*I/o函数*/
stdlib.h>
/*其他说明*/
string.h>
/*字符串函数*/
#defineLEN10/*学号和最大学生人数*/
#defineN20/*最大学生人数*/
structrecord/*声明函数体*/
{
charcode[20];
/*学号*/
charname[10];
/**/
charsex[5];
/*性别*/
chartime[20];
/*出生年月日*/
charadd[20];
/*家庭地址*/
charage[20];
/*年龄*/
charsta[20];
/*政治面貌*/
chargrade[20];
/*各科目成绩*/
}stu[N];
intk=1,m,n;
voidshuru();
voidchaxun();
voidxiugai();
voidshanchu();
voidxianshi();
voidbaocun();
voidcaidan();
voidtuichuxitong();
voidhuanyingyemian();
intmain()
while(k)
{
huanyingyemian();
system("
pause"
);
cls"
printf("
请按任意键进入主菜单!
\n"
caidan();
}
return0;
}
voidhelp()
{system("
COLOR2f"
\n尊敬的用户您好!
"
\n============================================================\n"
||"
\n|1.欢迎进入帮助系统!
|\n"
\n|★★★★★★★★|\n"
\n|2.请按照菜单提示进入数字代号!
\n|4.谢谢您的使用!
voidshuru()/*实现录入学生基本信息功能*/
{
inti,flag=1;
while(flag)
flag=0;
请输入需要创建信息的学生人数(1-20):
scanf("
%d"
&
n);
if(n<
1||n>
20)
flag=1;
输入错误,检查后请重新输入!
for(i=0;
i<
n;
i++)
请输入第%d个学生的基本信息:
i+1);
请输入学号:
%s"
stu[i].code);
请输入:
stu[i].name);
getchar();
请输入性别(男,女):
stu[i].sex);
请输入出生年月(输入格式:
年.月.日):
stu[i].time);
请输入家庭地址:
stu[i].add);
请输入年龄:
stu[i].age);
请输入政治面貌(党员、团员、群众):
stu[i].sta);
printf("
请输入各科目成绩(输入格式:
C语言.VB.英语):
stu[i].grade);
录入完毕!
baocun();
voidbaocun()/*保存学生信息到文件的函数*/
inti;
FILE*fp;
if((fp=fopen("
student.txt"
"
wb"
))==NULL)/*创建文件并判断是否能够打开成功*/
文件不能打开!
exit(0);
/*如果不能打开文件,则关闭当前所有的文件*/
i++)/*将存中的学生信息写入到磁盘文件中*/
if(fwrite(&
stu[i],sizeof(structrecord),1,fp)!
=1)
文件输入错误!
fclose(fp);
/*关闭文件*/
voidchazhao()
inti,t,flag;
chars1[30];
COLOR5f"
\n=================================\n"
|1.按学号查询|\n"
|2.按查询|\n"
|3.退出本菜单|\n"
=================================\n"
while
(1)
请输入子菜单编号:
"
t);
switch(t)
case1:
请输入要查询的学生的学号:
\n"
s1);
if(strcmp(stu[i].code,s1)==0)
学生学号学生性别出生年月家庭地址年龄政治面貌各科成绩\n"
=============================================================================================\n"
%6s%7s%5s%9s%8s%10s%14s%9s\n"
stu[i].code,stu[i].name,stu[i].sex,stu[i].time,stu[i].add,stu[i].age,stu[i].sta,stu[i].grade);
}
if(flag==0)
该学号不存在!
break;
case2:
请输入要查询的学生的:
if(strcmp(stu[i].name,s1)==0)
===========================================================================\n"
该不存在!
case3:
return;
default:
请在1--3之间选择\n"
voidxiugai()
inti,t,num;
charsex1[3],s1[30],s2[30];
num=i;
COLOR4f"
=============================================\n"
|1.修改|\n"
|2.修改性别|\n"
|3.修改出生年月日|\n"
|4.修改地址|\n"
|5.修改年龄|\n"
|6.修改政治面貌|\n"
|7.修改各科目成绩|\n"
|8.修改退出本菜单|\n"
while
(1)
请输入子菜单的编号:
case1:
请输入新的:
s2);
strcpy(stu[num].name,s2);
case2:
请输入新的性别:
sex1);
strcpy(stu[num].sex,sex1);
case3:
请输入新的出生年月日:
strcpy(stu[num].time,s2);
case4:
请输入新的地址:
strcpy(stu[num].add,s2);
case5:
请输入新的年龄:
strcpy(stu[num].age,s2);
case6:
请输入新的政治面貌:
strcpy(stu[num].sta,s2);
case7:
请输入新的各科目成绩:
strcpy(stu[num].grade,s2);
case8:
请在1--8之间选择\n"
voidpaixu()
inti,j,*p,*q,s;
chartemp[10];
n-1;
for(j=n-1;
j>
i;
j--)
if(strcmp(stu[j-1].code,stu[j].code)>
0)
{
strcpy(temp,stu[j-1].code);
strcpy(stu[j-1].code,stu[j].code);
strcpy(stu[j].code,temp);
strcpy(temp,stu[j-1].name);
strcpy(stu[j-1].name,stu[j].name);
strcpy(stu[j].name,temp);
strcpy(temp,stu[j-1].sex);
strcpy(stu[j-1].sex,stu[j].sex);
strcpy(stu[j].sex,temp);
strcpy(temp,stu[j-1].time);
strcpy(stu[j-1].time,stu[j].time);
strcpy(stu[j].time,temp);
strcpy(temp,stu[j-1].add);
strcpy(stu[j-1].add,stu[j].add);
strcpy(stu[j].add,temp);
strcpy(temp,stu[j-1].age);
strcpy(stu[j-1].age,stu[j].age);
strcpy(stu[j].age,temp);
strcpy(temp,stu[j-1].sta);
strcpy(stu[j-1].sta,stu[j].sta);
strcpy(stu[j].sta,temp);
strcpy(temp,stu[j-1].grade);
strcpy(stu[j-1].grade,stu[j].grade);
strcpy(stu[j].grade,temp);
//p=&
stu[j-1];
//q=&
stu[j];
//s=*p;
//*p=*q;
//*q=s;
voidshanchu()
inti,j,flag=0;
chars1[15];
请输入将要删除的学生的学号:
for(i=1;
for(j=i;
j<
j++)
stu[j]=stu[j+1];
printf("
if(flag==1)
删除成功!
显示结果请按6!
n--;
voidxianshi()
rb"
))==NULL)
打开文件时错误!
请按任意键退出!
所有学生的信息为:
\n\n"
============================================================================\n"
i++)
{fread(&
stu[i],sizeof(structrecord),1,fp);
voidtuichuxitong()
system("
COLOR3f"
---------------\n"
voidhuanyingyemian()
COLOR6f"
尊敬的用户:
您好!
欢迎使用\n"
-------☆--☆------\n"
voidcaidan()
{intnum;
COLOR1f"
\n\n学生个人信息管理系统\n\n"
================================================================================\n"
==============系统功能菜单==============\n"
=======友情提醒:
查询前请刷新统!
======\n"
========================================\n"
|======================================|\n"
|0.系统帮助说明1.输入学生信息|\n"
|--------------------------------------|\n"
|2.查询学生信息3.修改学生信息|\n"
|4.按学号删信息5.学生人数统计|\n"
|6.显示当前信息7.保存当前信息|\n"
|8.退出系统|\n"
请选择菜单编号:
scanf("
num);
switch(num)
case0:
help();
shuru();
case2:
chazhao();
xiugai();
shanchu();
case6:
xianshi();
case7:
baocun();
case8:
k=0;
tuichuxitong();
break;
结论:
学生信息管理系统为其他系统提供学生的基本信息,本设计从功能上划分成了以下几大模块:
学生档案信息管理,学生成绩管理
。
本系统功能适用于中小学使用,具有很大的扩展空间及发展空间。
由以上分析,我们可以充分认识到设计并开发一个学生信息管理系统的必要性和迫切性,系统采用模块化程序设计的方法,便于系统功能的组合和修改,
经过努力,学生信息管理系统的基本功能已经实现。
虽然时间很短暂,但却是对学习中理论知识和实践相结合的一次综合检验。
通过这次设计,我们更熟练的掌握了C语言的运用,收到了比以往理论课程还要大的收益,虽然由于时间仓促及我们的能力有限,系统还有很多不尽人意的地方:
比如说界面不够美观;
有些功能还不够完善和强大;
一些细节的问题还没有解决。
这些都需要平时经验的积累和对技术的熟练掌握,希望在以后的学习中能有进一步的提高。