学生学籍管理系统实验报告及源代码Word文档格式.docx
- 文档编号:13717384
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:22
- 大小:84.99KB
学生学籍管理系统实验报告及源代码Word文档格式.docx
《学生学籍管理系统实验报告及源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统实验报告及源代码Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
从键盘输入密码,判断输入的密码是否与系统设定的密码相同,若相同则进入主菜单,不相同则继续输入;
主菜单:
显示系统的各项功能与相对应的数字选项。
输入数据函数:
从键盘输入数据,并将数据存入链表。
输出数据函数:
对存储的数据进行输出。
查找数据函数:
对存储的数据进行查询并显示查询结果。
删除数据函数:
对存入的数据进行删除。
修改数据函数:
对存入的数据进行修改。
保存数据函数:
将从键盘输入的数据存入到文件中
读取数据函数:
从文件中读取个人信息。
排序函数:
对平均成绩进行排序并显示排序结果
统计函数:
对不及格成绩进行统计并显示统计结果。
退出系统:
退出系统
五、详细设计及运行结果
六、调试情况,设计技巧及体会
通过两周的课程设计,我对学过的C语言基本知识进行了巩固,并且还对知识进行了扩展。
在本次实习时,刚开始完全没有头绪,不知道从何入手,感觉难度很大.但是逐渐开始编写程序慢慢发现,原来不是想象中的那么难.在一个个模块成功编写出来的同时,获得了巨大的成就感,并且掌握的许多上课遗漏和不很了解的知识.。
对一些细节以前不太注意,常常忽略,真正操作起来时发现一些小问题也会导致程序无法进行。
要想运行正常,必须保证零错误。
同时,这两周的实习使我对链表更熟悉了。
以前总感觉链表很难,这次程序设计中,我用链表存取数据,并进行删除修改等操作,慢慢对链表熟悉。
另外,在程序运行编译的过程中出现一些错误,需要耐心的去检查错误,调试程序。
七、参考文献
《C语言程序设计》谭浩强清华大学出版社
《C语言程序设计教程》张毅坤曹锰张亚玲西安交通大学出版社
《C语言程序设计》王曙燕曹锰科学出版社
#include<
conio.h>
dos.h>
stdio.h>
stdlib.h>
malloc.h>
math.h>
string.h>
#defineLENsizeof(structstudent)
typedefstruct
{intyear;
intmonth;
intday;
}DATE;
structstudent
{intnum;
charname[10];
charsex;
DATEbirthday;
intmath;
intC;
intphysic;
intEnglish;
floataverage;
DATEtime;
charreason[50];
charresult[50];
charunit[50];
structstudent*next;
};
structstudent*read_file();
/*读取文件*/
voidsave_file();
/*保存*/
voidinput();
/*创建链表,输入数据*/
voidoutput(structstudent*head);
/*输出*/
voidseek(structstudent*h);
/*查找*/
voiddel();
/*删除*/
voidchange();
/*修改*/
voidsort();
/*对成绩进行排序*/
voidsummarise();
/*对不及格成绩进行统计*/
voidfree_linklist(void);
/*释放链表*/
voidprint(structstudent*p);
/*输出函数*/
voidmenu();
/*菜单*/
voidpassword();
/*密码*/
structstudent*head=NULL;
intnumber=0;
main()
{password();
getch();
system("
cls"
);
printf("
\n\n\n\n\n\t\t\t*******欢迎进入学生学籍管理系统*******\n\n\n"
menu();
}
voidpassword()
{
chars[8],ch;
inti;
s[0]='
0'
;
s[1]='
4'
s[2]='
s[3]='
8'
;
s[4]='
2'
s[5]='
s[6]='
s[7]='
1'
\n\n\n\n\n\t\t\t**************************\n\n"
\t\t\t**************************\n\n"
\t\t\t**************************\n\n\n\n\n"
do{
\t\t\t\tpleaseinputpassword:
\n\t\t\t\t\t"
for(i=0;
i<
8;
i++)
{ch=getch();
if(ch!
=s[i])
break;
*"
}
\n\n"
if(i!
=8)
{
It'
serror!
!
\n"
pleaseinputagain!
elsebreak;
}while
(1);
voidmenu()
{
intselect=-1;
head=NULL;
while(select!
=0)
{system("
\t\t\t*************************************\n"
\t\t\t*1Input\n"
\t\t\t*2Output\n"
\t\t\t*3seek\n"
\t\t\t*4delete\n"
\t\t\t*5change\n"
\t\t\t*6save\n"
\t\t\t*7read\n"
\t\t\t*8sort\n"
\t\t\t*9summarise\n"
\t\t\t*0Exit\n"
\t\t\t************************************\n"
Pleaseinputselect(0-8):
"
scanf("
%d"
&
select);
switch(select)
{
case1:
input();
case2:
output(head);
case3:
seek(head);
case4:
del();
case5:
change();
case6:
save_file();
case7:
head=read_file();
case8:
sort();
case9:
summarise();
case0:
free_linklist();
}
voidinput()/*创建链表,输入数据*/
structstudent*p1,*p2;
p1=(structstudent*)malloc(LEN);
printf("
pleaseinputthestudent'
sinformation:
addressinformation:
numnamesexyearmonthday\n"
&
p1->
num);
fflush(stdin);
scanf("
%s"
p1->
name);
%c"
sex);
%d%d%d"
birthday.year,&
birthday.month,&
birthday.day);
scoreinformation:
mathCphysicEnglish\n"
%d%d%d%d"
math,&
C,&
physic,&
English);
p1->
average=((float)(p1->
math+p1->
C+p1->
physic+p1->
English))/4;
rewardsandpunishments:
time(yearmonthday)\n"
time.year,&
time.month,&
time.day);
reason:
"
reason);
result:
result);
unit:
unit);
next=NUL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 实验 报告 源代码