学生学籍信息管理系统.doc
《学生学籍信息管理系统.doc》由会员分享,可在线阅读,更多相关《学生学籍信息管理系统.doc(41页珍藏版)》请在三一办公上搜索。
1、C语言课程设计综合实习报告题目:学籍信息管理系统 姓名: 黄凯 学号:20081000153班级号: 052081 院(系):工程学院专业: 土木工程 指导教师: 曹弘 一 ,题目要求1. 学生学籍信息管理系统设计 要求 使用下面的数据设计一个简单的学籍管理系统。 学生基本信息文件(A.TXT)极其内容: 学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 877343
2、33 07 张园园 女 102 87756112 学生成绩基本信息文件(B.TXT)极其内容: . 学号 课程编号 课程名称 学分平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 . 功能要求极其说明: (1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。 综合成绩的计算: a.如果本课程的实验成绩为-1,则表无实验成绩,综合成
3、绩=平时成绩*30%+卷面成绩*70% b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 实得学分的计算:采用等级学分制。 综合成绩在90100之间,应得学分=学分*100% 综合成绩在8090之间,应得学分=学分*80% 综合成绩在7080之间,应得学分=学分*75% 综合成绩在6070之间,应得学分=学分*60% 综合成绩在60分以下,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 学生基本情况查询: 输入一个学号或姓名(可实现选择)查出此学生的基本信息并显示输出。 输入一个宿舍号码,可查出本室所有学生
4、的基本信息并显示输出。 称号查询: 输入一个学号时,查出此学生所有课程情况,格式如下: 学号:XX 课程名称:XXXX综合成绩:XX实得学分:XXX . 共修:X科,实得总分为:XXX (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。 (4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 提示 数据结构采用结构体数组,提供学生基本信息和学生成绩基本信息结构体数组。二 ,需求分析 根据题目要求,该程序应具备的功能有:(1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学
5、分根据条件自动运算。(2)查询功能:分为学生基本情况查询和成绩查询两种(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。三, 程序总体设计学生学籍信息管理系统MENU(菜单)退出排序功能模块删除功能模块查询功能模块数据录入功能模块按学分降序排列按综合成绩降序排列按综合成绩升序排列按学分升序排列查询功能模块查询功能模块退出四, 程序详细设计主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。流程图 程序void main()while(1)
6、 printf(nnn); printf(* = * n); printf(* 1input 2cha zhao * n); printf(* 3delete 4paixu xianshi * n); printf(* 5exit * n); printf(* * n); printf(* - * n); printf( Please input which you want(1-5):); ch=getch(); switch(ch) case 1:input();break; case 2:search(); getch();break; case 3:delete();getch();
7、break; case 4:sort(); getch();break; case 5:exit(0); default: continue; 个功能模块设计数据录入。数据结构 我们需要录入的信息数据有两类:一类是学生基本信息,包括学号,学号 姓名 性别 宿舍号码 电话号码,存放在文件S_INFO.TXT中。另一类信息是学生成绩基本信息,包括学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。 这些信息存放在文件S_SCORE.TXT中。学生基本信息的存放格式为:struct info int sMingci; /名次char xueha
8、o8; char name10; char sex2;char d_num4;/宿舍号码char tel_num9; /宿舍电话号码data,s_info100;成绩基本信息的存放格式为:struct coursechar xuehao8; char course_No6; /课程代号 char course_name10;/课程名字 float xuefen;/学分 float p_chengji; /平时成绩 float s_chengji;/实验成绩 float j_chengji;/卷面成绩 float z_chengji;/综合成绩 float s_xuefen;/实际学分cours
9、e_data,s_course100; 需求分析数据录入模块的功能是用户通过输入选项在基本信息和成绩信息的输入之间进行选择。程序void input() while(1)printf(nwhich information do you want to input: b(base) s(socre) e(exit);ch=getch(); if(ch=b|ch=B) if(fp=fopen(s_info.txt,at+)=NULL) printf(cannot open this file.n); getch();exit(0); printf(nPlease input xuehao:); g
10、ets(sn);while(fread(&data,sizeof(data),1,fp)=1) if(strcmp(sn,data.xuehao)=0)flag=1;if(flag=1)printf(n the number has exist,press ang key continue:n);flag=0;getch();continue;elsestrcpy(data.xuehao,sn); printf(Please input name:); gets(data.name); printf(Please input sex:M(male)/F(female):n); gets(dat
11、a.sex);printf(Please input your dormitory No:); gets(data.d_num);printf(Please input telephone Number:); gets(data.tel_num);fwrite(&data,sizeof(data),1,fp); /写入数据fclose(fp); /ifelse if(ch=s|ch=S) if(fp1=fopen(s_score.txt,at+)=NULL|(fp=fopen(s_info.txt,rt)=NULL) printf(cannot open this file.n); getch
12、();exit(0); printf(nPlease input xuehao:); gets(sn);while(fread(&data,sizeof(data),1,fp)=1) if(strcmp(sn,data.xuehao)=0)flag=1;if(!flag)printf(nthis number is not existn);continue;else flag=0;strcpy(course_data.xuehao,sn);printf(nPlease input course No:); gets(course_data.course_No);printf(nPlease i
13、nput course name:); gets(course_data.course_name);printf(nPlease input course xuefeng:); gets(temp);course_data.xuefen=atof(temp);printf(nPlease input pingshi chengji:); gets(temp);course_data.p_chengji=atof(temp);printf(nPlease input shiyan chengji:); gets(temp);course_data.s_chengji=atof(temp);pri
14、ntf(nPlease input juanmian chengji:); gets(temp);course_data.j_chengji=atof(temp);/以下是综合成绩计算if(course_data.s_chengji=-1) /如果有实验 course_data.z_chengji=(course_data.p_chengji)*0.3+(course_data.j_chengji)*0.7;else /如果无实验course_data.z_chengji=(course_data.p_chengji)*0.15+(course_data.s_chengji)*0.15+(co
15、urse_data.j_chengji)*0.7;/以下是实际学分计算 if(course_data.z_chengji)60) course_data.s_xuefen=0; else if(course_data.z_chengji)70) course_data.s_xuefen=course_data.xuefen*0.6; else if(course_data.z_chengji)80) course_data.s_xuefen=course_data.xuefen*0.75; else if(course_data.z_chengji)90) course_data.s_xuef
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 信息管理 系统

链接地址:https://www.31ppt.com/p-3941730.html