欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    学生综合测评系统(22页).doc

    • 资源ID:35958661       资源大小:603KB        全文页数:22页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生综合测评系统(22页).doc

    - 课 程 设 计 报 告课程名称 C语言程序设计 课题名称 学生综合测评系统 专 业 班 级 学 号 姓 名 指导教师 2012年 1 月2 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计 课 题 学生综合测评系统 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 2012年 12 月 25日任务完成日期 2013年 1 月 2 日一、设计内容与设计要求1设计内容:课题十: 学生综合测评系统一、问题描述:每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。二、功能描述: A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。提示:学生信息可先输入到数组中,排序后可写到文件中。(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。(4) 浏览学生信息:提示:打开文件,显示该文件的学生信息。B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。(2) 学生测评数据输入并计算综合测评总分及名次。提示:综合测评总分(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。(3) 学生数据管理提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:提示:输入学号或其他信息,即读出所有数据信息,并显示出来。C、学生综合信息输出提示:输出学生信息到屏幕。三、算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。 学号姓名考试成绩评分CharCharstructint四、测试数据:学生人数:N=10 学生综合测评系统1课程设计目的掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。2课程设计主要任务一、问题描述: 的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。二、功能描述: A学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩(语文+数学+外语)/3 计算考试成绩,并计算考试名次。(2) 学生测评数据输入并计算综合测评总分及名次。(3) 学生数据管理(4) 学生数据查询:C、学生综合信息输出3设计环境1)硬件:PC机,档次不低于CPU为PIII667,内存为128M,4G硬盘,其它硬件与此相配套。2)软件:Windows XP,VC+6.0 4总体设计方案的选定本设计采用模块化结构设计,主要包括:主菜单(menu)下的学生信息处理系统(info_menu)、学生数据处理系统(data_menu)、学生综合信息输出(shuchu)、帮助信息(help)、退出系统;学生信息处理系统(info_menu)下的输入学生信息(info_input)、修改学生信息(xiugai)、删除学生信息(info_del)、浏览学生信息(info_output)、返回主菜单;学生数据处理系统下的(data_menu)录入成绩数据(data_input)、修改学生数据(data_xiugai)、学生数据查询(data_chaxun)、返回主菜单。主菜单学生信息处理学生数据处理综合信息输出帮助信息退出系统学生数据处理系统修改学生数据学生数据查询录入成绩数据返回主菜单学生信息处理系统删除学生信息修改学生信息输入学生信息浏览学生信息返回主菜单 学生综合测评系统结构框图5源程序清单# include<stdio.h> /包含文件# include "stdlib.h" # include "string.h" int count;void info_daoru();void info_xieru();void info_del();void info_xiugai();void data_xieru();void data_daoru();void data_xiugai();void data_chaxun();void data_input();void shuchu();struct student /定义学生信息结构数组double number;char name11;char sex4;char adds15;char phone14;p,info100,w=0," "," "," "," ",;struct data /定义学生数据结构数组 double number;char name11;char sex4;char adds15;char phone14;int chinese,math,english,stu,ksmc,pinde,teacher;float aver,ceping;data100;int main() /主函数system("color 9e");void data_menu();void info_menu();void help();void menu();printf("nnntt.欢迎使用学生综合管理系统.nn");printf("tt tt本程序由宗幸幸借鉴陈伟的程序编写nn");printf("nntt");system("pause"); menu();return 0;void help() /帮助信息system("cls"); /清屏printf(" * 欢迎使用本系统! *nn");printf(" 本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测评成绩和排名。n");printf(" 基本信息包括:学号、姓名、性别、家庭住址、联系电话;n 各科成绩包括:语文、数学、外语成绩;n");printf(" 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。n");printf(" 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);n");printf(" 综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1+(任课教师评分)*0.2)n");printf(" 其它请按照提示操作即可。nn");printf(" 如有疑问,请联系:QQ:905524188nn");printf("nntt");system("pause");void info_daoru() /学生信息导出文件函数FILE *f_info;struct student p=NULL;printf("nnt正在导入.nn");if(f_info=fopen("info.txt","r")=NULL)printf("nt打开文件失败!nn");return;count=0; while(!feof(f_info)fscanf(f_info,"%lf %s %s %s %s ",&p.number,p.name,p.sex,p.adds,p.phone);infocount=p;count+;printf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_info);void info_input() /学生信息输入函数int i,j; info_daoru();for( ; ; )printf("t请输入学号(输入0退出):");scanf("%lf",&p.number);if(p.number=0) return;for(i=0;i<=count;i+) /判断是否存在该学生if(p.number=infoi.number)printf("nnt该学号已存在!请重新输入!nn");return;printf("t请输入姓名: "); /输入学生信息getchar();gets(p.name);printf("t请输入性别: ");getchar();gets(p.sex);printf("t请输入家庭住址: ");getchar();gets(p.adds);printf("t请输入电话号码: ");getchar();gets(p.phone);infocount=p;for(i=0;i<count;i+) /按学号排序if(infoi.number>infocount.number) for(j=count;j>i;j-)infoj=infoj-1;infoi=p;break;count+;void info_output() /学生信息浏览FILE *f_info;int i;if(f_info=fopen("info.txt","r")=NULL) /判断 printf("nt没有学生信息!");printf("nntt"); system("pause");return;info_daoru();if(count=0) /判断 printf("nt没有学生信息!");printf("nntt"); system("pause"); return; elseprintf(" t学号t 姓名 t 性别t 家庭住址t 联系电话n"); /输出学生信息for(i=0;i<count;i+)printf(" %10.0lf",infoi.number);printf(" %10s",infoi.name);printf(" %10s",infoi.sex);printf(" %15s",infoi.adds);printf(" %13snn",infoi.phone);printf("t请按任意键返回上级:");printf("nntt");system("pause");printf("nnnn");void info_menu() /学生信息菜单int choice;while(1)system("cls"); /清屏 printf("nnnntt学生信息处理系统nn"); printf("ttt 1.输入学生信息n"); printf("ttt 2.修改学生信息n"); printf("ttt 3.删除学生信息n"); printf("ttt 4.浏览学生信息n"); printf("ttt 0.返回主菜单nn"); printf("tt请输入序号选择操作:"); scanf("%d",&choice); if(choice=0) break; switch(choice) case 1: info_input(); info_xieru(); break; case 2: info_xiugai(); break; case 3: info_del(); break;case 4: info_output(); break; default: printf("nt输入有误!请重新输入!nn"); break;void data_menu() /数据处理菜单int choice;printf("nt在进入学生数据管理前,请确认学生信息已全部完成!n");printf("nt是否继续?输入数字选择(0:返回;其它数字继续。)n");scanf("%d",&choice);if(choice=0) return;while(1)system("cls"); /清屏 printf("nnnntt学生数据处理系统nn"); printf("ttt 1.录入成绩数据n"); printf("ttt 2.修改学生数据n"); printf("ttt 3.学生数据查询n"); printf("ttt 0.返回主菜单nn"); printf("tt请输入序号选择操作:"); scanf("%d",&choice); if(choice=0) break; switch(choice) case 1: data_input(); break; case 2: data_xiugai(); break; case 3: data_chaxun(); break; default: printf("nt输入有误!请重新输入!nn"); break;void menu() /主菜单函数int choice;while(1)system("cls"); printf("nnnntt- 主 - - - -菜- - - - 单 -nn"); printf("ttt 1.学生信息处理系统n"); printf("ttt 2.学生数据处理系统n"); printf("ttt 3.学生综合信息输出n"); printf("ttt 4.帮助信息n"); printf("ttt 0.退出系统nn"); printf("tt请输入序号选择操作:"); scanf("%d",&choice);printf("n");if(choice=0)printf("tt你已经退出,谢谢使用!nntt");break;switch(choice) case 1 : info_menu(); break; case 2 : data_menu(); break; case 4 : help(); break; case 3 : shuchu(); break; default: printf("nt输入有误!请重新输入!nn"); break;void info_xieru() /学生信息写入文件函数FILE *f;int i;if(f=fopen("info.txt","a")=NULL)printf("nt打开文件失败!nn");exit(0); for(i=0;i<count;i+) /保存文件if(infoi.number=w.number) continue; else fprintf(f,"%.0lf %s %s %s %s",infoi.number,infoi.name,infoi.sex,infoi.adds,infoi.phone);fclose(f);printf("nt保存成功!nn");printf("nntt");system("pause");return;void info_del() /学生信息删除double pp;int i,j;info_daoru();printf("nt请输入要删除学生的学号:");scanf("%lf",&pp);printf("n");for(i=0;i<=count;i+) /判断 if(infoi.number=pp) break;if(i>=count)printf("nt没有找到该学生!n"); return;printf(" t学号t 姓名 t 性别 家庭住址t 联系电话n"); /显示删除信息printf(" %10.0lf",infoi.number);printf(" %10s",infoi.name);printf(" %10s",infoi.sex);printf(" %13snn",infoi.phone);printf("nt是否删除?t 1.是 t 2.否 t ");while(1) scanf("%d",&j); switch(j)case 1: infoi=w; printf("nt删除成功!nn"); info_xieru(); return; case 2: return; default : printf("输入错误!请重新输入!");break;break;printf("nntt"); system("pause");void info_xiugai() /修改学生信息double pp;int i,j;info_daoru();printf("nt请输入要修改学生的学号:"); /查找scanf("%lf",&pp);printf("n");for(i=0;i<=count;i+) if(infoi.number=pp) break;printf("nt没有找到该学生!n"); return;printf(" t学号t 姓名t 性别t 家庭住址t 联系电话n"); /显示printf(" %10.0lf",infoi.number);printf(" %10s",infoi.name);printf(" %10s",infoi.sex);printf(" %15s",infoi.adds);printf(" %13snn",infoi.phone);printf("nt是否修改?t 1.是 t 2.否 t ");while(1) /修改 scanf("%d",&j); switch(j) case 1:printf("t学号为: %.0lfn",infoi.number);printf("t请输入姓名::"); scanf("%s",infoi.name); printf("t请输入性别:"); scanf("%s",infoi.sex); printf("t请输入家庭住址::");scanf("%s",infoi.adds); printf("t请输入电话号码:"); scanf("%s",infoi.phone);printf("nt修改成功!nn"); info_xieru(); return; /保存 case 2: return; default : printf("输入错误!请重新输入!");break;break;printf("nntt"); system("pause");void data_daoru() /学生数据导出 FILE *f_data;struct data p=NULL;printf("nnt正在导入.nn");if(f_data=fopen("data.txt","r")=NULL)printf("nt打开文件失败!nn");return;count=0; while(!feof(f_data)fscanf(f_data,"%lf %s %s %s %s %d %d %d %d %f %d %d %d %f ",&p.number,p.name,p.sex,p.adds,p.phone,&p.chinese,&p.math,&p.english,&p.stu,&p.aver,&p.ksmc,&p.pinde,&p.teacher,&p.ceping);datacount=p;/n na se ad p ch ma en su av ks pi te cecount+;printf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_data); /关闭文件void data_xieru() /写入文件函数FILE *f;int i;if(f=fopen("data.txt","w")=NULL)printf("nt打开文件失败!nn");exit(0); for(i=0;i<count;i+) fprintf(f,"%.0lf %s %s %s %s %d %d %d %.1f %d %d %d %.1f",datai.number,datai.name,datai.sex,datai.adds,datai.phone,datai.chinese,datai.math,datai.english,datai.aver,datai.ksmc,datai.stu,datai.pinde,datai.teacher,datai.ceping);/ num nam s ad tel c m e ave ks stu t cep fclose(f);printf("nntt");system("pause");return;void data_input() /数据输入FILE *f_info;int choice,i,k;struct data p=NULL; printf("nt警告!原有成绩将被覆盖!n");printf("nt是否继续?输入数字选择(0.返回;其余数字继续)nn");scanf("%d",&choice);if(choice=0) return;printf("nnt正在导入.nn"); /判断if(f_info=fopen("info.txt","r")=NULL)printf("nt打开文件失败!nn");return;count=0; while(!feof(f_info) /导出学生信息fscanf(f_info,"%lf %s %s %s %s ",&p.number,p.name,p.sex,p.adds,p.phone);datacount=p;count+;printf("nt导入已完成!共导入 %d 条记录!nnn",count);fclose(f_info);for(i=0;i<count;i+) /输入学生数据printf("nt学号:%.0lf 姓名:%sn",datai.number,datai.name);printf("nt请输入语文成绩:");scanf("%d",&datai.chinese);printf("t请输入数学成绩:");scanf("%d",&datai.math);printf("t请输入英语成绩:");scanf("%d",&datai.english);printf("t请输入同学互评分:");scanf("%d",&datai.stu);printf("t请输入品德成绩:");scanf("%d",&datai.pinde);printf("t请输入老师评分:");scanf("%d",&datai.teacher);datai.aver=(datai.chinese+datai.math+datai.english)/3.0;datai.ceping=(datai.aver*0.6+datai.stu*0.1+datai.pinde*0.1+datai.teacher*0.2);datai.ksmc=i+1;for(k=0;k<i;k+) /名次排序if(datai.aver>datak.aver) datak.ksmc=datak.ksmc+1;if(datai.ksmc>datak.ksmc-1)datai.ksmc=datak.ksmc-1;printf("nnt输入已完成!正在保存. n");data_xieru();void data_xiugai() /数据修改double pp;int i,j,k;data_daoru();printf("nt请输入要修改学生的学号:");scanf("%lf",&pp);printf("n");for(i=0;i<=count;i+) if(datai.number=pp) break;printf("nt没有找到该学生!n"); return;printf("nt学号:%.0lf 姓名:%s nnt语文:%d 数学:%d 英语:%d 同学互评分:%d 品德成绩:%d 老师评分:%dnn",datai.number,datai.name,datai.chinese,datai.math,datai.english,datai.stu,datai.pinde,datai.teacher);printf("nt是否修改?t 1.是 t 2.否 t ");

    注意事项

    本文(学生综合测评系统(22页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开