《c语言专业课程设计学生档案标准管理系统》由会员分享,可在线阅读,更多相关《c语言专业课程设计学生档案标准管理系统(18页珍藏版)》请在金锄头文库上搜索。
1、c语言专业课程设计学生档案标准管理系统学生信息管理系统设计程序设计基础课程设计实验报告书 目录1.设计题目32.正文32.1 系统简介32.2选题背景42.3设计内容42.4设计思路42.5算法(条列式或流程图)42.6程序清单与运行结果92.7总结151. 设计题目学生信息管理系统设计2. 正文2.1 系统简介学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能按学号查询、按姓名查询、5、学生信息的删除与修改(可
2、选项)要求:使用文件方式存储数据。 2.2选题背景 经典计算机问题,设计 学生信息管理系统,可以进行多项系统信息管理功能。 2.3设计内容设计学生信息管理的各个功能。系统以菜单方式工作。学生信息录入功能(学生信息用文件保存)输入。学生信息浏览功能输出。学生信息查询功能按学号查询、按姓名查询。学生信息的删除与修改(可选项) 2.4设计思路 将程序的各个功能分开独立的执行,问题有大而小,细化。 2.5算法(条列式或流程图) 主程序模块:准 备输入选择:判断:运行不同功能: 按退格键结束创建文件模块(独立函数):输入要创建的文件夹得文件名,并创建文件 输入学生数目:输入一个学生信息并存放到文件夹:是
3、否人数足够 NO YES返回主程序 删除信息模块(独立函数):输入要删除得姓名 按读取方式打开用于存放文件的文件夹创建100个结构体,并将文件中的信息全部存放到结构体中 不相同将指针指向下一个结构体,判断该结构体的姓名与要删除的姓名是否相同 相同通过链表把要删除得同学的信息在结构体链表中删除按写入方式打开文件,结构体全部写入文件显示浏览信息模块(独立函数)返回主程序 输入存放信息的文件夹的文件名,并打开文件夹创建一百个结构体数组 将一个结构体大小从文件中读取到内存,并显示从文件中读入一个结构体大小,并显示到内存 文件是否到达最后 返回主程序 查找学生信息模块(独立函数): 输入存放信息的文件夹
4、的文件名,并打开文件夹创建一百个结构体数组 将一个结构体大小从文件中读取到内存,并显示输入要查找信息的学生名,指针指向下一个结构体判断学生信息与是否为要查找的人的信息输出学生信息 返回主程序2.6程序清单与运行结果#include#include#include#includestruct birthint year,month,day;struct student int number,age,tel10;char name10,sex,address20,E_mail20;struct birth birthday;struct student *link;void show( )prin
5、tf( 请输入数字加回车键进行选择:n);printf( 1、学生信息录入功能(学生信息用文件保存)输入n);printf( 2、学生信息浏览功能输出n);printf( 3、学生信息查询功能按学号查询、按姓名查询n);printf( 4、学生信息的删除与修改(可选项)n);printf( 按其他任意键加回车退出程序n);* 创建文件夹并存入信息模块: *void credit(int n)FILE *fp;char fpname20;struct student *head,*next,*end;int i;printf(请输入用于存放文件的文件路劲及文件名:);scanf(%s,fpnam
6、e);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).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head-address,head-tel,head-E_mail)
7、;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-tel,head-E_mail);end=head;for(i=1;inumber,next-name,&next-sex,&(*next).birthday.year,&(*next).birthday.month,&(*next).birthday.day,next-
8、address,next-tel,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-tel,next-E_mail);end-link=next;end=next;end-link=NULL;fclose(fp);* 浏览信息模块: *void show2(int n)FILE *fp;int
9、i;char fpname20;struct student *head;head=(struct student *)malloc(sizeof(struct student);printf(请输入存放信息的文件路径以及文件名:);gets(fpname);fp=fopen(fpname,r+);for(i=0;inumber,head-name,&head-sex,&(*head).birthday.year,&(*head).birthday.month,&(*head).birthday.day,head-address,head-tel,head-E_mail);printf(%d
10、%s %d %d %d %d %s %s %s,&head-number,head-name,head-sex,(*head).birthday.year,(*head).birthday.month,(*head).birthday.day,head-address,head-tel,head-E_mail);fclose(fp);* 按学号查找学生信息模块: *int search1(int n)int i,checkname;FILE *fp;char fpname20;struct student *head;head=(struct student *)malloc(sizeof(struct student);printf(请输入存放信息的文件路径以及文件名:);gets(fpname);fp=fopen(fpname,r+);printf(请输入要查询信息的学生学号:);scanf(%d