c语言课程设计学生档案管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础课程设计
实验报告书
目录
1.设计题目
学生信息管理系统设计
2.正文
系统简介
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)--输入
3、学生信息浏览功能--输出
4、学生信息查询功能--按学号查询、按姓名查询、
5、学生信息的删除与修改(可选项)
要求:使用文件方式存储数据。
选题背景
经典计算机问题,设计学生信息管理系统,可以进行多项系统信
息管理功能。
设计内容
设计学生信息管理的各个功能。系统以菜单方式工作。学生信息录入功能(学生信息用文件保存)--输入。学生信息浏览功能--输出。学生信息查询功能--按学号查询、按姓名查询。学生信息的删除与修改(可选项)
设计思路
将程序的各个功能分开独立的执行,问题有大而小,细化。
算法(条列式或流程图)
主程序模块:
按退格键
创建文件模块(独立函数):
YES
删除信息模块(独立函数):
不相同
相同
显示浏览信息模块(独立函数)
查找学生信息模块(独立函数):
返回主程序
程序清单与运行结果
#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,&(*head).,&(*head).,&(*head).,head-> address,head->tel,head->E_mail);
getchar();
fprintf(fp,"%d %s %c %d %d %d %s %s %s",head->nu mber,head->name,head->sex,(*head).,(*head).,(*head).,head-> address,head->tel,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,&(*next).,&(*next).,&(*next).,next-> address,next->tel,next->E_mail); getchar(); fprintf(fp,"%d %s %c %d %d %d %s %s %s",next->nu mber,next->name,next->sex,(*next).,(*next).,(*next).,next-> address,next->tel,next->E_mail); end->link=next; end=next; end->link=NULL; } fclose(fp); } \* 浏览信息模块: *\ void show2(int n) { FILE *fp; int i; char fpname[20]; struct student *head; head=(struct student *)malloc(sizeof(struct student)); printf("请输入存放信息的文件路径以及文件名:"); gets(fpname); fp=fopen(fpname,"r+"); for(i=0;i { fscanf(fp,"%d %s %c %d %d %d %s %s %s",&head->nu mber,head->name,&head->sex,&(*head).,&(*head).,&(*head).,he ad->address,head->tel,head->E_mail); printf("%d %s %d %d %d %d %s %s %s",&head->numbe r,head->name,head->sex,(*head).,(*head).,(*head).,head->add ress,head->tel,head->E_mail); } fclose(fp); }