c语言课程设计学生档案管理系统Word文件下载.docx
《c语言课程设计学生档案管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计学生档案管理系统Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
5、学生信息的删除与修改(可选项)要求:
使用文件方式存储数据。
选题背景
经典计算机问题,设计学生信息管理系统,可以进行多项系统信息管理功能。
设计内容
设计学生信息管理的各个功能。
系统以菜单方式工作。
学生信息录入功能(学生信息用文件保存)--输入。
学生信息浏览功能--输出。
学生信息查询功能--按学号查询、按姓名查询。
学生信息的删除与修改(可选项)
设计思路
将程序的各个功能分开独立的执行,问题有大而小,细化。
算法(条列式或流程图)
主程序模块:
按退格键
创建文件模块(独立函数):
NO
YES
删除信息模块(独立函数):
不相同
相同
显示浏览信息模块(独立函数)
查找学生信息模块(独立函数):
返回主程序
程序清单与运行结果
#include<
>
structbirth
{
intyear,month,day;
};
structstudent
intnumber,age,tel[10];
charname[10],sex,address[20],E_mail[20];
structbirthbirthday;
structstudent*link;
voidshow()
printf("
请输入数字加回车键进行选择:
\n"
);
1、学生信息录入功能(学生信息用文件保存)--输入\n"
2、学生信息浏览功能--输出\n"
3、学生信息查询功能--按学号查询、按姓名查询\n"
4、学生信息的删除与修改(可选项)\n"
按其他任意键加回车退出程序\n"
}
\*创建文件夹并存入信息模块:
*\
voidcredit(intn)
FILE*fp;
charfpname[20];
structstudent*head,*next,*end;
inti;
请输入用于存放文件的文件路劲及文件名:
"
scanf("
%s"
fpname);
getchar();
fp=fopen(fpname,"
w+"
head=(structstudent*)malloc(sizeof(structstudent));
请输入学生学号姓名性别出生年月日地址电话e_mail:
%d%s%c%d%d%d%s%s%s"
&
head->
number,head->
name,&
sex,&
(*head).,&
(*head).,head->
address,head->
tel,head->
E_mail);
fprintf(fp,"
head->
name,head->
sex,(*head).,(*head).,(*head).,head->
end=head;
for(i=1;
i<
n;
i++)
{
next=(structstudent*)malloc(sizeof(structstudent));
printf("
scanf("
next->
number,next->
(*next).,&
(*next).,next->
address,next->
tel,next->
getchar();
fprintf(fp,"
next->
name,next->
sex,(*next).,(*next).,(*next).,next->
end->
link=next;
end=next;
link=NULL;
}
fclose(fp);
\*浏览信息模块:
voidshow2(intn)
structstudent*head;
请输入存放信息的文件路径以及文件名:
gets(fpname);
r+"
for(i=0;
fscanf(fp,"
%d%s%d%d%d%d%s%s%s"
\*按学号查找学生信息模块:
intsearch1(intn)
inti,checkname;
请输入要查询信息的学生学号:
%d"
checkname);
if(checkname==head->
number)
{
printf("
%d%s%c%d%d%d%s%s%s\n"
fclose(fp);
return
(1);
}
未找到"
\*按姓名查找学生信息模块:
voidsearch2(intn)
charfpname[20],checkname[10];
请输入要查询信息的学生姓名:
checkname);
if(strcmp(checkname,head->
name)==0)
未找到\n"
\*删除或修改文件信息模块:
intmost(n)
charget;
structstudent*ans[500];
charcheckname[10];
ans[0]=(structstudent*)malloc(sizeof(structstudent));
fscanf(fp,"
ans[0]->
number,ans[0]->
(*ans[0]).,&
(*ans[0]).,ans[0]->
address,ans[0]->
tel,ans[0]->
ans[i]=(structstudent*)malloc(sizeof(structstudent));
ans[i]->