精品学生综合测评系统c语言设计可编辑.docx

上传人:b****9 文档编号:25723374 上传时间:2023-06-11 格式:DOCX 页数:46 大小:394.01KB
下载 相关 举报
精品学生综合测评系统c语言设计可编辑.docx_第1页
第1页 / 共46页
精品学生综合测评系统c语言设计可编辑.docx_第2页
第2页 / 共46页
精品学生综合测评系统c语言设计可编辑.docx_第3页
第3页 / 共46页
精品学生综合测评系统c语言设计可编辑.docx_第4页
第4页 / 共46页
精品学生综合测评系统c语言设计可编辑.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

精品学生综合测评系统c语言设计可编辑.docx

《精品学生综合测评系统c语言设计可编辑.docx》由会员分享,可在线阅读,更多相关《精品学生综合测评系统c语言设计可编辑.docx(46页珍藏版)》请在冰豆网上搜索。

精品学生综合测评系统c语言设计可编辑.docx

精品学生综合测评系统c语言设计可编辑

 

学生综合测评系统(C语言设计)

郑州科技学院

C语言课程设计

 

设计(论文)题目:

学生成绩管理系统

所在院:

信息工程学院

专业班级:

15计算机科学与技术3班

学生姓名:

宋建军

学号:

201515085

指导教师:

周丽

2016年9月11日

 

郑州科技学院

课程设计(论文)任务书

设计题目:

学生综合信息测评系统

专业班级:

15计算机科学与技术3班

学号2015150085姓名宋建军

主要内容

设计学生成绩管理系统,主要包含:

输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。

采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。

数据的存储选用数据文件方式;编辑平台选用MicrosoftVisualC++6.0。

所用到的知识点有:

三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。

基本要求:

按照内容要求,设计完整的学生成绩管理系统。

要求调试通过,不存在漏洞,方便用户操作。

功能的实现上力求容错能力要强且提示信息完备。

 

完成期限:

2016年9月11日

指导教师签名:

1.1程序要求……………………………………………………………………….1

1.2具体分工情况………………………………………………………………….1

1.3开发环…………………………………………………………………………1

3.1程序主界面设计……………………………………………………………..

3.2学生信息处理子界面设计........................................................................

3.3学生数据处理子界面设计………………………………………………

 

1概述

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、学生综合信息输出

3)开发环境

MicrosoftVisualC++6.0

 

2需求分析

为什么要做个学生综合测评系统。

以下有几点理由

1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。

这就让一个学生的综合测评系统的建立显得尤为重要。

2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。

3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。

4现在是个时间就是金钱的社会。

老师本身就工作繁忙。

这系统可以大大减轻老师的包袱。

5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。

灵活性强。

3总体设计

1)程序主界面设计

2)学生信息处理子界面设计

3)学生数据处理子界面设计

 

4)主菜单程序流程图

 

4程序设计

1)主界面程序设计

(1)函数描述

输入参数:

输出参数:

功能:

本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。

(2)函数程序

intmain()

{

system("color2e");

printf("\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n");

printf("\n\n\t\t");

system("pause");

menu();//主菜单入口函数

return0;

}

2)学生信息处理子菜单

(1)函数描述

函数名:

info_menu()

输入参数:

输出参数:

功能:

显示学生信息处理系统菜单

(2)函数程序

voidinfo_menu()//学生信息菜单

{

intchoice;

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){

case1:

system("cls");info_input();info_xieru();break;

case2:

system("cls");info_xiugai();break;

case3:

system("cls");info_del();break;

case4:

system("cls");info_output();break;

default:

system("cls");printf("\n\t输入有误!

请重新输入!

\n\n");break;

}

}

}

 

3)学生数据处理子菜单

(1)函数描述

函数名:

data_menu()

输入参数:

输出参数:

功能:

显示学生数据处理系统菜单

(2)函数程序

Voiddata_menu()//数据处理菜单

{

intchoice;

//printf("\n\t在进入学生数据管理前,请确认学生信息已全部完成!

\n");

printf("\n\t输入数字选择(0:

返回;其它数字继续。

)\n");

scanf("%d",&choice);

if(choice==0)return;

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●0.返回主菜单\n\n");

printf("\t\t请输入序号选择操作:

");

scanf("%d",&choice);

if(choice==0)break;

switch(choice){

case1:

system("cls");data_input();break;

case2:

system("cls");data_xiugai();break;

case3:

system("cls");data_chaxun();break;

default:

system("cls");printf("\n\t输入有误!

请重新输入!

\n\n");break;

}

}

}

4)学生综合信息输出

(1)函数描述

函数名:

shuchu()

输入参数:

输出参数:

功能:

学生信息的综合输出

(2)函数程序

voidshuchu()//学生综合信息输出

{

inti;

data_daoru();

printf("\n");

printf("________________________________________________________________________\n");

printf("学号姓名电话平均分名次测评总分\n");

printf("________________________________________________________________________\n");

for(i=0;i

printf("|%10d%10s%14s%10.1f%10d%10.1f\n",info[i].number,info[i].name,info[i].phone,data[i].avg,data[i].ksmc,data[i].ceping);

printf("|____________|____________|________________|___________|___________|__________|\n");

}

printf("\n\n\t\t");

system("pause");

printf("\n");

}

5)帮助函数

/**************************************************

函数名:

help()

输入参数:

输出参数:

功能:

显示本系统的信息

****************************************************/

voidhelp()//帮助信息

{

system("cls");//清屏

printf("\n");

printf("\t\t\t学生综合测评系统!

\n\n");

printf("本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。

\n\n");

printf("基本信息包括:

学号、姓名、性别、家庭住址、联系电话;\n\n各科成绩包括:

语文、数学、英语成绩;\n\n");

printf("其它包括:

考试名次、同学互评分、品德成绩、任课教师评分等。

\n\n");

printf("说明:

考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);\n\n");

printf("综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1\n+(任课教师评分)*0.2)\n\n");

printf("其它请按照提示操作即可。

\n\n");

printf("\n\n\t\t");

system("pause");

}

6)学生信息导入函数

/**************************************************

函数名:

info_daoru()

输入参数:

输出参数:

功能:

打开存放的学生信息

****************************************************/

voidinfo_daoru()//学生信息导出文件函数

{

FILE*f_info;

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,"%d%s%s%s%s",&p.number,&p.name,&p.sex,&p.addr,&p.phone);

info[count]=p;

count++;

}

printf("\n\t导入已完成!

共导入%d条记录!

\n\n\n",count);

fclose(f_info);

system("cls");

}

7)学生信息输入函数

/**************************************************

函数名:

info_input()

输入参数:

输出参数:

功能:

录入学生个人信息

****************************************************/

voidinfo_input()//学生信息输入函数

{

inti,j;

info_daoru();

for(;;){

printf("\t请输入学号(输入0退出):

");

scanf("%d",&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请输入姓名:

");//输入学生信息

scanf("%s",&p.name);

printf("\t请输入性别:

");

scanf("%s",&p.sex);

if((strcmp(p.sex,"男")!

=0)||(strcmp(p.sex,"女")!

=0))

{printf("\t你输入的内容不符合要求,请从新输入!

按任意键继续……\n");

getchar();

continue;

}

printf("\t请输入家庭地址");

scanf("%s",&p.addr);

printf("\t请输入电话号码:

");

scanf("%s",&p.phone);

info[count]=p;

for(i=0;i

if(info[i].number>info[count].number){

for(j=count;j>i;j--){

info[j]=info[j-1];

}

info[i]=p;

break;

}

}

count++;

}

}

8)输出函数

/**************************************************

函数名:

info_output()

输入参数:

输出参数:

功能:

显示学生个人信息

****************************************************/

voidinfo_output()//学生信息浏览

{

FILE*f_info;

inti;

if((f_info=fopen("info.txt","r"))==NULL){//判断

printf("\n\t没有学生信息!

");

printf("\n\n\t\t");

system("pause");

return;

}

info_daoru();

printf("\n");

if(count==0){//判断

printf("\n\t没有学生信息!

");

printf("\n\n\t\t");

system("pause");

return;

}

else{

printf("学号姓名性别家庭地址联系电话\n");//输出学生信息

for(i=0;i

printf("%d",info[i].number);

printf("%8s",info[i].name);

printf("%8s",info[i].sex);

printf("%10s",info[i].addr);

printf("%10s\n\n",info[i].phone);

}

}

printf("\t请按任意键返回上级:

");

printf("\n\n\t\t");

system("pause");

printf("\n\n\n\n");

}

9)学生信息写入文件

/**************************************************

函数名:

info_xieru()

输入参数:

输出参数:

功能:

把学生个人信息数据写入到文件

****************************************************/

voidinfo_xieru()//学生信息写入文件函数

{

FILE*f;

inti;

if((f=fopen("info.txt","w"))==NULL){

printf("\n\t打开文件失败!

\n\n");

exit(0);

}

for(i=0;i

if(info[i].number==w.number)continue;

elsefprintf(f,"%d%s%s%s%s",info[i].number,info[i].name,info[i].sex,info[i].addr,info[i].phone);

}

fclose(f);

printf("\n\t保存成功!

\n\n");

printf("\n\n\t\t");

system("pause");

system("cls");

return;

}

10)删除学生信息函数

/**************************************************

函数名:

info_del()

输入参数:

输出参数:

功能:

删除学生个人信息

****************************************************/

voidinfo_del()//学生信息删除

{

intpp;

inti,j;

info_daoru();

printf("\n\t请输入要删除学生的学号:

");

scanf("%d",&pp);

printf("\n");

for(i=0;i<=count;i++){//判断

if(info[i].number==pp)break;

if(i>=count){

printf("\n\t没有找到该学生!

\n");return;

}

}

printf("学号姓名性别地址联系电话\n");//显示删除信息

printf("%d",info[i].number);

printf("%5s",info[i].name);

printf("%5s",info[i].sex);

printf("%10s",info[i].addr);

printf("%10s\n\n",info[i].phone);

printf("\n\t是否删除?

\t1.是\t2.否\t");

while

(1){

scanf("%d",&j);

switch(j){

case1:

info[i]=w;printf("\n\t删除成功!

\n\n");info_xieru();return;

case2:

return;

default:

printf("输入错误!

请重新输入!

");break;

}

break;

}

printf("\n\n\t\t");

system("pause");

}

11)学生信息修改函数

/**************************************************

函数名:

info_xiugai()

输入参数:

输出参数:

功能:

修改学生信息

****************************************************/

voidinfo_xiugai()//修改学生信息

{

intpp;

inti,j;

info_daoru();

printf("\n\t请输入要修改学生的学号:

");//查找

scanf("%d",&pp);

printf("\n");

for(i=0;i<=count;i++){

if(info[i].number==pp)break;

}

if(i>=count){printf("\n\t没有找到该学生!

\n");return;}

printf("学号姓名性别家庭地址联系电话\n");//显示

printf("%d",info[i].number);

printf("%10s",info[i].name);

printf("%10s",info[i].sex);

printf("%16s",info[i].addr);

printf("%13s\n",info[i].phone);

printf("\n\t是否修改?

\t1.是\t2.否\t");

while

(1){//修改

scanf("%d",&j);

switch(j){

case1:

{

printf("\t学号为:

%.0d\n",info[i].number);

printf("\t请输入姓名:

");

scanf("%s",info[i].name);

printf("\t请输入性别:

");

scanf("%s",info[i].sex);

if((strcmp(p.s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1