c语言课程设计学生籍贯信息文档格式.docx
《c语言课程设计学生籍贯信息文档格式.docx》由会员分享,可在线阅读,更多相关《c语言课程设计学生籍贯信息文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
四小结---------------------------------------------------------------------------------------------------9
五程序代码-------------------------------------------------------------------10
六参考文献--------------------------------------------------------------------14
一.课程设计的目的
1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;
2.进一步掌握和利用C语言进行课程设计的能力;
3.进一步理解和运用结构化程序设计的思想和方法;
4.初步掌握开发一个小型实用系统的基本方法;
5.学会调试一个较长的程序的基本方法;
6.学会利用流程图或N-S图表示算法;
7.掌握书写课程设计开发文档的能力(书写课程报告)。
二.设计内容与要求
编制一个学生籍贯信息记录簿,每个学生信息包括:
学号、姓名、籍贯。
具体功能要求如下:
1.创建信息链表并以磁盘文件保存;
2.读取磁盘文件并显示输出所有学生的籍贯信息;
3.按学号或姓名查询其籍贯;
4.按籍贯查询并输出该籍贯的所有学生;
5.能添加、删除和修改学生的籍贯信息;
6.显示输出江苏籍和非江苏籍学生的信息并可分别存盘。
三.主要技术指标及特点
3.0信息描述(注:
用流程图表示)
3.1主要实现代码
1.主函数
voidmain()
{
structstudent*head;
inta;
for(a=5;
a!
=0;
)
{
printf("
\n欢迎使用籍贯管理系统!
\n"
);
\n\n操作菜单\n"
0:
退出此系统\n"
1:
录入学生信息\n"
2:
显示学生信息\n"
3:
查询学生信息\n"
4:
编辑学生信息\n"
\n\n\n\n请选择您需要操作选项的数字:
"
scanf("
%d"
&
a);
system("
cls"
switch(a)
{case0:
printf("
\n\n\n\n\n谢谢您使用此系统,欢迎下次使用!
\n\n\n\n\n"
break;
case1:
head=creat();
case2:
loadf();
case3:
search(head);
case4:
head=manage(head);
default:
选择错误,请重新选择!
}
}
按照主菜单的显示,录入信息。
2.输入函数-
structstudent*creat()
structstudent*head,*p1,*p2;
charch;
system("
p1=p2=(structstudent*)malloc(sizeof(structstudent));
printf("
\n\n请输入一个学生的学号,姓名,籍贯。
\n注示:
如果录入完成请输入\"
000\"
退出\n"
scanf("
%ld%s%s"
p1->
num,p1->
name,p1->
jg);
head=NULL;
while(p1->
num!
=0)//学号是否为零,为零结束此循环
{
n=n+1;
if(n==1)head=p1;
elsep2->
next=p1;
p2=p1;
p1=(structstudent*)malloc(sizeof(structstudent));
scanf("
p2->
next=NULL;
free(p1);
录入已完成,是否保存(Y/N)?
%c"
ch);
if(ch=='
y'
||ch=='
Y'
)
{
save(head);
print(head);
return(head);
}
按照信息提示输入学生的信息。
保存信息,输入文件的名称。
自动显示已存储的信息。
自动返回主菜单,并按照提示进行查询信息
3.编辑函数接口
structstudent*inman(structstudent*head)
inta=4;
longnum;
charname[20];
charjiguan[20];
structstudent*p1;
请输入要查找所要进行操作学生的信息.\n"
返回上级菜单\n"
输入其学号\n"
输入其姓名\n"
输入其籍贯\n"
switch(a)
{case0:
p1=NULL;
请输入想要查进行操作学生的学号:
%ld"
num);
for(p1=head;
p1!
=NULL;
p1=p1->
next)
{if(num==p1->
num)
{printf("
%ld\t%s\t\t%s\n"
p1->
printf("
这是您想要查找的信息吗?
Y<
进一步操作>
/N<
找寻另一个>
if(ch=='
break;
}
break;
case2:
请输入想要进行操作想要学生的姓名:
%s"
name);
for(p1=head;
{
if(strcmp(name,p1->
name)==0)
{printf("
printf("
scanf("
if(ch=='
}
break;
请输入想要进行操作学生的籍贯:
jiguan);
for(p1=head;
{if(strcmp(jiguan,p1->
jg)==0)
break;
break;
default:
选择错误,请从新选择!
if(p1==NULL)printf("
这是全部的信息!
returnp1;
按照提示选择按照籍贯查询方式进行查询。
显示查询结果。
按照提示选择0选项返回上级菜单。
按照菜单继续以下操作进行删除操作。
选择按照姓名删除操作。
按照提示输入要删除的信息的学生姓名。
提示信息是否是您想查询的信息。
提示保存信息。
输入要保存文件的名称。
显示已删除后剩余的信息。
4.总查询函数
voidsearch(structstudent*head)
for(;
{printf("
\n查询信息的方式如下\n"
按学号查询\n"
按姓名查询\n"
按籍贯查询\n"
\n\n请选择您需要操作选项的数字:
{case0:
谢谢您使用此系统,欢迎下次使用!
xsearch(head);
nsearch(head);
case3:
jsearch(head);
default:
自动返回主菜单。
选择0选项,退出该程序。
总结
通过两周的c课程设计的学习,在辅导老师的耐心辅导解答下,终于将此课程设计圆满完成。
在这个编程过程中曾经我想放弃过,因为实在太复杂,但是最终我还是说服了自己坚持了下来,看到自己最后的作业,虽然不是很优秀,但是还是很自豪。
在编写的过程中,发现其实里面还是充满乐趣的,一旦真的研究下去什么事情都可以放下,来认真研究。
在此学习当中我对c语言这门课程更加理解透彻,融会贯通了。
无论什么样的问题,只要和同学互相讨论,向老师讨教都能迎刃而解。
在程序设计阶段,与同学之间的交流和沟通是十分重要的。
有问题到家一起讨论,说自己的想法,经过大家的交流,很容易解决问题同时也会发现新的问题,大家交换意见共同进步,我想每个人都会有不同的收获。
在这收获的过程中老师的谆谆教导,给了我很大的帮助,遇到解决不了的问题第一时间问老师是最好的选择。
无论什么样的问题他们都耐心的倾听,详细的讲解,从来都仔细认真,尽可能的帮助我们把问题搞懂,同时也会适当的帮助我们进一步理解c语言的基础能容,让我们在理解的基础上,编写出正确规范的程序。
不单单把程序的问题解决,同时也掌握相应的知识点,真是受益匪浅。
我相信在以后的学习过程中我会更加的努力学习了。
五程序代码
程序中主要程序代码段如下:
case1:
六参考文献
[1].谭浩强著.C程序设计
[2].C语言入门经典/(美)霍顿(Horton,I.)著;
张欣等译.
[3].C语言程序设计/黄明,梁旭,万洪莉编著。