学生综合测评系统

  • 格式:doc
  • 大小:268.50 KB
  • 文档页数:23

下载文档原格式

  / 23
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。\n");
printf("说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);\n");
printf("综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1+(任课教师评分)*0.2)\n");
return0;
}
voidhelp()//帮助信息
{
system("cls");//清屏
printf("*欢迎使用本系统!*\n\n");
printf("本系统可以存储学生的基本信息和各科成绩,并能计算考试平均成绩,综合测评成绩和排名。\n");
printf("基本信息包括:学号、姓名、性别、家庭住址、联系电话;\n各科成绩包括:语文、数学、外语成绩;\n");
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;
intchinese,math,english,stu,ksmc,pinde,teacher;
floataver,ceping;
}data[100];
intmain()//主函数
{
system("color9e");
voiddata_menu();
voidinfo_menu();
voidhelp();
二、功能描述:
A、学生信息处理
(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2)插入(修改)同学信息:
提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
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("wenku.baidu.comt\t\t●0.返回主菜单\n\n");
printf("\t\t请输入序号选择操作:");
1.设计内容:
课题十:学生综合测评系统
一、问题描述:
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
info[count]=p;
count++;
}
printf("\n\t导入已完成!共导入%d条记录!\n\n\n",count);
fclose(f_info);
}
voidinfo_input()//学生信息输入函数
{
inti,j;
info_daoru();
for(;;){
printf("\t请输入学号(输入0退出):");
charsex[4];
charadds[15];
charphone[14];
}p,info[100],w={0,"","","","",};
structdata{//定义学生数据结构数组
doublenumber;
charname[11];
charsex[4];
charadds[15];
charphone[14];
voidmenu();
printf("\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n");
printf("\t\t\t\t本程序由宗幸幸借鉴陈伟的程序编写\n\n");
printf("\n\n\t\t");
system("pause");
menu();
(3)删除同学信息:
提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4)浏览学生信息:
提示:打开文件,显示该文件的学生信息。
B、学生数据处理:
(1)按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
}
}
printf("\t请按任意键返回上级:");
printf("\n\n\t\t");
system("pause");
printf("\n\n\n\n");
}
voidinfo_menu()//学生信息菜单
{
intchoice;
while(1){
system("cls");//清屏
printf("\n\n\n\n\t\t☆☆☆☆☆学生信息处理系统☆☆☆☆☆\n\n");
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;
}
}
二、功能描述:
A学生信息处理
(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
(2)插入(修改)同学信息:
(3)删除同学信息:
(4)浏览学生信息:
B、学生数据处理:
(1)按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次。
(2)学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3)学生数据管理
提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件
(4)学生数据查询:
提示:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出
提示:输出学生信息到屏幕。
三、算法提示:
1、数据结构:结构体类型数组
2、数据库结构:下表构成该系统的基本数据库。
学号
姓名
考试成绩

评分

Char
Char
struct

int

四、测试数据:
学生人数:N=10
学生综合测评系统
1.课程设计目的
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
学生综合测评系统(总19页)
课程设计报告
课程名称C语言程序设计
课题名称学生综合测评系统
专业
班级
学号
姓名
指导教师
2012年1月2日
湖南工程学院
课程设计任务书
课程名称C语言程序设计
课题学生综合测评系统
专业班级
学生姓名
学号
指导老师
审批
任务书下达日期2012年12月25日
任务完成日期2013年1月2日
一、设计内容与设计要求
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("其它请按照提示操作即可。\n\n");
printf("如有疑问,请联系:QQ:905524188\n\n");
printf("\n\n\t\t");
system("pause");
}
voidinfo_daoru()//学生信息导出文件函数
{
FILE*f_info;
structstudentp={NULL};
default:printf("\n\t输入有误!请重新输入!\n\n");break;
}
}
}
voiddata_menu()//数据处理菜单
{
intchoice;
printf("\n\t在进入学生数据管理前,请确认学生信息已全部完成!\n");
printf("\n\t是否继续?输入数字选择(0:返回;其它数字继续。)\n");
学生综合测评系统结构框图
5.源程序清单
#include<stdio.h>//包含文件
#include"stdlib.h"
#include"string.h"
intcount;
voidinfo_daoru();
voidinfo_xieru();
voidinfo_del();
voidinfo_xiugai();
break;
}
}
count++;
}
}
voidinfo_output()//学生信息浏览
{
FILE*f_info;
inti;
if((f_info=fopen("info.txt","r"))==NULL){//判断
printf("\n\t没有学生信息!");
printf("\n\n\t\t");
system("pause");
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.name,p.sex,p.adds,p.phone);
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");//输出学生信息
(2)学生测评数据输入并计算综合测评总分及名次。
(3)学生数据管理
(4)学生数据查询:
C、学生综合信息输出
3.设计环境
1)硬件:PC机,档次不低于CPU为PIII667,内存为128M,4G硬盘,其它硬件与此相配套。
2)软件:WindowsXP,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)、返回主菜单。
scanf("%d",&choice);
if(choice==0)break;
switch(choice){
case1:info_input();info_xieru();break;
case2:info_xiugai();break;
case3:info_del();break;
case4:info_output();break;
voiddata_xieru();
voiddata_daoru();
voiddata_xiugai();
voiddata_chaxun();
voiddata_input();
voidshuchu();
structstudent{//定义学生信息结构数组
doublenumber;
charname[11];
2.课程设计主要任务
一、问题描述:
的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
printf("\t请输入姓名:");//输入学生信息
getchar();
gets(p.name);
printf("\t请输入性别:");
getchar();
gets(p.sex);
printf("\t请输入家庭住址:");
getchar();
gets(p.adds);
printf("\t请输入电话号码:");