《使用下面的数据设计一个简单的学籍管理系统》由会员分享,可在线阅读,更多相关《使用下面的数据设计一个简单的学籍管理系统(12页珍藏版)》请在金锄头文库上搜索。
1、使用下面的数据设计一个简单的学籍管理系统。 学生基本信息文件(A.TXT)极其内容: 学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756112 学生成绩基本信息文件(B.TXT)极其内容: . 学号 课程编号 课程名称 学分平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 8
2、2 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 . 功能要求极其说明: (1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。 综合成绩的计算: a.如果本课程的实验成绩为-1,则表无实验成绩,综合成绩=平时成绩*30%+卷面成绩*70% b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 实得学分的计算:采用等级学分制。 综合成绩在90100之间,应得学分=
3、学分*100% 综合成绩在8090之间,应得学分=学分*80% 综合成绩在7080之间,应得学分=学分*75% 综合成绩在6070之间,应得学分=学分*60% 综合成绩在60分以下,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 学生基本情况查询: 输入一个学号或姓名(可实现选择)查出此学生的基本信息并显示输出。 输入一个宿舍号码,可查出本室所有学生的基本信息并显示输出。 称号查询: 输入一个学号时,查出此学生所有课程情况,格式如下: 学号:XX 课程名称:XXXX综合成绩:XX实得学分:XXX . 共修:X科,实得总分为:XXX (3)删除功能:当在A.TXT中删除
4、一个学生时,自动地在B.TXT中删除此学生所有信息。 (4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 提示 数据结构才用结构体数组,提供学生基本信息和学生成绩基本信息结构体数组。问题补充:高手门帮帮忙,我们现在在做课程设计!这个对我来说太有难度了!谢谢喽!推荐答案#include 基本上和你的一模一样,运行完全正确 #include #include #include struct student_info char number15; /*学号*/ char name20; /*姓名*/ char gender8; /*性别*/ char sushe_no10; /
5、*宿舍号*/ char tel20; ; struct student_grade char number15; char courseno10; /*课程号*/ char coursename20; /*课程名称*/ int xuefen; int pingshicj; int shiyancj; int juanmiancj; float zonghecj; float shidecj; ; typedef struct student_info stu_info; typedef struct student_grade stu_grade; int CourseInfoIndex=0;
6、 int StudentInfoIndex=0; stu_info *StuInfo=NULL; stu_grade *StuCour=NULL; int ReadStuInfo(void) /从原有的学生信息文件中读取信息 FILE *fp; StudentInfoIndex=0; if(fp=fopen(a.txt,rb)=NULL) return -1; else while(!feof(fp) if(fread(&StuInfoStudentInfoIndex,sizeof(stu_info),1,fp)=1) StudentInfoIndex+; fclose(fp); return
7、 0; int WriteStuInfo(void) /将学生信息写入到文件中 FILE *fp; if(StudentInfoIndex=0) if(fp=fopen(a.txt,wb)=NULL) return -1; else fwrite(StuInfo,sizeof(stu_info)*StudentInfoIndex,1,fp); fclose(fp); return 0; return 0; void PrintStuInfo(int index) int i=0; ReadStuInfo(); printf(nNow print the data of student info
8、mation:n); printf(StuNO StuName Gender SuSheHao Telphonen); if (index=-1) for(i=0;i=0) if(fp=fopen(b.txt,wb)=NULL) return -1; else fwrite(StuCour,sizeof(stu_grade)*CourseInfoIndex,1,fp); fclose(fp); return 0; return 0; void PrintCourseInfo(int index) int i=0; ReadCourseInfo(); printf(nNow print the data of course infomation:n); printf(StuNO CourseNo CourseName XueFen PingShiCJ ShiYanCJ JuanMianCJ ZongHeCJ