学生学籍信息管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言课程设计综合实习报告题目:学籍信息管理系统姓名:黄凯学号:20081000153班级号:052081院(系):工程学院专业:土木工程指导教师:曹弘一,题目要求1.学生学籍信息管理系统设计[要求]使用下面的数据设计一个简单的学籍管理系统。学生基本信息文件(A.TXT)极其内容:学号姓名性别宿舍号码电话号码01张成成男5018773211102李成华女1018772311203王成凤女1018772311204张明明男5028773433305陈东男5018773211106李果男5028773433307张园园女10287756112学生成绩基本信息文件(B.TXT)极其内容:.....................................................................................................................学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分01A01大学物理366788202B03高等数学478-19001B03高等数学445-18802C01VF3657666................................................................................................................功能要求极其说明:(1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。综合成绩的计算:a.如果本课程的实验成绩为-1,则表无实验成绩,综合成绩=平时成绩*30%+卷面成绩*70%b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%实得学分的计算:采用等级学分制。综合成绩在90~100之间,应得学分=学分*100%综合成绩在80~90之间,应得学分=学分*80%综合成绩在70~80之间,应得学分=学分*75%综合成绩在60~70之间,应得学分=学分*60%综合成绩在60分以下,应得学分=学分*0%(2)查询功能:分为学生基本情况查询和成绩查询两种学生基本情况查询:输入一个学号或姓名(可实现选择)查出此学生的基本信息并显示输出。输入一个宿舍号码,可查出本室所有学生的基本信息并显示输出。称号查询:输入一个学号时,查出此学生所有课程情况,格式如下:学号:XX课程名称:XXXX综合成绩:XX实得学分:XXX...............................................................................共修:X科,实得总分为:XXX(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。[提示]数据结构采用结构体数组,提供学生基本信息和学生成绩基本信息结构体数组。二,需求分析根据题目要求,该程序应具备的功能有:(1)数据录入功能:录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。(2)查询功能:分为学生基本情况查询和成绩查询两种(3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此学生所有信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。三,程序总体设计学生学籍信息管理系统MENU(菜单)数据录入功能模块查询功能模块删除功能模块排序功能模块退出查询功能模块查询功能模块按学分升序排列按学分降序排列按综合成绩升序排列按综合成绩降序排列四,程序详细设计⒈主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。[流程图][程序]voidmain(){while(1){printf(\nwelcometousestudentmanage\n\n);printf(*=========================================================*\n);printf(*1input2chazhao*\n);printf(*3delete4paixuxianshi*\n);printf(*5exit*\n);printf(**\n);printf(*---------------------------------------------------------*\n);printf(Pleaseinputwhichyouwant(1-5):);ch=getch();switch(ch){case'1':input();break;case'2':search();getch();break;case'3':delete();getch();break;case'4':sort();getch();break;case'5':exit(0);default:continue;}}}⒉个功能模块设计⑴数据录入。[数据结构]我们需要录入的信息数据有两类:一类是学生基本信息,包括学号,学号姓名性别宿舍号码电话号码,存放在文件S_INFO.TXT中。另一类信息是学生成绩基本信息,包括学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。这些信息存放在文件S_SCORE.TXT中。学生基本信息的存放格式为:structinfo{intsMingci;//名次charxuehao[8];charname[10];charsex[2];chard_num[4];//宿舍号码chartel_num[9];//宿舍电话号码}data,s_info[100];成绩基本信息的存放格式为:structcourse{charxuehao[8];charcourse_No[6];//课程代号charcourse_name[10];//课程名字floatxuefen;//学分floatp_chengji;//平时成绩floats_chengji;//实验成绩floatj_chengji;//卷面成绩floatz_chengji;//综合成绩floats_xuefen;//实际学分}course_data,s_course[100];[需求分析]数据录入模块的功能是用户通过输入选项在基本信息和成绩信息的输入之间进行选择。[程序]voidinput(){while(1){printf(\nwhichinformationdoyouwanttoinput:b(base)s(socre)e(exit));ch=getch();if(ch=='b'||ch=='B'){if((fp=fopen(s_info.txt,at+))==NULL){printf(cannotopenthisfile.\n);getch();exit(0);}printf(\nPleaseinputxuehao:);gets(sn);while((fread(&data,sizeof(data),1,fp))==1){if(strcmp(sn,data.xuehao)==0){flag=1;}}if(flag==1){printf(\nthenumberhasexist,pressangkeycontinue:\n);flag=0;getch();continue;}else{strcpy(data.xuehao,sn);}printf(Pleaseinputname:);gets(data.name);printf(Pleaseinputsex:M(male)/F(female):\n);gets(data.sex);printf(PleaseinputyourdormitoryNo:);gets(data.d_num);printf(PleaseinputtelephoneNumber:);gets(data.tel_num);fwrite(&data,sizeof(data),1,fp);//写入数据fclose(fp);}//ifelseif(ch=='s'||ch=='S'){if((fp1=fopen(s_score.txt,at+))==NULL||(fp=fopen(s_info.txt,rt))==NULL){printf(cannotopenthisfile.\n);getch();exit(0);}printf(\nPleaseinputxuehao:);gets(sn);while((fread(&data,sizeof(data),1,fp))==1){if(strcmp(sn,data.xuehao)==0){flag=1;}}if(!flag){printf(\nthisnumberisnotexist\n);continue;}else{flag=0;strcpy(course_data.xuehao,sn);}printf(\nPleaseinputcourseNo:);gets(course_data.course_No);printf(\nPleaseinputcoursename:);gets(course_data.course_name);printf(\nPleaseinputcoursexuefeng:);gets(temp);course_data.xuefen=atof(temp);printf(\nPleaseinputpingshichengji:);gets(temp);course_data.p_chengji=atof(temp);printf(\nPleaseinputshiyanchengji:);gets(temp);course_data.s_chengji=atof(temp);printf(\nPleaseinputjuanmianchengji:);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+(course_data.j_chengji)*0.7;}//以下是实际学分计算if((course_data.z_chengji)60){course_data.s_xuefen=0;}elseif((course_data.z_chengji)70){course_data.s_xuefen=course_data.xuefen*0.6;}elseif((course_data.z_chengji)80){course_data.s_xuefen=course_data.xuefen*0.75;}elseif((course_data.z_chengji)90){course_data.s_xuefen=course_data.xuefen*0.8;}else{course_data.s_xuefen=course_data.xuefen;}fwrite(&course_data,sizeof(course_data),1,fp1);//写入数据fclose(fp1);fclose(fp);}//elseifelse

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功