您的当前位置:首页正文

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

2022-10-19 来源:爱站旅游
导读学生综合测评系统(C语言设计)
 .

郑州科技学院

C语言课程设计

设计(论文)题目:所 在 院:专 业 班 级:学 生 姓 名:学 号:指 导 教 师:

.

学生成绩管理系统 信息工程学院 15计算机科学与技术3班 宋建军 201515085 周丽

2016年9月11日

.

郑州科技学院

课程设计(论文)任务书

设计题目: 学生综合信息测评系统 专业班级: 15计算机科学与技术3班 学号 2015150085 宋建军 主要内容

设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。

采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。数据的存储选用数据文件方式;编辑平台选用Microsoft Visual C++ 6.0 。所用到的知识点有:三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。

基本要求:

按照内容要求,设计完整的学生成绩管理系统。要求调试通过,不存在漏洞,方便用户操作。功能的实现上力求容错能力要强且提示信息完备。

完成期限: 2016年9月11日 指导教师签名:

.

.

1 概述 ................................................................ 错误!未定义书签。

1.1

求……………………………………………………………………….1 1.2

况………………………………………………………………….1

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

2 需求分析 ............................................................................................................................................ 2 3 总体设计 ........................................................................................... 3

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

3.2学生信息处理子界面设计........................................................................ 3.3学生数据处理子界面设计………………………………………………

4 程序设计 ............................................................................................................ 错误!未定义书签。 5 程序调试 .......................................................................................... 60 6 程序评估 .......................................................................................... 60 7 参考文献 ........................................................ 错误!未定义书签。

.

.

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 ) 开发环境

Microsoft Visual C++ 6.0

2 需求分析

为什么要做个学生综合测评系统。 以下有几点理由

1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。 这就让一个学生的综合测评系统的建立显得尤为重要。

2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。 3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。

4现在是个时间就是金钱的社会。老师本身就工作繁忙。这系统可以大大减轻

.

.

老师的包袱。

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

3 总体设计 1) 程序主界面设计

学 生 信 息 处 主界面 理数据处理系统综合信息输出退出

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

.

学生信息处理 .

输入学生信息修改学生信息删除学生信息浏览学生信息返回

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

录 入 成 绩

学生数据处理 修改学生数据学生数据查询返回

4 ) 主菜单程序流程图

开始 .

主菜单 .

是 i=0?

是 info-menu I=1?

否 是 I=2?

否 是

shuchu I=3

是 Help

4 程序设计

1)主界面程序设计

(1)函数描述

.

.

输入参数:无 输出参数:无

功 能:本系统可以存储学生的基本信息和各科成绩,并能计算考试

成绩,综合测评成绩和排名。

(2)函数程序

int main() {

system(\"color 2e\");

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

printf(\"\\n\\n\\\"); system(\"pause\");

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

return 0 ;

2)学生信息处理子菜单

.

.

(1) 函数描述

函 数 名 : info_menu() 输入参数 :无 输出参数 :无

功 能 :显示学生信息处理系统菜单 (2) 函数程序

void //学生信息菜单 { 屏

printf(\"\\n\\n\\n\\n\\☆☆☆☆☆学生信息处理系统☆☆☆☆☆int choice; while(1){

system(\"cls\"); //清

info_menu()

\\n\\n\");

printf(\"\\\● 1.输入学生信息\\n\"); printf(\"\\\● 2.修改学生信息\\n\"); printf(\"\\\● 3.删除学生信息\\n\");

.

.

printf(\"\\\● 4.浏览学生信息\\n\"); printf(\"\\\● 0.返回主菜单\\n\\n\"); printf(\"\\请输入序号选择操作:\"); scanf(\"%d\

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_output(); break;

default:system(\"cls\"); printf(\"\\n\输入有误!请重新输

入!\\n\\n\"); break; }

}

}

.

.

3)学生数据处理子菜单 (1) 函数描述

函 数 名: data_menu() 输入参数 :无 输出参数:无

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

(2) 函数程序

Void

//数据处理菜单 {

int choice;

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

data_menu()

成!\\n\");

printf(\"\\n\输入数字选择(0:返回;其它数字继续。)\\n\"); scanf(\"%d\if(choice==0) return;

.

.

while(1){

system(\"cls\"); //清

printf(\"\\n\\n\\n\\n\\☆☆☆☆☆学生数据处理系统☆☆☆☆☆

\\n\\n\");

printf(\"\\\● 1.录入成绩数据\\n\"); printf(\"\\\● 2.修改学生数据\\n\"); printf(\"\\\● 3.学生数据查询\\n\"); printf(\"\\\● 0.返回主菜单\\n\\n\"); printf(\"\\请输入序号选择操作:\"); scanf(\"%d\

if(choice==0) break;

switch(choice){

case 1: system(\"cls\");data_input(); break;

case 2: system(\"cls\");data_xiugai(); break; case 3: system(\"cls\");data_chaxun(); break;

default: system(\"cls\");printf(\"\\n\输入有误!请重新输

入!\\n\\n\"); break;

.

.

}

}

}

4)学生综合信息输出 (1) 函数描述

函 数 名 : shuchu() 输入参数 :无 输出参数 :无

功 能 :学生信息的综合输出

(2)函数程序

void shuchu() 合信息输出 { int i;

data_daoru();

printf(\"\\n\");

.

//学生综 .

printf(\" ____________ ____________ ________________ ___________

___________ __________ \\n\");

printf(\" 学号 平均分

名次 测评总分\\n\");

printf(\" ____________ ____________ ________________ ___________

___________ __________ \\n\");

for(i=0;iprintf(\"|%10d %10s %14s %10.1f %10d %10.1f

\\n\ksmc,data[i].ceping);

printf(\"|____________|____________|________________|___________|___

________|__________|\\n\");

}

printf(\"\\n\\n\\\"); system(\"pause\"); printf(\"\\n\");

.

.

}

5)帮助函数

/************************************************** 函数名 : help() 输入参数:无 输出参数:无

功能 :显示本系统的信息

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

void help() //帮助信息 {

system(\"cls\"); //清屏

printf(\"\\n\");

.

printf(\"\\\学生综合测评系统!\\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\"); }

6)学生信息导入函数

/************************************************** 函数名 : info_daoru() 输入参数:无

.

printf(\" 其它请按照提示操作即可。\\n\\n\"); printf(\"\\n\\n\\\"); system(\"pause\");

.

输出参数:无

功能 :打开存放的学生信息

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

void info_daoru() 息导出文件函数 { FILE *f_info;

printf(\"\\n\\n\正在导入...\\n\\n\");

if((f_info=fopen(\"info.txt\ printf(\"\\n\打开文件失败!\\n\\n\"); return;

}

count=0; while(!feof(f_info)){

.

//学生信 .

fscanf(f_info,\"%d %s %s %s %s

\ }

7)学生信息输入函数

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

函数名 : info_input() 输入参数:无 输出参数:无

功能 :录入学生个人信息

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

}

printf(\"\\n\导入已完成!共导入 %d 条记录!\\n\\n\\n\fclose(f_info); system(\"cls\");

info[count]=p; count++;

.

.

void info_input() //学生信息输入函数 {

int i,j;

info_daoru(); for( ; ; ){ printf(\"\请输入学号(输入0退出):\"); scanf(\"%d\ if(p.number==0) return;

for(i=0;i<=count;i++){ 是否存在该学生 if(p.number==info[i].number){ printf(\"\\n\\n\该学号已存在!请重新输入!\\n\\n\"); return;

}

}

printf(\"\请输入姓名:\"); .

//判断

//输入

.

学生信息

if( ( strcmp(p.sex ,\"男\")!=0 ) || (strcmp(p.sex ,\"女\")!=0) ) { printf(\"\你输入的内容不符合要求,请从新输入!按任意键继

scanf(\"%s\printf(\"\请输入性别:\"); scanf(\"%s\

续……\\n\");

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

scanf(\"%s\printf(\"\请输入电话号码:\"); scanf(\"%s\info[count]=p;

for(i=0;igetchar(); }

continue;

.

.

学号排序

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

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

8)输出函数

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

函数名 : info_output()

.

}

}

}

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

} info[i]=p; break;

count++;

.

输入参数:无 输出参数:无

功能 :显示学生个人信息

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

void info_output() { FILE *f_info; int i;

if((f_info=fopen(\"info.txt\ //判断 printf(\"\\n\没有学生信息!\");

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

system(\"pause\");

return;

.

//学生信息浏览 .

}

info_daoru();

printf(\"\\n\");

if(count==0){

//判断

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

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

system(\"pause\");

return;

}

else{

printf(\" 学号 性别 //输出学生信息 for(i=0;iprintf(\" %10s\

.

家庭地址 联系电话\\n\");

.

}

}

}

printf(\" %10s\\n\\n\

printf(\"\请按任意键返回上级:\"); printf(\"\\n\\n\\\"); system(\"pause\"); printf(\"\\n\\n\\n\\n\");

9)学生信息写入文件

/************************************************** 函数名 : info_xieru() 输入参数:无 输出参数:无

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

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

.

.

void info_xieru() //学生信息写入文件函数 { FILE *f;

int i; if((f=fopen(\"info.txt\ printf(\"\\n\打开文件失败!\\n\\n\"); exit(0); }

for(i=0;iif(info[i].number==w.number) continue;

else

fprintf(f,\"%d

%s

%s

\

.

//保存文%s

%s

.

} fclose(f);

printf(\"\\n\保存成功!\\n\\n\"); printf(\"\\n\\n\\\"); system(\"pause\");

system(\"cls\"); }

10)删除学生信息函数

/************************************************** 函数名 : info_del() 输入参数:无 输出参数:无

功能 :删除学生个人信息

.

return;

.

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

void info_del() //学生信息删除 { int pp;

int i,j; info_daoru();

printf(\"\\n\请输入要删除学生的学号:\"); scanf(\"%d\ printf(\"\\n\");

for(i=0;i<=count;i++){ if(info[i].number==pp) break; if(i>=count){ printf(\"\\n\没有找到该学生!\\n\"); return;

}

}

.

//判断 .

printf(\"学号 性别 地址 联系电话\\n\"); //显

示删除信息

printf(\" %d \printf(\" %5s \printf(\" %5s \

printf(\" %10s \

printf(\" %10s\\n\\n\printf(\"\\n\是否删除?\ 1.是 \ 2.否 \ \"); while(1){

scanf(\"%d\switch(j){

case 1: info[i]=w; printf(\"\\n\删除成功!\\n\\n\"); info_xieru(); return;

case 2: return;

default : printf(\"输入错误!请重新输入!\");break;

}

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

} break;

.

.

system(\"pause\"); }

11)学生信息修改函数

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

函数名 : info_xiugai() 输入参数:无 输出参数:无

功能 :修改学生信息

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

void info_xiugai() { int pp; int i,j; info_daoru();

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

scanf(\"%d\

.

//修改学生信息 //查找 .

printf(\"\\n\");

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

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

}

if(i>=count) {printf(\"\\n\没有找到该学生!\\n\"); return;} printf(\"学号 性别 家庭地址 联系电话\\n\"); 示 printf(\" %d\ printf(\" %10s\ printf(\" %10s\ printf(\" %16s\ printf(\" %13s\\n\

printf(\"\\n\是否修改?\ 1.是 \ 2.否 \ \");

while(1){

scanf(\"%d\ switch(j){

case 1:{

.

//显

//修改

.

printf(\"\学号为:%.0d\\n\printf(\"\请输入姓名:\");

scanf(\"%s\ printf(\"\请输入性别:\");

scanf(\"%s\

if( ( strcmp(p.sex ,\"男\")!=0 ) || (strcmp(p.sex ,\"女\")!=0) ) { printf(\"\你输入的内容不符合要求,请从新输入!按任

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

getch();

continue;

}

printf(\"\请输入家庭地址\"); scanf(\"%s\printf(\"\请输入电话号码:\"); scanf(\"%s\

printf(\"\\n\修改成功!\\n\\n\"); info_xieru(); return; //

保存

}

.

.

case 2: return;

default : printf(\"输入错误!请重新输入!\");break;

}

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

} break;

system(\"pause\"); }

12)学生成绩数据导入

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

函数名 : data_daoru() 输入参数:无 输出参数:无

功能 :学生成绩从文件导入

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

.

.

void data_daoru() //学生数据导出 {

FILE *f_data;

int i;

info_daoru(); printf(\"\\n\\n\正在导入...\\n\\n\");

if((f_data=fopen(\"data.txt\ printf(\"\\n\打开文件失败!\\n\\n\"); return;

}

i=0;

while(!feof(f_data)){

fscanf(f_data,\"%d %d %d %d .

%f %d %d %d %d %f

.

\nde,&d.teacher,&d.ceping); data[i]=d; i++;

}

printf(\"\\n\导入已完成!共导入 %d 条记录!\\n\\n\\n\

fclose(f_data); system(\"cls\");

}

13)数据写入

/************************************************** 函数名 : data_xieru() 输入参数:无 输出参数:无

功能 :学生数据写入到文件

.

//关闭文件 .

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

void data_xieru() //写入文件函数 { FILE *f;

int i; if((f=fopen(\"data.txt\ printf(\"\\n\打开文件失败!\\n\\n\"); exit(0);

}

for(i=0;ifprintf(f,\"%d

%d

%d

%d

.

%f

%d

%d

%d

%d

%f

.

\mc,data[i].huping ,data[i].pinde,data[i].teacher,data[i].ceping);

} fclose(f); printf(\"\\n\\n\\\"); system(\"pause\");

system(\"cls\"); }

14)数据输入函数

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

函数名 : data_input() 输入参数:无 输出参数:无

return;

.

.

功能 :录入学生数据

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

void data_input() { FILE *f_info; int choice,i,k;

//printf(\"\\n\警告!原有成绩将被覆盖!\\n\"); printf(\"\\n\输入数字选择(0.返回;其余数字继续)\\n\\n\"); scanf(\"%d\ if(choice==0) return;

printf(\"\\n\\n\正在导入...\\n\\n\"); if((f_info=fopen(\"info.txt\ printf(\"\\n\打开文件失败!\\n\\n\"); return;

}

.

//数据输入

//判断 .

count=0;

while(!feof(f_info)){ //导出学生信息

for(i=0;i//输入学

}

printf(\"\\n\导入已完成!共导入 %d 条记录!\\n\\n\\n\fclose(f_info);

fscanf(f_info,\"%d %s %s %s %s \data[count].number =p.number ; info[count]=p; count++;

生数据

printf(\"\学号:%d\\n\ printf(\"\\n\");

printf(\"\姓名:%s\\n\printf(\"\\n\");

.

.

printf(\"\请输入语文成绩:\"); scanf(\"%d\

while( data[i].chinese < 0 || data[i].chinese > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确的

数值!\\n\");

printf(\"\请输入语文成绩:\"); scanf(\"%d\ }

printf(\"\\n\");

printf(\"\请输入数学成绩:\"); scanf(\"%d\

while( data[i].math < 0 || data[i].math > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确

的数值!\\n\");

printf(\"\请输入数学成绩:\"); scanf(\"%d\ }

printf(\"\\n\");

.

.

printf(\"\请输入英语成绩:\"); scanf(\"%d\

while( data[i].english < 0 || data[i].english > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确的

数值!\\n\");

printf(\"\请输入英语成绩:\");

}

printf(\"\\n\");

printf(\"\请输入同学互评成绩:\"); scanf(\"%d\scanf(\"%d\

while( data[i].huping < 0 || data[i].huping > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确的

数值!\\n\");

}

printf(\"\\n\");

printf(\"\请输入同学互评成绩:\"); scanf(\"%d\

.

.

printf(\"\请输入品德成绩:\"); scanf(\"%d\

while( data[i].pinde < 0 || data[i].pinde > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确的

数值!\\n\");

printf(\"\请输入品德成绩:\");

}

printf(\"\\n\");

printf(\"\请输入老师评分:\"); scanf(\"%d\

while( data[i].teacher < 0 || data[i].teacher > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输入真确的

scanf(\"%d\

数值!\\n\");

printf(\"\请输入老师评分:\");

}

scanf(\"%d\

.

.

data[i].avg=(data[i].chinese+data[i].math+data[i].english)/3.0;

data[i].ceping=(data[i].avg*0.6+data[i].huping*0.1

+data[i].pinde*0.1+data[i].teacher*0.2);

data[i].ksmc=i+1;

for(k=0;kif(data[i].avg>data[k].avg){

data[k].ksmc=data[k].ksmc+1; if(data[i].ksmc>data[k].ksmc-1)

data[i].ksmc=data[k].ksmc-1;

}

}

}

printf(\"\\n\输入已完成!正在保存... \\n\"); data_xieru(); system(\"cls\");

.

//名次排 .

}

15)数据修改

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

函数名 : data_xiugai() 输入参数:无 输出参数:无

功能 :学生成绩数据的修改

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

void data_xiugai() { int pp; int i,j,k; data_daoru();

printf(\"\\n\请输入要修改学生的学号:\"); scanf(\"%d\

printf(\"\\n\");

.

//数据修改 .

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

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

分:%d\\n\\n\h,data[i].pinde,data[i].teacher);

printf(\"\\n\是否修改?\ 1.是 \ 2.否 \ \"); while(1){

scanf(\"%d\switch(j){ case 1:{

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

//询问

printf(\"\\n\学号:%.0d :%s \\n\\n\语文:%d 数学:%d 英语:%d 品德成绩:%d 老师 }

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

//重新排名次

.

if(data[i].avg>data[k].avg) data[k].ksmc=data[k].ksmc-1;

.

}

printf(\"\\n\请输入语文成绩:\"); scanf(\"%d\

while( data[i].chinese < 0 || data[i].chinese > 100 ) { printf(\"\对不起你输入的数据不是 1-100 之间,请从新输

入真确的数值!\\n\");

printf(\"\请输入数学成绩:\"); scanf(\"%d\

while( data[i].math < 0 || data[i].math > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输

printf(\"\请输入老师评分:\"); scanf(\"%d\}

入真确的数值!\\n\");

}

printf(\"\请输入数学成绩:\"); scanf(\"%d\

.

.

printf(\"\请输入英语成绩:\"); scanf(\"%d\

while( data[i].english < 0 || data[i].english > 100 ) {

printf(\"\对不起你输入的数据不是 1-100 之间,请从新

输入真确的数值!\\n\"); printf(\"\请输入英语成绩:\"); scanf(\"%d\

}

printf(\"\\n\请输入同学互评成绩:\");

scanf(\"%d\ while( data[i].huping < 0 || data[i].huping > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输

入真确的数值!\\n\");

printf(\"\请输入同学互评成绩:\");

scanf(\"%d\

}

printf(\"\\n\请输入品德成绩:\");

scanf(\"%d\

.

.

while( data[i].pinde < 0 || data[i].pinde > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输

入真确的数值!\\n\");

printf(\"\请输入品德成绩:\"); scanf(\"%d\}

printf(\"\请输入老师评分:\"); scanf(\"%d\

while( data[i].teacher < 0 || data[i].teacher > 100 )

{ printf(\"\对不起你输入的数据不是 1-100 之间,请从新输

入真确的数值!\\n\");

printf(\"\请输入老师评分:\"); scanf(\"%d\}

data[i].avg=(data[i].chinese+data[i].math+data[i].english)/3.0; data[i].ceping=(data[i].avg*0.6+data[i].huping

*0.1+

data[i].pinde*0.1+data[i].teacher*0.2);

data[i].ksmc=count;

.

.

for(k=0;k//重新排名次

if(data[i].avg>data[k].avg){ data[k].ksmc=data[k].ksmc+1; if(data[i].ksmc>data[k].ksmc-1)

data[i].ksmc=data[k].ksmc-1;

}

}

printf(\"\\n\修改成功!\\n\\n\"); data_xieru(); //写入文件

}

case 2: return;

default : printf(\"输入错误!请重新输入!\");break;

} break;

}

.

return;

.

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

system(\"pause\"); }

16)数据查询

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

函数名 : data_chaxun() 输入参数:无 输出参数:无

功能 :学生数据的查询

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

void data_chaxun() {

int pp; charame[20];

int i,xz;

.

//数据查询 .

data_daoru(); //导出文件数据 printf(\"\请输入查询方式:\\n\\n\");

printf(\"\1.学号查询方式\\n\\n\");

printf(\"\2.姓名查询方式\\n\\n\"); printf(\"\请选择:\");

scanf(\"%d\ if(xz==1)

.

{

printf(\"\\n\请输入要查询学生的学号:\"); scanf(\"%d\printf(\"\\n\");

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

if(data[i].number==pp) break; if(i>=count){ }

printf(\"\\n\没有找到该学生!\\n\"); return;

.

}

printf(\"\\n\学号:%d :%s 性别:%s \\n\\n\语文:%d 数学:%d 英语:%d 平均成

绩:%.1f名次:%d\\n\\n\同学互评:%d 品德成绩:%d 老师评分:%d \\n\\n\综合成绩:%.1f\\n\\n\a[i].english,data[i].avg,data[i].ksmc,data[i].huping ,data[i].pinde,data[i].teacher,data[i].ceping);

}

printf(\"\\n\\n\\\"); system(\"pause\"); return;

else

.

{

printf(\"\\n\请输入要查询学生的姓名:\"); scanf(\"%s\printf(\"\\n\");

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

if(strcmp(info[i].name,cname) ==0 ) {

.

printf(\"\\n\学号:%d :%s 性别:%s \\n\\n\语文:%d 数学:%d 英

语:%d 平均成绩:%.1f名次:%d\\n\\n\同学互评:%d 品德成绩:%d 老师评分:%d \\n\\n\

绩:%.1f\\n\\n\a[i].english,data[i].avg,data[i].ksmc,data[i].huping ,data[i].pinde,data[i].teacher,data[i].ceping);

.

}

}

printf(\"\\n\\n\\\"); system(\"pause\"); return;

if(i>=count){ }

printf(\"\\n\没有找到该学生!\\n\"); system(\"pause\"); return;

.

}

system(\"pause\");

}

17)使用到的结构体 (1) 学生信息结构体

struct student{ //定义学生信息结构数组 int number; char name[11]; char sex[4]; char addr[16]; char phone[14];

}

(2) 学生数据结构体

struct data{ 义学生数据结构数组

.

//定

.

int number; }

int chinese,math,english,ksmc,huping,pinde,teacher; float avg,ceping;

5 程序调试

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6程序评估

很高兴,老师给了我们这个锻炼自己的机会。团队每个人一致认为这次的实训意义非凡。通过这一次实训,我们小组有以下几点收获:

一,我们真真切切体会到团队的力量。一个团队经过分工合作,可以把一个看似很庞大的工程简单化,然后很轻松,有效率地完成。

二,然而,人多就意味着思想会不统一,会产生分歧。而这时一个精明的领导者就显得那么的重要,他会协调,而后统一我们的思想,把我们领到正确的道路上。

三,我们明白做任何事之前都要对事情有个大体的规划,列好框架,处理好主次关系,然后按计划,有序地进行。

四,编程是个细心活。都说细节决定成败,这次我们算是有很深刻的体会。一个拼写错误的符号,有时会白白浪费我们一个下午的时间。而这其中也慢慢地磨练了我们的耐心。

7 参考文献

《C课程设计》 (第三版.谭浩强) 《Visual C++程序设计培训教程》

.

因篇幅问题不能全部显示,请点此查看更多更全内容