C语言班级档案管理系统Word文档下载推荐.docx
- 文档编号:18826001
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:20
- 大小:21.38KB
C语言班级档案管理系统Word文档下载推荐.docx
《C语言班级档案管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言班级档案管理系统Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
1按学号查询2按某某查询
3按性别查询4按年龄查询
本程序由一个Void
main(),一个Void
input(),一个Void
Save(),
一个Void
display(),一个Void
Delete(),一个Voidadd和一个Void
Search()共七个主要函数来实现该程序的编程的。
其中在主函数Void
main()中调用其他六个函数,通过Switch语句来实现调用进入各个函数,进入主菜单通过录入函数录入学生信息,并自动保存在c\\student.txt中。
学生信息输入应用了结构数组,学生信息主要包括某某,学号,性别,年龄以与备注。
其中年龄为整型,其他为字符型。
调用函数时,学生信息运用了指针数组,如void
Modfiy(struct
student*
arr,int
n)在Void
Delete()调用函数中,当bool
flag=ture是该学生不存在,即已被删除。
在Void
search()调用函数中,当bool
flag=ture是该学生存在,即已被查询到。
当flag=false时如此说明没有该学生信息。
在查询系统中,有四种查询方式,分别是按某某查询,按学号查询,按性别查询和按年龄查询。
四种查询方式用Switch语句连接起来,进入每种查询方式要输入所需信息才能进入。
该程序最大的特点是Switch连接各调用函数和各查询方式以与结构数组的运用,将各函数有序的连接起来。
各个调用函数功能的实现如下:
1〕
信息的录入主要运用循环语句将各个学生信息依次输入2〕
信息的显示也是用循环语句将各个学生信息显示出来。
3〕
信息的保存是将信息重写到保存到的文件位置,其某某息保存在c:
\\student.text
4〕
信息的删除是运用字符串复印函数,将空格复印到信息字符上达到删除效果。
5〕
信息的修改是输入学号用循环语句将需修改的信息显示出来,然后再输入新的信息6〕
信息的查询是通过Switch语句将查询方式连接起来,并在各个查询方式中用循环语句将要查询的信息显示出来。
4.调试与测试
初步调试的结果出现问题较多,经过屡次修正和调试解决了许多问题
,调试完成后进入主菜单按1录入学生信息,录入学生信息后可以通过提示按学号,某某,性别,年龄进展查询。
还能按5添加学生信息,按6修改学生信息,按7退出。
5.心得与体会
终于可以松口气了,经过一个思考,查资料,写源程序,上机调试,现在终于告一段落了。
看到自己的劳动成果,心中不免有些惊喜,没想到自己还能独立完成初次的课程设计。
这种课程设计是枯燥无味的,但对C语言这门程序语言的掌握却有非常大的作用.。
从开始对题目的分析,就注定摆在我这样一个对C语言,而且完成了设计工作。
C语言是很难学的,这也许是因人而异,但对我来说确实是一个障碍。
如今要自己完成一个课程设计,无疑是对自己的一个挑战.先是上网查找有关的资料,分析题目所需的数据,要用到哪些函数等等,星期二上网初步调试,将函数用些结构和语句连接起来,做这个工作时,又将书本翻阅了一遍,重新获得许多东西。
如带参函数的特点,以与一些语句的运用与特点等等。
将工作分配到每块是我完成这个设计的主要方法,然而将每块都完成看起来比拟轻松,但实际操作起来却是比拟麻烦的。
由于平时对C语言,再上机调试时就是最痛苦的时候了,错误一大堆,要一个一个的修改。
经过几翻调试修改之后终于可以执行了,那时还兴奋了好长时间呢!
然而执行出来的结果是不令人满意的,界面不美观不说,最重要的是输入太烦琐,而且受到的限制太多,如只能以某种方式输入,且个数受限制。
于是又发费了大量时间去修改,终于比拟满意了,但也到了星期五了,也就是辩论的时间。
辩论的时候我才发现还有好多知识是我不会的,教师问了我一些问题,我回答出来的却不多,我体会到我还要很努力的学习,在C语言的学习上我还有很长的一段路要走。
今天不管怎样把这个设计作出来是件很高兴的事情,不过能够把这个设计顺利完成要归功于我的指导教师,帮了我很多忙,也让我发现了我有好多欠缺的地方,真的很感谢你们,谢谢!
但不管怎么样,我还是完成了这个设计。
虽说累了点,但我想这对我们进一步掌握C语言,并为下学期的计算机二级考试是有很大的帮助的.。
能够编出程序,其实本身就是对自己的一种肯定,是对自己前面一段时间学习C语言,只有经历过了才能体会到。
,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术开展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
源程序
#include<
stdio.h>
windows.h>
time.h>
string.h>
#defineN100
structstudent
{
intnum;
charname[10];
charsex;
intage;
charxueli[30];
charbeizhu[50];
charaddr[30];
longinttel;
}st[100];
/*定义一个结构体*/
voidmenu();
voidinput();
voidsave(int);
voiddisplay();
voiddel();
voidadd();
voidsearch();
voidsearch_num();
voidsearch_name();
voidsearch_sex();
voidsearch_age();
voidmodify();
/*定义各函数*/
voidmenu()/*菜单函数*/
printf("
☆☆☆土木工程☆☆☆\n"
);
\n"
∮***班****∮\n"
******************学生档案管理****************\n"
1.录入学生信息"
2.显示学生信息\n"
3.查询学生信息"
4.删除学生信息\n"
5.添加学生信息"
6.修改学生信息\n"
7.退出\n"
********************谢谢使用******************\n"
}
voidmain()
{
menu();
/*调用菜单函数*/
intn,flag;
chara;
do
{
请选择你需要操作的步骤(1--7):
scanf("
%d"
&
n);
if(n>
=1&
&
n<
=7)
flag=1;
break;
else
flag=0;
您输入有误,请重新选择!
"
while(flag==0);
while(flag==1)
switch(n)
case1:
printf("
◆◆◆输入学生信息◆◆◆\n"
input();
break;
case2:
◆◆◆显示学生信息◆◆◆\n"
display();
case3:
◆◆◆按学号查询学生信息◆◆◆\n"
search();
case4:
◆◆◆删除学生信息◆◆◆\n"
del();
case5:
◆◆◆添加学生信息◆◆◆\n"
add();
case6:
◆◆◆修改学生信息◆◆◆\n"
modify();
case7:
exit(0);
default:
getchar();
是否继续进展(yorn):
%c"
a);
if(a=='
y'
)
system("
cls"
/*清屏*/
请再次选择你需要操作的步骤(1--7):
else
exit(0);
}
voidinput()/*录入函数*/
inti,m;
请输入需要创建信息的学生人数(1--100):
m);
for(i=0;
i<
m;
i++)
请输入学号:
"
srand((int)time(0));
st[i].num=rand()%10000+20000000;
if(st[i].num!
=st[i-1].num)
%8d"
st[i].num);
请输入某某:
%s"
st[i].name);
请输入性别(f--女m--男):
st[i].sex);
请输入年龄:
st[i].age);
请输入备注:
st[i].beizhu);
\n创建完毕!
save(m);
voidsave(intm)/*保存文件函数*/
inti;
FILE*fp;
if((fp=fopen("
c:
\\student.txt"
"
wb"
))==NULL)
printf("
cannotopenfile\n"
i++)/*将内存中学生的信息输出到磁盘文件中去*/
if(fwrite(&
st[i],sizeof(structstudent),1,fp)!
=1)
filewriteerror\n"
fclose(fp);
intload()/*导入函数*/
inti=0;
if((fp=fopen("
rb"
))==NULL)
do
fread(&
st[i],sizeof(structstudent),1,fp);
i++;
while(feof(fp)==0);
return(i-1);
voiddisplay()/*显示函数*/
intm=load();
\n学号\t某某\t性别\t年龄\t备注\n"
for(i=0;
i++)/*m为输入局部的学生人数*/
\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n"
st[i].num,st[i].name,st[i].sex,st[i].age,st[i].xueli,st[i].beizhu,st[i].addr,st[i].tel);
voiddel()/*删除函数*/
inti,j,n,t,flag;
charname[20];
\n原来的学生信息:
display();
/*调用显示函数*/
请输入要删除的学生的某某:
name);
for(flag=1,i=0;
flag&
if(strcmp(st[i].name,name)==0)
\n已找到此人,原始记录为:
\n学号\t某某\t性别\t年龄\t备注\n"
\n%d\t%s\t%c\t%d\t%s\t%s\t%s\t%ld\n"
\n确实要删除此人信息请按1,不删除请按0\n"
if(n==1)/*如果删除,如此其他的信息都往上移一行*/
for(j=i;
j<
m-1;
j++)
strcpy(st[j].name,st[j+1].name);
st[j].num=st[j+1].num;
st[j].sex=st[j+1].sex;
st[j].age=st[j+1].age;
strcpy(st[j].xueli,st[j+1].xueli);
strcpy(st[j].beizhu,st[j+1].beizhu);
strcpy(st[j].addr,st[j+1].addr);
st[j].tel=st[j+1].tel;
if(!
flag)
m=m-1;
\n对不起,查无此人!
\n浏览删除后的所有学生信息:
/*调用保存函数*/
/*调用显示函数*/
\n继续删除请按1,不再删除请按0\n"
t);
switch(t)
case0:
voidadd()/*添加函数*/
intn;
intcount=0;
fp=fopen("
student_list"
a"
请输入想增加的学生数:
for(i=m;
(m+n);
\n请输入新增加学生的信息:
请输入学号:
count=count+1;
已增加的人数:
%d\n"
count);
\n添加完毕!
m=m+count;
\n显示增加后的所有学生信息:
voidsearch()/*查询函数*/
intt,flag;
\n按学号查询请按1,按某某查询请按2,按性别查询请按3,按年龄查询请按4,进入主函数按5\n"
if(t>
t<
=5)
{
按学号查询\n"
search_num();
按某某查询\n"
search_name();
按性别查询\n"
search_sex();
按年龄查询\n"
search_age();
main();
default:
voidsearch_num()
inti,t;
请输入要查找的学号:
num);
if(num==st[i].num)
\n已找到此人,其记录为:
if(i==m)
\n对不起,查无此人\n"
返回查询函数请按1,继续查询学号请按2\n"
voidsearch_name()
请输入要查找的某某:
\n已找到,其记录为:
返回查询函数请按1,继续查询某某请按2\n"
voidsearch_sex()
inti,t;
请输入要查找的性别:
sex);
if(sex==st[i].sex)
返回查询函数请按1,继续查询性别请按2\n"
voidsearch_a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 班级 档案管理系统