c语言课程设计学生档案管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言课程设计学生档案管理系统
————————————————————————————————作者:————————————————————————————————日期:
程序设计基础课程设计
实验报告书
目录
1.设计题目 (5)
2.正文 (5)
2.1系统简介 (5)
2.2选题背景 (5)
2.3设计内容 (5)
2.4设计思路 (5)
2.5算法(条列式或流程图) (6)
2.6程序清单与运行结果 (11)
2.7总结 (19)
1.设计题目
学生信息管理系统设计
2.正文
2.1 系统简介
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计一学生信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)--输入
3、学生信息浏览功能--输出
4、学生信息查询功能--按学号查询、按姓名查询、
5、学生信息的删除与修改(可选项)
要求:使用文件方式存储数据。
2.2选题背景
经典计算机问题,设计学生信息管理系统,可以进行多项系统信息管理功能。
2.3设计内容
设计学生信息管理的各个功能。系统以菜单方式工作。学生信息录入功能(学生信息用文件保存)--输入。学生信息浏览功能--输出。学生信息查询功能--按学号查询、按姓名查询。学生信息的删除与修改(可选项)
2.4设计思路
将程序的各个功能分开独立的执行,问题有大而小,细化。
2.5算法(条列式或流程图)
主程序模块:
准
输入选
判
运行不同
按退格键
结束
创建文件模块(独立函数):
输入要创
建的文件
输入学
输入一个
学生信息
NO
是否人
YES
返回主程序
删除信息模块(独立函数):
输入要删
除得姓名
按读取方式打
开用于存放文
创建100个结
构体,并将文
不相同
将指针指向
下一个结构
相同
通过链表把要删除
得同学的信息在结
按写入方式打开文
件,结构体全部写入
显示浏览信息模块(独立函数)
返回主程序
输入存放信息的文件
夹的文件名,并打开文
创建一百个结构体
数组将一个结构
文件是从文件中读入一个结构体大小,并
返回主程序
查找学生信息模块(独立函数):
返回主程序
输入存放信息的文件夹的文件
创建一百个结构体数组 将一个结构
体大小从文件中读
输入要查找信息的学生名,
判断学生信息与是
指针指向下一个结构体
输出学生信息
2.6程序清单与运行结果
#include
#include
#include
#include
struct birth
{
int year,month,day;
};
struct student
{
int number,age,tel[10];
char name[10],sex,address[20],E_mail[20];
struct birth birthday;
struct student *link;
};
void show( )
{
printf(" 请输入数字加回车键进行选择:\n");
printf(" 1、学生信息录入功能(学生信息用文件保存)--输入\n");
printf(" 2、学生信息浏览功能--输出\n");
printf(" 3、学生信息查询功能--按学号查询、按姓名查询\n");
printf(" 4、学生信息的删除与修改(可选项)\n");
printf(" 按其他任意键加回车退出程序\n");
}
\* 创建文件夹并存入信息模块: *\
void credit(int n)
{
FILE *fp;
char fpname[20];
struct student *head,*next,*end;
int i;
printf("请输入用于存放文件的文件路劲及文件名:");
scanf("%s",fpname);
getchar();
fp=fopen(fpname,"w+");
head=(struct student *)malloc(sizeof(struct student));
printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:");
scanf("%d %s %c %d %d %d %s %s %s",&head->number,head->name,&head->sex,&(*h ead).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head->address,head->te l,head->E_mail);
getchar();
fprintf(fp,"%d %s %c %d %d %d %s %s %s",head->number,head->name,head->sex,( *head).birthday.year,(*head).birthday.month,(*head).birthday.day,head->address,head->te l,head->E_mail);
end=head;
for(i=1;i { next=(struct student *)malloc(sizeof(struct student)); printf("请输入学生学号姓名性别出生年月日地址电话 e_mail:"); scanf("%d %s %c %d %d %d %s %s %s",&next->number,next->name,&next->sex,&(*n ext).birthday.year,&(*next).birthday.month,&(*next).birthday.day,next->address,next->te l,next->E_mail); getchar(); fprintf(fp,"%d %s %c %d %d %d %s %s %s",next->number,next->name,next->sex,( *next).birthday.year,(*next).birthday.month,(*next).birthday.day,next->address,next->te l,next->E_mail); end->link=next; end=next; end->link=NULL; } fclose(fp); }