当前位置:文档之家› 学生综合测评系统

学生综合测评系统

课程设计报告课程名称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、数据库结构:下表构成该系统的基本数据库。

四、测试数据:学生人数: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.04.总体设计方案的选定本设计采用模块化结构设计,主要包括:主菜单(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 name[11];char sex[4];char adds[15];char phone[14];}p,info[100],w={0," "," "," "," ",};struct data{ //定义学生数据结构数组double number;char name[11];char sex[4];char adds[15];char phone[14];int chinese,math,english,stu,ksmc,pinde,teacher;float aver,ceping;}data[100];int main() //主函数{system("color 9e");void data_menu();void info_menu();void help();void menu();printf("\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n");printf("\t\t \t\t本程序由宗幸幸借鉴陈伟的程序编写\n\n");printf("\n\n\t\t");system("pause");menu();return 0;}void help() //帮助信息{system("cls"); //清屏printf(" * 欢迎使用本系统! *\n\n");printf(" 本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测评成绩和排名。

\n");printf(" 基本信息包括:学号、姓名、性别、家庭住址、联系电话;\n 各科成绩包括:语文、数学、外语成绩;\n");printf(" 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。

\n");printf(" 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);\n");printf(" 综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1+(任课教师评分)*0.2)\n");printf(" 其它请按照提示操作即可。

\n\n");printf(" 如有疑问,请联系:QQ:905524188\n\n");printf("\n\n\t\t");system("pause");}void info_daoru() //学生信息导出文件函数{FILE *f_info;struct student p={NULL};printf("\n\n\t正在导入...\n\n");if((f_info=fopen("info.txt","r"))==NULL){printf("\n\t打开文件失败!\n\n");return;}count=0;while(!feof(f_info)){fscanf(f_info,"%lf %s %s %s %s ",&p.number,,p.sex,p.adds,p.phone);info[count]=p;count++;}printf("\n\t导入已完成!共导入%d 条记录!\n\n\n",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==info[i].number){printf("\n\n\t该学号已存在!请重新输入!\n\n");return;}}printf("\t请输入姓名: "); //输入学生信息getchar();gets();printf("\t请输入性别: ");getchar();gets(p.sex);printf("\t请输入家庭住址: ");getchar();gets(p.adds);printf("\t请输入电话号码: ");getchar();gets(p.phone);info[count]=p;for(i=0;i<count;i++){ //按学号排序if(info[i].number>info[count].number){for(j=count;j>i;j--){info[j]=info[j-1];}info[i]=p;break;}}count++;}}void info_output() //学生信息浏览{FILE *f_info;int i;if((f_info=fopen("info.txt","r"))==NULL){//判断printf("\n\t没有学生信息!");printf("\n\n\t\t");system("pause");return;}info_daoru();if(count==0){//判断printf("\n\t没有学生信息!");printf("\n\n\t\t");system("pause");return;}else{printf(" \t学号\t 姓名\t 性别\t 家庭住址\t 联系电话\n"); //输出学生信息for(i=0;i<count;i++){printf(" %10.0lf",info[i].number);printf(" %10s",info[i].name);printf(" %10s",info[i].sex);printf(" %15s",info[i].adds);printf(" %13s\n\n",info[i].phone);}}printf("\t请按任意键返回上级:");printf("\n\n\t\t");system("pause");printf("\n\n\n\n");}void info_menu() //学生信息菜单{int choice;while(1){system("cls"); //清屏printf("\n\n\n\n\t\t☆☆☆☆☆学生信息处理系统☆☆☆☆☆\n\n");printf("\t\t\t●1.输入学生信息\n");printf("\t\t\t●2.修改学生信息\n");printf("\t\t\t●3.删除学生信息\n");printf("\t\t\t●4.浏览学生信息\n");printf("\t\t\t●0.返回主菜单\n\n");printf("\t\t请输入序号选择操作:");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("\n\t输入有误!请重新输入!\n\n"); break;}}}void data_menu() //数据处理菜单{int choice;printf("\n\t在进入学生数据管理前,请确认学生信息已全部完成!\n");printf("\n\t是否继续?输入数字选择(0:返回;其它数字继续。

相关主题