c语言课程设计学生档案管理系统Word格式文档下载.docx
《c语言课程设计学生档案管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计学生档案管理系统Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
![c语言课程设计学生档案管理系统Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/a4e834c6-9899-4362-8223-05e2fa4ce5b5/a4e834c6-9899-4362-8223-05e2fa4ce5b51.gif)
2.1系统简介
学生信息包括:
学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)--输入
3、学生信息浏览功能--输出
4、学生信息查询功能--按学号查询、按姓名查询、
5、学生信息的删除与修改(可选项)
要求:
使用文件方式存储数据。
2.2选题背景
学生信息管理系统,可以进行多项系统信息管理功能。
经典计算机问题,设计
2.3设计内容
设计学生信息管理的各个功能。
系统以菜单方式工作。
学生信息录入功能(学生信息用文件保存)--输入。
学生信息浏览功能--输出。
学生信息查询功能--按学号查询、按姓名查询。
学生信息的删除与修改(可选项)
2.4设计思路
将程序的各个功能分开独立的执行,问题有大而小,细化。
2.5算法(条列式或流程图)
主程序模块:
准备输入选择:
判断:
按退格键运行不同功能:
创建文件模块(独立函数):
结束输入要创建的文件夹输入学生数目:
得文件名,并创建文NO件输入一个学生信息并YES存放到文件夹:
是否人数足够删除信息模块不相同显示浏览信息模块查找学生信息模块
(独立函数):
返回主程序
输入要删除得姓名按读取方式打开用于存放文件的文件夹
100个结构体,并将文创建件中的信息全部存放到结构体中
相同
将指针指向下一个结构通过链表把要删除得同学的信息在结构
体,判断该结构体的姓按写入方式打开文件,结构体全部写入体链表中删除(独立函数)
名与要删除的姓名是否文件相同
返回主程序
输入存放信息的文件夹的文件名,并打开文件夹从文件中读入一个结构体大小,并显示到内存
创建一百个结构体数组将一个结构体大小从文件中读取到内存,并显示
返回主程序否到是达文件(独立函数):
最后输入存放信息的文件夹的文件名,并打开文件夹.
将一个结构创建一百个结构体数组体大小从文件中读取到内存,并显示
输入要查找信息的学生名,指针指向下一个结构体
输出学生信息返回主程序判断学生信息与是否为要查找的人的2.6程序清单与运行结果信息#include<
stdio.h>
#include<
stdlib.h>
string.h>
io.h>
structbirth
{
intyear,month,day;
};
structstudent
intnumber,age,tel[10];
charname[10],sex,address[20],E_mail[20];
structbirthbirthday;
structstudent*link;
voidshow()
printf(请输入数字加回车键进行选择:
\n);
printf(1、学生信息录入功能(学生信息用文件保存)--输入\n);
printf(2、学生信息浏览功能--输出\n);
printf(3、学生信息查询功能--按学号查询、按姓名查询\n);
printf(4、学生信息的删除与修改(可选项)\n);
printf(按其他任意键加回车退出程序\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:
电话地址日月出生年性别姓名学号请输入学生牰湩晴尨
scanf(%d%s%c%d%d%d%s%s%s,&
head->
number,head->
name,&
sex,&
(*head).birthday.year,&
(*head).birthday.month,&
(*head).birthday.day,head->
address,head->
tel,head->
E_mail);
fprintf(fp,%d%s%c%d%d%d%s%s%s,head->
name,head->
sex,(*head).birthday
.year,(*head).birthday.month,(*head).birthday.day,head->
end=head;
for(i=1;
i<
n;
i++)
next=(structstudent*)malloc(sizeof(structstudent));
电话月日地址牰湩晴尨请输入学生学号姓名性别出生年
scanf(%d%s%c%d%d%d%s%s%s,&
next->
number,next->
(*next).birthday.y
ear,&
(*next).birthday.month,&
(*next).birthday.day,next->
address,next->
tel,next->
getchar();
fprintf(fp,%d%s%c%d%d%d%s%s%s,next->
name,next->
sex,(*next).birthday.year,(*next).birthday.month,(*next).birthday.day,next->
end->
link=next;
end=next;
link=NULL;
fclose(fp);
*\浏览信息模块:
\*
voidshow2(intn)
structstudent*head;
请输入存放信息的文件路径以及文件名:
牰湩晴尨gets(fpname);
fp=fopen(fpname,
+);
for(i=0;
fscanf(fp,%d%s%c%d%d%d%s%s%s,&
(*head).birthd
ay.year,&
printf(%d%s%d%d%d%d%s%s%s,&
sex,(*head).birthday.ye
ar,(*head).birthday.month,(*head).birthday.day,head->
*\\*按学号查找学生信息模块:
intsearch1(intn)
inti,checkname;
FILE*f