学生学籍信息管理系统设计书Word格式文档下载.docx
- 文档编号:20476902
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:13
- 大小:26.41KB
学生学籍信息管理系统设计书Word格式文档下载.docx
《学生学籍信息管理系统设计书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生学籍信息管理系统设计书Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
真正从实践的角度初步体会到了C语言在实际生活中的作用,也深刻体会到了它带来的方便快捷。
美中不足的就是,本程序还处于初级阶段的学生信息管理功能中,只实现了对学生的录入、修改、查询、输出等简单功能,不一定在实际中有大的用途。
在此次程序设计中,出现了各种各样的问题,在完成各自模块建立起程序后运行后,出现了在按照正确形式输入后,不能正确输出结果,而且在运行时也没有提示有错误,无奈之下去找老师解决问题,老师告诉我很有可能是输入函数的问题,经过仔细的检查和调试我最终用把变量定义为外部变量的方式解决了问题。
查询模块是我编写是花费时间最多的一部分,并且在其中加入了子菜单,想实现分别用学号和查找,所以花费了很多精力,也修改了很多次,但在努力下最
终成功了;
然后仿照查找模块在修改模块中也加入了子菜单,丰富了程序的函数。
程序编排中可能有繁琐之处有待进一步简化,本次设计的困难是在编辑程序时发现自己对C语言的了解还处于初级阶段,不能完美的设计出能够在实际生活中应用的程序,如果有机会我会继续学习,做出更好的程序。
五、参考文献
[1]谭浩强.C程序设计.活华大学.2005年7月
[2]志华.Delphi6.0编程实例.中国水利水电.2002年6月
[3]DavidM.Collopy、罗铁庚.C语言教程:
模块化程序设计.活华大学.2004
年9月
[4]邓文新、宏烈.C语言程序设计方法.工业大学.2004年2月
[5]田淑活.全国计算机等级考试二级教程.高等教育.1998年7月
附录:
程序清单
#include<
stdio.h>
conio.h>
stdlib.h>
string.h>
#defineN100
typedefstructstudent{
charnum[15];
charname[10];
intage;
charsex[5];
charaddr[50];
chartel[15];
}STUDENT;
structstudentstu[N];
intw=0,a,j=0;
voidprint_list(){
printf("
\n学号年龄性别地址
\n"
);
}
voidprint_message(inti,structstudentstu[N]){
\n%-12s”,stu[i].num);
%-7s”,stu[i].name);
%-7d”,stu[i].age);
%-8s”,stu[i].sex);
%-26s”,stu[i].addr);
%s"
stu[i].tel);
intmain(){
charc;
voidcreat(structstudentstu[N]);
voidmodify(structstudentstu[N]);
voidsearch(structstudentstu[N]);
voidoutput(structstudentstu[N]);
voidadd(structstudentstu[N]);
voidarr(structstudentstu[N]);
voidshow();
do
(
\n\n==============================================\n"
欢迎进入学生学籍信息管理系统!
\n"
==============================================\n"
1--输入记录\n"
2--添加\n"
3--输出记录\n"
4--查找记录\n"
5--修改记录\n"
6--学号排列\n"
7--制作人员\n"
8--退出程序\n"
请选择功能种类<
1/2/3/4/5/6/7/8>
并按回车键执行命令
scanf("
%c”,&
c);
getchar();
switch(c)(
case'
1'
:
creat(stu);
break;
2'
add(stu);
3'
output(stu);
4'
search(stu);
5'
modify(stu);
6'
arr(stu);
7'
show(stu);
8'
return;
default:
ERROR!
请正确输入!
continue;
}}while(w==0);
}voidcreat(structstudentstu[N])/*输入信息*/
FILE*fp;
inti,j;
charch,t[5];
if((fp=fopen("
MESSAGE.dat”,"
wb"
))==NULL)(
printf(-无信息"
_(d『」au(DpmslQni5SMO(DNssms03)(D±
±
」A/v
(++「vHv「onm£
^->
-hh€->
hh€¥
-zx
+土
0CUIP06
_(lp03v%=mu£
s
x-an酱Avcs盖Kn^mc美」d
_(_,uas)so6cmc扫u_」d
三PPB=as)so5-..尚炬NctzMd
_(x(Dsuas)so6c「5RflNc美」d
eo布£
沼.三msesos-..a>
2\=)扫UK
MIUBU.三nssoRcmc扫u_」d
_Enu.三ms)so5-..驴>
<
犀Nc美」d
op^-shhhhhhhhhhhaa姬smvvhhhhhhhhh§
=^c_^
O.II
{smxCD
{
_(e(Dso_Q』
■irluns
sw._)<
D6ross<
Dlullu_」d
(++,—(dr」(c(Dpmst5n4=SM0(DNsl一as03)pro(D4o.!
l)」o』
ow一-'
u_」d
(Dso
-(=®
s^Mu_」d
(_l_lnNn"
(=q二%PLIJOVSS山!
AL)u(DdoTd』))±
-IPJrolp
注nsonluT二£
HgsgT—Enu-oT—olurouJrolp
-dr山_1一LL
f*®
SM>
*_aNasc①P2St5£
s)MPOEpo>
xdM—OSOQM—
息>
>
======================\n"
);
m=0;
\n\t\t1.按学号修改2.按修改"
\n\n\t\t********请选择<
1或2>
:
"
scanf("
ch);
if(ch=='
)
\t\t输入要修改的学号:
gets(num);
for(i=0;
i<
=sum;
i++)
if(strcmp(stu[i].num,num)==0)
print_list();
print_message(i,stu);
\t\t输入新的学号:
”);
gets(stu[i].num);
\t\t:
gets(stu[i].name);
\t\t年龄:
gets(t);
stu[i].age=atoi(t);
\t\t性别:
,gets(stu[i].sex);
\t\t住址:
gets(stu[i].addr);
gets(stu[i].tel);
\t\t=====================修改后信息
=====================\n"
m=1;
\t\t输入要修改的:
gets(name);
if(strcmp(stu[i].name,name)==0)
\t\t请输入学号:
\t\t======================修改后信息
:
==================\n"
if(m==0)
\n\t\t无该学生信息”);
\n\t\t是否继续(YorN)?
}while(ch=='
y'
||ch=='
Y'
))==NULL)
else
for(j=0;
j<
j++)
fwrite(&
stu[j],sizeof(structstudent),1,fp);
fclose(fp);
voidsearch(structstudentstu[N])/*查找信息=*/
charch,k;
charxm[10],xh[15];
inti,j=0,sum;
intm;
rb"
fread(&
stu[i],sizeof(structstudent),1,fp);
sum=i;
}fclose(fp);
\t\t\n===========<
查找信息>
===========\n"
\n\t\t1.按学号查找2.按查找"
1or2>
k);
\t\t===========<
if(k=='
\t\t输入学号:
,gets(xh);
if(strcmp(stu[i].num,xh)==0)
\t\t输入:
gets(xm);
if(strcmp(stu[i].name,xm)==0)
printf("
\n\t\t是否继续(Y/N)?
scanf("
%c"
&
getchar();
voidoutput(structstudentstu[N])/*输出信息*/
inti;
无信息"
\t\t===========输出信息==========="
stu[i],sizeof(structstudent),1,fp);
i++)print_message(i,stu);
\n按回车返回主菜单"
voidadd(structstudentstu[N])/*添加信息*/
inti=0,j;
MESSAGE.dat"
"
ab"
\t\t=========<
添加信息>
\t\t输入学号:
\t\t性别:
gets(stu[i].sex);
\t\t是否继续(Y/N)?
ch=getchar();
i++;
=i-1;
voidarr(structstudentstu[N])/*信息排列(按学号)*/
inti,j,sum;
STUDENTt;
for(sum=0;
stu[sum],sizeof(structstudent),1,fp);
sum++);
sum;
for(j=i+1;
if(atoi(stu[i].num)>
atoi(stu[j].num))
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
print_message(j,stu);
voidshow()/*显示制作人员信息*/
语言程序设计
printf(
\n\n\n\n"
=---学生学籍信息系统
指导教师:
**
学生:
学院
\g
班
\n
==
按回车键返回-->
\n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 信息管理 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)