1、学生综合测评系统C语言设计 郑州科技学院 C语言课程设计 学生成绩管理系统 设计(论文)题目: 院: 所 在 信息工程学院 级:3班 15计算机科学与技术 业专 班 宋建军姓 名: 学 生 201515085 学 号: 师:教 导指 周丽 年20169日11月 郑州科技学院 课程设计(论文)任务书 学生综合信息测评系统设计题目: 15计算机科学与技术专业班级:3班 学号2015150085 姓名 宋建军 主要内容 设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。 采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。数据的存储选用数据文
2、件方式;编辑平台选用Microsoft Visual C+ 6.0 。所用到的知识点有:三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。 基本要求: 按照内容要求,设计完整的学生成绩管理系统。要求调试通过,不存在漏洞,方便用户操作。功能的实现上力求容错能力要强且提示信息完备。 日11年9月完成期限:2016 指导教师签名: 1 概述 . 错误!未定义书签。 1.1程序要求.1 1.2具体分工情况.1 1.3开发环1 2需求分析2 . 3 总体设计 . 2 3.1程序主界面设计. 3.2学生信息处理子界面设计. 3.3学生数据处理子界面设计 4 程序设计 未定义书签。!错误 .5 程
3、序调试. 40 6 程序评估. 40 7 参考文献. 错误!未定义书签。 1 概述 1 ) 程序要求 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 (2) 插入(修改)同学信息: (3) 删除同学信息: (4) 浏览学生信息: B、学生数据处理: (1) 按
4、考试科目录入学生成绩并且按公式: 考试成绩(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。 (2) 学生测评数据输入并计算综合测评总分及名次。 综合测评总分(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。 (3) 学生数据管理 输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件 (4) 学生数据查询: 输入学号或其他信息,即读出所有数据信息,并显示出来。 C、学生综合信息输出 。 3 ) 开发环境 Microsoft Visual
5、C+ 6.0 2 需求分析 为什么要做个学生综合测评系统。 以下有几点理由 1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。 这就让一个学生的综合测评系统的建立显得尤为重要。 2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。 3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。 4现在是个时间就是金钱的社会。老师本身就工作繁忙。这系统可以大大减轻老师的包袱。 5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。灵活性强。 3 总体设计 1) 程序主界面设计 主界面 理学数综 合据 生信处退 信息理
6、出 息输系 处出统 2 ) 学生信息处理子界面设计 学生信息处理 入学生回信信信信 息息息息 3)学生数据处理子界面设计 学生数据处理 学 修生 改录数学 返入据生 回成查数 绩询据 4 ) 主菜单程序流程图 开始 主菜 输入数 i=0? info-menu I=1? Data-menu I= shuchuI=3 I=Help 退 4 程序设计 1)主界面程序设计 (1)函数描述 输入参数:无 输出参数:无 功 能:本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。 (2)函数程序 int main() system(color 2e); printf(nntt.欢
7、迎使用学生综合管理系统.nn); printf(ntt); system(pause); menu(); /主菜单入口函数 return 0 ; 2)学生信息处理子菜单 (1) 函数描述 函 数 名 : info_menu() 输入参数 :无 输出参数 :无 功 能 :显示学生信息处理系统菜单 (2) 函数程序 void info_menu() /学生信息菜单 int choice; while(1) system(cls); /清屏 printf(nnntt学生信息处理系统nn); printf( tt 1.输入学生信息n); printf( tt 2.修改学生信息n); printf( t
8、t 3.删除学生信息n); printf( tt 4.浏览学生信息n); printf( tt 0.返回主菜单nn); printf( t请输入序号选择操作:); scanf(%d,&choice); if(choice=0) break; switch(choice) case 1: system(cls);info_input(); info_xieru(); break; case 2: system(cls);info_xiugai(); break; case 3: system(cls);info_del(); break; case 4: system(cls);info_out
9、put(); break; default:system(cls); printf(t输入有误!请重新输入!nn); break; 3)学生数据处理子菜单 函数描述( 1) data_menu() 名: 函数 输入参数 :无 输出参数:无 功 能 :显示学生数据处理系统菜单 (2) 函数程序 Void data_menu() 数据处理菜单/ int choice; /printf(t在进入学生数据管理前,请确认学生信息已全部完成!n); printf(t输入数字选择(0:返回;其它数字继续。)n); scanf(%d,&choice); if(choice=0) return; while(1
10、) system(cls); /清屏 printf(nnntt学生数据处理系统nn); printf( tt 1.录入成绩数据n); printf( tt 2.修改学生数据n); printf( tt 3.学生数据查询n); printf( tt 0.返回主菜单nn); printf( t请输入序号选择操作:); scanf(%d,&choice); if(choice=0) break; switch(choice) case 1: system(cls);data_input(); break; case 2: system(cls);data_xiugai(); break; case
11、3: system(cls);data_chaxun(); break; default: system(cls);printf(t输入有误!请重新输入!nn); break; 4)学生综合信息输出 (1) 函数描述 函 数 名 : shuchu() 输入参数 :无 输出参数 :无 功 能 :学生信息的综合输出 (2)函数程序 void shuchu() /学生综合信息输出 int i; data_daoru(); printf(); printf( _ _ _ _ _ _ n); printf( 学号 姓名 电话 平均分 名次 测评总分n); printf( _ _ _ _ _ _ n);
12、for(i=0;icount;i+) printf(|_x0010_d _x0010_s s _x0010_.1f _x0010_d _x0010_.1f n,infoi.number,infoi.name,infoi.phone,datai.avg,datai.ksmc,datai.ceping); printf(|_|_|_|_|_|_|n); printf(ntt); system(pause); printf(); )帮助函数5 /* 函数名 : help() 输入参数:无 输出参数:无 功能 :显示本系统的信息 */ void help() /帮助信息 system(cls); /清
13、屏 printf(); printf( tt学生综合测评系统!nn); printf( 本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。nn); printf( 基本信息包括:学号、姓名、性别、家庭住址、联系电话;nn 各科成绩包括:语文、数学、英语成绩;nn); printf( 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。nn); printf( 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);nn); printf( 综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1n +(任课教师评分)*0
14、.2)nn); printf( 其它请按照提示操作即可。nn); printf(ntt); system(pause); 6)学生信息导入函数 /* 函数名 : info_daoru() 输入参数:无 输出参数:无 功能 :打开存放的学生信息 */ void info_daoru() /学生 信息导出文件函数 FILE *f_info; .nn); printf(nt正在导入 if(f_info=fopen(info.txt,)=NULL) !nn); 打开文件失败 printf(treturn; count=0; while(!feof(f_info) %s %s %s fscanf(f_i
15、nfo,%d %s ,&p.number,&p.name,&p.sex,&p.addr ,&p.phone); infocount=p; count+; printf(t导入已完成!共导入 %d 条记录!nnn,count); fclose(f_info); system(cls); 7)学生信息输入函数 /* 函数名 : info_input() 输入参数:无 输出参数:无 功能 :录入学生个人信息 */ void info_input() /学 生信息输入函数 int i,j; info_daoru(); for( ; ; ) ); :退出)printf( 请输入学号(输入0 scanf(
16、%d,&p.number); if(p.number=0) return; 判for(i=0;i=count;i+) / 断是否存在该学生if(p.number=infoi.number) !nn); 该学号已存在!请重新输入printf(nt return; printf( 请输入姓名:); /输入学生信息 scanf(%s,&p.name); printf( 请输入性别: ); scanf(%s,&p.sex); ) 尬女)!=0) if( ( strcmp(p.sex 尬男)!=0 ) | (strcmp(p.sex printf( 你输入的内容不符合要求,请从新输入!按任意键继续n);
17、 getchar(); continue; ); 请输入家庭地址 printf( scanf(%s,&p.addr ); ); printf( 请输入电话号码: scanf(%s,&p.phone); infocount=p; for(i=0;iinfocount.number) for(j=count;ji;j-) infoj=infoj-1; infoi=p; break; count+; 8)输出函数 /* 函数名 : info_output() 输入参数:无 输出参数:无 功能 :显示学生个人信息 */ void info_output() /学生信息 浏览 FILE *f_info;
18、 int i; if(f_info=fopen(info.txt,)=NULL) /判断!); 没有学生信息 printf(tprintf(ntt); system(pause); return; info_daoru(); printf(); if(count=0) /判断 printf(t没有学生信息!); printf(ntt); system(pause); return; else printf( 学号 姓名 性别 家庭地址 n); 联系电话 /输出学生信息for(i=0;icount;i+) printf( %d,infoi.number); printf( %8s,infoi.n
19、ame); printf( %8s,infoi.sex); printf( _x0010_s,infoi.addr); printf( _x0010_snn,infoi.phone); ); printf( 请按任意键返回上级:printf(ntt); system(pause); printf(nnn); 9)学生信息写入文件 /* info_xieru() : 函数名 输入参数:无 输出参数:无 功能 :把学生个人信息数据写入到文件 */ void info_xieru() /学生信息写入文件函数 FILE *f; int i; if(f=fopen(info.txt,w)=NULL) !
20、nn); 打开文件失败printf(t exit(0); 保 for(i=0;icount;i+) / 存文件 if(infoi.number=w.number) continue; else fprintf(f,%d %s %s %s %s ,infoi.number,infoi.name,infoi.sex,infoi.addr ,infoi.phone); fclose(f); printf(t保存成功 !nn); printf(ntt); system(pause); system(cls); return; 10)删除学生信息函数 /* 函数名 : info_del() 输入参数:无
21、 输出参数:无 功能 :删除学生个人信息 */ void info_del() /学生信息删除 int pp; int i,j; info_daoru(); ); printf(t 请输入要删除学生的学号:scanf(%d,&pp); printf(); for(i=0;i=count) printf(t 没有找到该学生 !n); return; 牰湩晴尨学号 姓名 性别 地址 联系电话n); /显示删除信息 printf( %d ,infoi.number); printf( %5s ,infoi.name); printf( %5s ,infoi.sex); printf( _x0010_s ,infoi.addr); printf( _x0010_snn
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1