学生信息管理系统C语言编程

学生信息管理系统C语言编程

ID:41032734

大小:45.50 KB

页数:10页

时间:2019-08-14

学生信息管理系统C语言编程_第1页
学生信息管理系统C语言编程_第2页
学生信息管理系统C语言编程_第3页
学生信息管理系统C语言编程_第4页
学生信息管理系统C语言编程_第5页
资源描述:

《学生信息管理系统C语言编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、学生信息管理系统C语言编程【问题描述】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】(1)学生信息包括:学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下:(

2、2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求)学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验

3、成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%。实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下,应得学分=学分*0%。2)查询功能:分为学生基本情况查询和成绩查询两种(1)学生基本情况查询:①、输入一个学号或姓名(可实现选择),查出此生的基本信息

4、并显示输出,格式如下:②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示)(2)成绩查询:①、输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx姓名:xxxxx课程编号:xxx课程名称:xxxxx综合成绩:xxxx实得学分:xx课程编号:xxx课程名称:xxxxx综合成绩:xxxx实得学分:xx课程编号:xxx课程名称:xxxxx综合成绩:xxxx实得学分:xx……………………共修:xx科,实得总学分为:xxx(3)删除功能:提供待删除学生的学号,则在st

5、udent.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。【程序设计的具体说明】(1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。(3)删除功能中可以将删除相关信息后得到的文件生成新文件存储,也可以在原文件的基础上作删除(4)可以用面向

6、过程方法或是面向对象的方法实现。(5)主界面提供菜单选择的方法选择实现某一功能,一次运行程序能进行多次选择执行不同的功能。#include"stdio.h"#include"stdlib.h"#include"string.h"#defineN3typedefstructz1{charno[11];charname[15];intscore[N];floatsum;floataverage;intorder;structz1*next;}STUDENT;STUDENT*init();STUDENT

7、*create();STUDENT*del(STUDENT*h);voidprint(STUDENT*h);voidsearch1(STUDENT*h);voidsearch2(STUDENT*h);STUDENT*insert(STUDENT*h);voidsort(STUDENT*h);voidsave(STUDENT*h);voidtongji(STUDENT*h);intmenu_select();STUDENT*load();voidinputs(char*prompt,char*s,i

8、ntcount);STUDENT*load();main(){inti;STUDENT*head;head=init();for(;;){switch(menu_select()){case0:head=init();break;case1:head=create();break;case2:head=insert(head);break;case3:save(head);break;case4:print(head);break;case5:search1(head);break

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。