学生综合测评系统C语言设计完整版
- 格式:docx
- 大小:38.79 KB
- 文档页数:21
C语言综合性实验设计一、实验目的1.熟悉C语言基本语法和控制结构。
2.掌握C语言的函数定义和调用。
3.练习使用C语言编程实现对数据的读取、处理和输出。
4.提高问题分析与解决能力。
二、实验内容设计一个简单的学生成绩管理系统,实现以下功能:1.输入学生的姓名、学号、语文、数学和英语成绩。
2.计算学生的总分和平均分。
3.输出所有学生的姓名、学号、语文、数学、英语、总分和平均分。
4.输出成绩排名。
三、实验要求1.使用结构体存储学生信息。
2.使用数组存储学生数据。
3.实现输入函数、计算函数、输出函数和排名函数。
4.完善的错误处理机制,如输入非法数据、输入超出范围数据等。
5.使用文件读取和保存学生信息。
6.要求编写详细的注释,以提高代码可读性。
四、实验流程1.定义结构体类型,用于存储学生信息。
2.定义全局变量和数组,保存学生数据。
3.编写输入函数,实现对学生信息的输入。
4.编写计算函数,计算学生的总分和平均分。
5.编写输出函数,打印学生信息。
6.编写排名函数,实现按照总分排名。
7.编写文件读取和保存函数,保存学生信息到文件。
8.编写主函数,实现整个程序的流程控制。
五、实验代码示例```c#include <stdio.h>#include <string.h>#define MAX_STUDENT 100typedef structchar name[20];int id;int chinese;int math;int english;int total;double average;} Student;Student students[MAX_STUDENT];int num = 0;void inpuprintf("请输入学生的姓名、学号、语文、数学和英语成绩:\n");scanf("%s %d %d %d %d", students[num].name,&students[num].id, &students[num].chinese, &students[num].math, &students[num].english);students[num].total = students[num].chinese +students[num].math + students[num].english;students[num].average = students[num].total / 3.0;num++;void calculatfor (int i = 0; i < num; i++)students[i].total = students[i].chinese + students[i].math + students[i].english;students[i].average = students[i].total / 3.0;}void outpuprintf("姓名\t学号\t语文\t数学\t英语\t总分\t平均分\n");for (int i = 0; i < num; i++)printf("%s\t%d\t%d\t%d\t%d\t%d\t%.2lf\n", students[i].name, students[i].id, students[i].chinese, students[i].math,students[i].english, students[i].total, students[i].average);}void ranfor (int i = 0; i < num; i++)for (int j = 0; j < num - 1 - i; j++)if (students[j].total < students[j + 1].total)Student temp = students[j];students[j] = students[j + 1];students[j + 1] = temp;}}}void saveToFilFILE *file = fopen("students.txt", "w");for (int i = 0; i < num; i++)fprintf(file, "%s %d %d %d %d %d %.2lf\n", students[i].name, students[i].id, students[i].chinese, students[i].math,students[i].english, students[i].total, students[i].average);}fclose(file);int maiint choice;while (1)printf("成绩管理系统\n");printf("1. 输入学生信息\n");printf("2. 计算学生成绩\n");printf("3. 输出学生成绩\n");printf("4. 排名\n");printf("5.保存文件\n");printf("0. 退出\n");printf("请输入选项:");scanf("%d", &choice);switch (choice) case 1:input(;break;case 2: calculate(; break;case 3:output(; break;case 4:rank(;output(; break;case 5: saveToFile(; break;case 0:return 0;default:printf("无效选项,请重新输入。
学生综合测评系统C设计报告新编上海电力学院《高级程序设计C++》课程设计题目:学生综合测评系统院系:计算机科学与技术学院专业年级:计算机科学与技术学生姓名:学号:指导教师:2013年1月目录1.需求分析本系统旨在便于学校管理和查阅学生信息并计算学生的考试成绩和名次以及综合测评成绩和名次。
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、高等数学、物理、英语三门单科成绩、、同学互评分、品德成绩、任课教师评分。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%o程序的基本功能:1.学生信息处理:(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
(2)插入(修改)同学信息。
(3)删除同学信息。
(4)浏览学生信息。
2.学生数据处理:(1)按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次。
(2)学生测评数据输入并计算综合测评总分及名次。
(3)学生数据管理。
(4)学生数据查询。
3.学生综合信息输出2.概要设计根据需求分析中的描述,知道需要一个帐户类型,由于基本数据类型无法实现将一个用户的信息绑定在一起,所以需要定义一个抽象数据类型帐户,命名为Student,其定义如下:class Studentpublic:int num;um>>stud[i]. name»stud[iZ. sex»studLiJ. address»stud[i]. phone»stud[i.. english»stud[i]. math»stud[i]. physics»stud[i]. grade 1»stud[i]. grade2»stud[i]. grade3;i++;)while(!());0;cout<〈〃读取成功Vendl;}以上为读取文件中学生信息的函数,当信息成功读取后才可进行修改或添加或删除,所以在许多外部函数里面都必须要有读取函数的功能为前提。
C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。
二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。
三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。
四、输出全部学生信息和全部学生成绩。
五、退出系统。
六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找.总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩.3、插入模块:可用insert( )函数来实现.其中通过学号的大小来比较的,并且以此来排序。
4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计. 主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h"#include"stddef。
计算机程序设计(C语言)课程设计报告题目:学生成绩综合管理系统学院:专业:班级:姓名:指导教师:设计日期:一、选题背景(题目简述或目的)每次考试之后,想必老师处理学生成绩的任务一定很繁重,通过本学期学习C语言课程,为了进一步了解这方面的知识,因此,自己编写了一个简易的考试成绩综合管理系统,从而来锻炼自己计算机编程的能力。
二、设计思路本程序由主函数组成,本程序定义了结构体类型,在主函数中调用其各个成员项进行赋值及输出。
首先,进行学生个人信息及成绩的登记。
其次,通过对学生各门科目成绩的逻辑运算(即各门科目成绩均达到及格含及格,才可通过考试),从而判断是否可以通过考试。
然后,通过switch语句进行科目选择,用冒泡法对单科进行选择排序,并再次通过switch语句进行单人选择,输出其个人信息及各科成绩。
最后,对程序继续运行或终止进行逻辑判断,当输入“1”时,重新返回switch开关进行查询,当输入“0”时,结束本程序。
三、主要解决问题的方法及技术关键本程序主要运用了宏定义、结构体及结构体嵌套,在主函数中调用学生个人信息及各科成绩、for循环以及scanf、printf语句进行对学生个人信息及成绩的赋值和输出。
运用if-else语句进行对学生是否通过考试、程序终止或继续运行的判断。
利用switch-case 语句进行查找某一学生各科成绩,。
利用goto 语句,返回到switch-case,实现多次循环switch-case语句操作,从而可进行多次查找信息。
四、程序流程图五、程序清单#include<stdio.h>#define NAMESIZE 20#define N 8struct subject{float YY;float SX;float HX;float ZZ;char pass;};struct student{int age;char name[NAMESIZE];char sex[2];struct subject s;};struct student std[8];void main(){int i;int j;int d;int num;int k;struct student change;int u,v,w,x;int letter;for(i=0;i<N;i++) /*循环输入输出数组元素*/{printf("%d\n",i+1);printf("name: sex: \n");scanf("%s%s",std[i]. name,std[i].sex);printf("YY: SX: HX: ZZ:\n");scanf("%f%f%f%f",&std[i].s.YY,&std[i].s.SX,&std[i].s.HX,&std[i].s.ZZ);};for(k=0;k<8;k++) /* 判断学生是否通过考试*/{if(std[k].s.YY>=60) u=1;if(std[k].s.SX>=60) v=1;if(std[k].s.HX>=60) w=1;if(std[k].s.ZZ>=60) x=1;if(u&&v&&w&&x==1) std[k].s.pass='Y';else std[k].s.pass='N';printf("NAME:%s\tPASS:%c\n",std[k].name,std[k].s.pass);}loop:printf("Please input first letter.(Y=1,S=2,H=3,Z=4)\n");scanf("%d",&letter);switch(letter) /*科目选择*/{case 1:{ /*英语成绩排序(大-小)*/ for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if(std[i].s.YY<std[j].s.YY){change=std[i];std[i]=std[j];std[j]=change;};printf("The result after sorting (YY)\n");for(i=0;i<N;i++) /*进入for循环输出排序结果*/printf("NAME:%s\tSEX:%s\tYY:%f\n",std[i].name,std[i].sex,std[i].s.YY);printf("Please input 1 to 8\n");scanf("%d",&num);switch(num) /*单人选择*/{ /*排名为n的学生的各科成绩*/case 1:printf("NAME:%s\tSEX:%s\n",std[0].name,std[0].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[0].s.YY,&std[0].s.SX,std[0].s.HX,std[0].s.Z Z); break;case 2:printf("NAME:%s\tSEX:%s\n",std[1].name,std[1].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[1].s.YY,std[1].s.SX,std[1].s.HX,std[1].s.ZZ); break;case 3:printf("NAME:%s\tSEX:%s\n",std[2].name,std[2].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[2].s.YY,std[2].s.SX,std[2].s.HX,std[2].s.ZZ); break;case 4:printf("NAME:%s\tSEX:%s\n",std[3].name,std[3].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[3].s.YY,std[3].s.SX,std[3].s.HX,std[3].s.ZZ);break;case 5:printf("NAME:%s\tSEX:%s\n",std[4].name,std[4].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[4].s.YY,std[4].s.SX,std[4].s.HX,std[4].s.ZZ); break;case 6:printf("NAME:%s\tSEX:%s\n",std[5].name,std[5].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[5].s.YY,std[5].s.SX,std[5].s.HX,std[5].s.ZZ); break;case 7:printf("NAME:%s\tSEX:%s\n",std[6].name,std[6].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[6].s.YY,std[6].s.SX,std[6].s.HX,std[6].s.ZZ); break;case 8:printf("NAME:%s\tSEX:%s\n",std[7].name,std[7].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[7].s.YY,std[7].s.SX,std[7].s.HX,std[7].s.ZZ); break;default: break;}break;}case 2:{ /*数学成绩排序*/for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if(std[i].s.SX<std[j].s.SX){change=std[i];std[i]=std[j];std[j]=change;};printf("The result after sorting (SX)\n");for(i=0;i<N;i++)printf("NAME:%s\tSEX:%s\tSX:%f\n",std[i].name,std[i].sex,std[i].s.SX);printf("Please input 1 to 8\n");scanf("%d",&num);switch(num) /*数学成绩排名为n的学生各科成绩*/{case 1:printf("NAME:%s\tSEX:%s\n",std[0].name,std[0].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[0].s.YY,std[0].s.SX,std[0].s.HX,std[0].s.ZZ); break;case 2:printf("NAME:%s\tSEX:%s\n",std[1].name,std[1].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[1].s.YY,std[1].s.SX,std[1].s.HX,std[1].s.ZZ); break;case 3:printf("NAME:%s\tSEX:%s\n",std[2].name,std[2].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[2].s.YY,std[2].s.SX,std[2].s.HX,std[2].s.ZZ); break;case 4:printf("NAME:%s\tSEX:%s\n",std[3].name,std[3].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[3].s.YY,std[3].s.SX,std[3].s.HX,std[3].s.ZZ); break;case 5:printf("NAME:%s\tSEX:%s\n",std[4].name,std[4].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[4].s.YY,std[4].s.SX,std[4].s.HX,std[4].s.ZZ); break;case 6:printf("NAME:%s\tSEX:%s\n",std[5].name,std[5].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[5].s.YY,std[5].s.SX,std[5].s.HX,std[5].s.ZZ); break;case 7:printf("NAME:%s\tSEX:%s\n",std[6].name,std[6].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[6].s.YY,std[6].s.SX,std[6].s.HX,std[6].s.ZZ); break;case 8:printf("NAME:%s\tSEX:%s\n",std[7].name,std[7].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[7].s.YY,std[7].s.SX,std[7].s.HX,std[7].s.ZZ); break;default: break;}break;}case 3:{ /*化学成绩排序*/for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if(std[i].s.HX<std[j].s.HX){change=std[i];std[i]=std[j];std[j]=change;};printf("The result after sorting (HX)\n");for(i=0;i<N;i++)printf("NAME:%s\tSEX:%s\tHX:%f\n",std[i].name,std[i].sex,std[i].s.HX);printf("Please input 1 to 8\n");scanf("%d",&num);switch(num) /*化学成绩为n的学生各科成绩*/{case 1:printf("NAME:%s\tSEX:%s\n",std[0].name,std[0].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[0].s.YY,std[0].s.SX,std[0].s.HX,std[0].s.ZZ); break;case 2:printf("NAME:%s\tSEX:%s\n",std[1].name,std[1].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[1].s.YY,std[1].s.SX,std[1].s.HX,std[1].s.ZZ); break;case 3:printf("NAME:%s\tSEX:%s\n",std[2].name,std[2].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[2].s.YY,std[2].s.SX,std[2].s.HX,std[2].s.ZZ); break;case 4:printf("NAME:%s\tSEX:%s\n",std[3].name,std[3].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[3].s.YY,std[3].s.SX,std[3].s.HX,std[3].s.ZZ); break;case 5:printf("NAME:%s\tSEX:%s\n",std[4].name,std[4].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[4].s.YY,std[4].s.SX,std[4].s.HX,std[4].s.ZZ); break;case 6:printf("NAME:%s\tSEX:%s\n",std[5].name,std[5].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[5].s.YY,std[5].s.SX,std[5].s.HX,std[5].s.ZZ); break;case 7:printf("NAME:%s\tSEX:%s\n",std[6].name,std[6].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[6].s.YY,std[6].s.SX,std[6].s.HX,std[6].s.ZZ); break;case 8:printf("NAME:%s\tSEX:%s\n",std[7].name,std[7].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[7].s.YY,std[7].s.SX,std[7].s.HX,std[7].s.ZZ); break;default:break;} break;}case 4:{ for(i=0;i<N-1;i++) /*政治成绩排序*/for(j=i+1;j<N;j++)if(std[i].s.ZZ<std[j].s.ZZ){change=std[i];std[i]=std[j];std[j]=change;};printf("The result after sorting (ZZ)\n");for(i=0;i<N;i++)printf("NAME:%s\tSEX:%s\tZZ:%f\n",std[i].name,std[i].sex,std[i].s.ZZ);printf("Please input 1 to 8\n");scanf("%d",&num);switch(num) /*政治排名为n的学生的各科成绩*/{case 1:printf("NAME:%s\tSEX:%s\n",std[0].name,std[0].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[0].s.YY,std[0].s.SX,std[0].s.HX,std[0].s.ZZ); break;case 2:printf("NAME:%s\tSEX:%s\n",std[1].name,std[1].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[1].s.YY,std[1].s.SX,std[1].s.HX,std[1].s.ZZ); break;case 3:printf("NAME:%s\tSEX:%s\n",std[2].name,std[2].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[2].s.YY,std[2].s.SX,std[2].s.HX,std[2].s.ZZ); break;case 4:printf("NAME:%s\tSEX:%s\n",std[3].name,std[3].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[3].s.YY,std[3].s.SX,std[3].s.HX,std[3].s.ZZ); break;case 5:printf("NAME:%s\tSEX:%s\n",std[4].name,std[4].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[4].s.YY,std[4].s.SX,std[4].s.HX,std[4].s.ZZ); break;case 6:printf("NAME:%s\tSEX:%s\n",std[5].name,std[5].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[5].s.YY,std[5].s.SX,std[5].s.HX,std[5].s.ZZ); break;case 7:printf("NAME:%s\tSEX:%s\n",std[6].name,std[6].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[6].s.YY,std[6].s.SX,std[6].s.HX,std[6].s.ZZ); break;case 8:printf("NAME:%s\tSEX:%s\n",std[7].name,std[7].sex);printf("YY=%f\tSX=%f\tHX=%f\tZZ=%f\n",std[7].s.YY,std[7].s.SX,std[7].s.HX,std[7].s.ZZ); break;default: break;}break;}default:break;}printf("1=go on,0=end\n"); /*判断程序继续或终止*/scanf("%d",&d);if(d==1)goto loop;elseif(d==0)printf("THANKS FOR YOUR USING!SEE YOU NEXT TIME!\n");}六、设计结果说明(分析设计优点与不足、存在的问题及改进的思路或方法)本次设计的程序能够准确的查找学生的个人、各科成绩,能够实现成绩排序,并且能够多次循环查找,但程序内容不够简单明了,所形成的结果不能够进行存储,并且无法进行模糊搜索。
c 课程设计测评系统一、教学目标本课程旨在让学生掌握C语言编程的基础知识,培养学生运用C语言进行程序设计的能力。
具体目标如下:1.知识目标:–理解C语言的基本语法和数据类型。
–掌握函数的定义和调用。
–熟悉常用的运算符及其用法。
–了解程序的编译和运行过程。
2.技能目标:–能够编写简单的C语言程序,解决实际问题。
–具备调试和优化程序的能力。
–掌握基本的算法和数据结构。
3.情感态度价值观目标:–培养学生对编程的兴趣,激发创新精神。
–培养学生的团队合作意识和沟通能力。
–增强学生的问题解决能力和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、函数、运算符和程序设计的基本概念。
具体安排如下:1.第一章:C语言概述–了解C语言的历史和发展。
–熟悉C语言的特点和应用领域。
–学习C语言的编译和运行过程。
2.第二章:基本数据类型和运算符–学习整型、浮点型、字符型等基本数据类型。
–掌握各类数据类型的定义和使用。
–学习加减乘除、比较、逻辑运算等基本运算符。
3.第三章:控制语句–学习条件语句和循环语句的用法。
–掌握分支结构和循环结构的设计。
4.第四章:函数–学习函数的定义和声明。
–掌握函数的参数传递和返回值。
–熟悉函数的调用和调用方式。
5.第五章:数组和字符串–学习一维数组和多维数组的使用。
–掌握字符串的基本操作。
6.第六章:指针–学习指针的概念和用法。
–掌握指针与数组、指针与函数的关系。
7.第七章:结构体和联合体–学习结构体的定义和使用。
–了解联合体的概念和应用。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
具体如下:1.讲授法:通过讲解C语言的基本概念和语法,让学生掌握基础知识。
2.案例分析法:通过分析典型的程序案例,让学生了解C语言在实际问题中的应用。
3.实验法:通过上机实验,让学生动手编写程序,巩固所学知识。
四、教学资源本课程的主要教学资源包括教材、实验设备和多媒体资料。
C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息.二、学生成绩查询:输入一个学号,在文件中查找此学生,若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。
三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。
四、输出全部学生信息和全部学生成绩。
五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。
总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作.2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert()函数来实现。
其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage()和comaverage () 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。
主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include”stdio.h"#in clude”stddef。
注意:本文档可供大家参考,学习。
请大家借鉴优点,批评不足。
请各位湖工学弟,学妹不要署名后直接打印,应付老师。
一定要弄懂代码,这对大家的代码编写技术很有好处。
虽然现在完全自主编写有些困难,但是也要有一个迎难而上的心态。
祝大家学业有成!课程设计报告课程名称C语言程序设计课题名称学生综合测评系统专业班级学号姓名指导教师任务书下达日期年月日任务完成日期年月日目录一、设计内容与设计要求 ...........................................................................................................................学生综合测评系统 .......................................................................................................................................一、问题描述: ...................................................................................................................................二、功能描述: ...................................................................................................................................三、算法提示: ...................................................................................................................................四、测试数据: ...................................................................................................................................二.设计要求: ...........................................................................................................................................三.进度安排 ...............................................................................................................................................四.总体设计方案 .......................................................................................................................................1.总体流程图 ........................................................................................................................................2.程序主要函数 ...................................................................................................................................1.void inti()初始化函数............................................................................................................2.welcome() 函数 ......................................................................................................................3.void InputInfo() 录入学生信息.............................................................................................4.void DeleteInfo() 删除信息...................................................................................................5.void paiming1() void paiming2() 成绩排名 ...................................................................6.void ViewAll() 浏览全部学生信息........................................................................................7.void clean() 清除所有信息....................................................................................................8. void PaimingView() 查询排名 ............................................................................................3.程序其他函数 ....................................................................................................................................A.信息存盘(结构体) .....................................................................................................................B.读取信息(结构体) .....................................................................................................................C.信息存盘(整型) .........................................................................................................................D.读取信息(整型) .........................................................................................................................E.学号检索....................................................................................................................................五.程序源代码 ...........................................................................................................................................六.收获及体会..............................................................................................................................................七.参考文献 ..................................................................................................................................................计算机与通信学院课程设计评分表 ...........................................................................................................课程名称:《C语言程序设计》 .....................................................................................................一、设计内容与设计要求学生综合测评系统一、问题描述:每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。
二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。
同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。
五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。
总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1)来实现。
找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert( )函数来实现。
其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。
主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。
C语言课程设计综合评定模版一、教学目标本课程旨在让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单C程序的能力,使学生了解编程思想,培养学生分析问题、解决问题的能力。
具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范。
(2)掌握数据类型、运算符和表达式。
(3)熟悉控制结构,能运用循环和分支语句编写程序。
(4)了解函数的定义和调用,掌握常用的库函数。
2.技能目标:(1)能够使用C语言编写简单的程序,解决问题。
(2)具备基本的代码调试能力,能运用调试工具找到并修复错误。
(3)掌握基本的编程规范,编写结构清晰、可读性强的代码。
3.情感态度价值观目标:(1)培养学生对编程的兴趣,激发学生主动学习的内在动机。
(2)培养学生克服困难、解决问题的自信心和决心。
(3)培养学生团队协作精神,提高学生沟通协作能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等。
具体安排如下:1.C语言的基本语法和编程规范。
2.数据类型、运算符和表达式。
3.控制结构,包括循环和分支语句。
4.函数的定义和调用,常用的库函数。
5.编程实践,解决实际问题。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等内容,使学生掌握基本知识。
2.案例分析法:通过分析典型的编程案例,使学生理解编程思想,培养学生分析问题、解决问题的能力。
3.实验法:让学生亲自动手编写程序,调试代码,培养学生的实际编程能力。
四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:选用权威、实用的C语言教材,为学生提供系统的学习资料。
2.参考书:提供丰富的参考资料,帮助学生拓展知识面。
3.多媒体资料:制作生动的PPT,辅助讲解,提高学生的学习兴趣。
课程设计任务书院系:专业:班级:学号:题目:学生奖评系统一、课程设计时间2011~ 2012第2学期第16周,共计1周,20学时。
二、课程设计内容用C语言编写软件完成以下任务:1)从文件file34读取学生信息;2)输入学生的期末总测评分(满分100);3)输入学生的5门考试成绩(英语、计算机、高数、c语言程序设计、物理);4)按照的总成绩给学生排名;5)查询学生的信息。
三、课程设计要求程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录一﹑需求分析 (2)二﹑程序流程图 (2)三﹑核心技术的实现说明及相应程序段 (6)四﹑课设总结 (10)五﹑参考文献 (10)六﹑源程序 (10)一、需求分析根据对任务书内容和要求的领会以及自己对题目的理解,我认为该程序要完成以下几部分的功能:所有学生基本信息的查询Printf_data(),学生总测评分的输入Scanf_1(),学生期末考试成绩的输入Scanf_2(),所有学生奖评结果的查询Paixu()和个人奖评结果的查询Chaxun()。
每部分的具体功能如下:1.所有学生基本信息的查询可以实现对所有被读取的学生基本信息的查看2.学生总测评分的输入主要实现程序运行时学生总测评分数的录入以及实现对学生基本信息的追加功能并保存在file34.txt文件中;3.学生期末考试成绩的输入主要实现程序运行时将学生的英语,计算机,数学,C语言程序设计,物理期末考试成绩的录入以及实现对学生基本信息的追加功能并保存在file34.txt文件中;4.所有学生奖评结果的查询定义学生总成绩的计算方法,总成绩=该学生的总测评分*0.3+该学生的期末考试各科成绩的平均分*0.7。
学生综合测评系统C语言设计HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】郑州科技学院C语言课程设计设计(论文)题目:学生成绩管理系统所在院:信息工程学院专业班级: 15计算机科学与技术3班学生姓名:宋建军学号:5指导教师:周丽2016年9月11日郑州科技学院课程设计(论文)任务书设计题目:学生综合信息测评系统专业班级:15计算机科学与技术3班学号85姓名宋建军主要内容设计学生成绩管理系统,主要包含:输入记录模块、查询记录模块、更新记录模块、统计记录模块和输出记录模块。
采用字符用户界面,通过菜单选择相应的操作,直观且操作简单。
数据的存储选用数据文件方式;编辑平台选用Microsoft Visual C++ 。
所用到的知识点有:三种基本程序结构,数组,函数,指针,结构体,文件操作和链表。
基本要求:按照内容要求,设计完整的学生成绩管理系统。
要求调试通过,不存在漏洞,方便用户操作。
功能的实现上力求容错能力要强且提示信息完备。
完成期限:2016年9月11日指导教师签名:程序要求 (1)具体分工情况 (1)开发环 (1)程序主界面设计……………………………………………………………..学生信息处理子界面设计...................................................................... ..学生数据处理子界面设计………………………………………………1概述1 ) 程序要求每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
(2) 插入(修改)同学信息:(3) 删除同学信息:(4) 浏览学生信息:B、学生数据处理:(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2) 学生测评数据输入并计算综合测评总分及名次。
综合测评总分=(考试成绩)*+(同学互评分)*+品德成绩*+任课老师评分*。
(3) 学生数据管理输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件(4) 学生数据查询:输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出。
3 )开发环境Microsoft Visual C++2需求分析为什么要做个学生综合测评系统。
以下有几点理由1,我们都知道学校考核一个学生的主要依据就是学生的综合成绩,综合素质。
这就让一个学生的综合测评系统的建立显得尤为重要。
2一个学生综合测评系统包括学生的方方面面信息,这有利于学校的管理。
3大家都知道学生是流动的,而且综合测评是每年评比一次,所以这学生综合测评系统的更改录入功能重要性不明而喻。
4现在是个时间就是金钱的社会。
老师本身就工作繁忙。
这系统可以大大减轻老师的包袱。
5这是个开放的平台,每个学生都可以轻易地查询自己的成绩。
灵活性强。
3总体设计1) 程序主界面设计输出参数:无功能:本系统可以存储学生的基本信息和各科成绩,并能计算考试成绩,综合测评成绩和排名。
(2)函数程序int main(){system("color 2e");printf("\n\n\n\t\t............欢迎使用学生综合管理系统............\n\n");printf("\n\n\t\t");system("pause");menu(); 入学生信息\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: 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\t输入有误!请重新输入!\n\n"); break;}}}3)学生数据处理子菜单(1)函数描述函数名: data_menu()输入参数:无输出参数:无功能:显示学生数据处理系统菜单(2)函数程序Void data_menu() 入成绩数据\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){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\t输入有误!请重新输入!\n\n"); break;}}}4)学生综合信息输出(1)函数描述函数名: shuchu()输入参数:无输出参数:无功能:学生信息的综合输出(2)函数程序void shuchu()umber,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()输入参数:无输出参数:无功能:显示本系统的信息****************************************************/void help() .\n\n");if((f_info=fopen("","r"))==NULL){printf("\n\t打开文件失败!\n\n");return;}count=0;while(!feof(f_info)){fscanf(f_info,"%d %s %s %s %s ",&,&,&,& ,&;info[count]=p;count++;}printf("\n\t导入已完成!共导入 %d 条记录!\n\n\n",count);fclose(f_info);system("cls");}7)学生信息输入函数/**************************************************函数名: info_input()输入参数:无输出参数:无功能:录入学生个人信息****************************************************/void info_input() umber){printf("\n\n\t该学号已存在!请重新输入!\n\n");return;}}printf("\t请输入姓名:"); umber>info[count].number){for(j=count;j>i;j--){info[j]=info[j-1];}info[i]=p;break;}}count++;}}8)输出函数/**************************************************函数名: info_output()输入参数:无输出参数:无功能:显示学生个人信息****************************************************/void info_output() umber);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()输入参数:无输出参数:无功能:把学生个人信息数据写入到文件****************************************************/void info_xieru() umber== continue;else fprintf(f,"%d %s %s %s %s",info[i].number,info[i].name,info[i].sex,info[i].addr ,info[i].phon e);}fclose(f);printf("\n\t保存成功!\n\n");printf("\n\n\t\t");system("pause");system("cls");return;}10)删除学生信息函数/**************************************************函数名: info_del()输入参数:无输出参数:无功能:删除学生个人信息****************************************************/void info_del()umber==pp) break;if(i>=count){printf("\n\t没有找到该学生!\n"); return;}}printf("学号姓名性别地址联系电话\n"); umber);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是否删除?\t 1.是 \t 2.否 \t ");while(1){scanf("%d",&j);switch(j){case 1: info[i]=w; printf("\n\t删除成功!\n\n");info_xieru(); return;case 2: return;default : printf("输入错误!请重新输入!");break;}break;}printf("\n\n\t\t");system("pause");}11)学生信息修改函数/**************************************************函数名: info_xiugai()输入参数:无输出参数:无功能:修改学生信息****************************************************/void info_xiugai()umber==pp) break;}if(i>=count) {printf("\n\t没有找到该学生!\n"); return;}printf("学号姓名性别家庭地址联系电话\n"); umber);printf(" %10s",info[i].name);printf(" %10s",info[i].sex);printf(" %16s",info[i].addr);printf(" %13s\n",info[i].phone);printf("\n\t是否修改?\t 1.是 \t 2.否 \t ");while(1){d\n",info[i].number);printf("\t请输入姓名:");scanf("%s",info[i].name);printf("\t请输入性别:");scanf("%s",info[i].sex);if( ( strcmp ,"男")!=0 ) || (strcmp ,"女")!=0) ){ printf("\t你输入的内容不符合要求,请从新输入!按任意键继续……\n");getch();continue;}printf("\t请输入家庭地址");scanf("%s",&info[i].addr);printf("\t请输入电话号码:");scanf("%s",info[i].phone);printf("\n\t修改成功!\n\n"); info_xieru(); return; .\n\n");if((f_data=fopen("","r"))==NULL){printf("\n\t打开文件失败!\n\n");return;}i=0;while(!feof(f_data)){fscanf(f_data,"%d %d %d %d %f %d %d %d %d %f",&,&,&,&,&,&,& ,&,&,&;data[i]=d;i++;}printf("\n\t导入已完成!共导入 %d 条记录!\n\n\n",count);fclose(f_data);umber,data[i].chinese,data[i].math,data[i].english,data[i].avg,data[ i].ksmc,data[i].huping ,data[i].pinde,data[i].teacher,data[i].ceping );}fclose(f);printf("\n\n\t\t");system("pause");system("cls");return;}14)数据输入函数/**************************************************函数名: data_input()输入参数:无输出参数:无功能:录入学生数据****************************************************/void data_input() 回;其余数字继续)\n\n");scanf("%d",&choice);if(choice==0) return;printf("\n\n\t正在导入...\n\n");umber = ;info[count]=p;count++;}printf("\n\t导入已完成!共导入 %d 条记录!\n\n\n",count);fclose(f_info);for(i=0;i<count;i++){umber);printf("\n");printf("\t姓名:%s\n",info[i].name);printf("\n");printf("\t请输入语文成绩:");scanf("%d",&data[i].chinese);while( data[i].chinese < 0 || data[i].chinese > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入语文成绩:");scanf("%d",&data[i].chinese);}printf("\n");printf("\t请输入数学成绩:");scanf("%d",&data[i].math);while( data[i].math < 0 || data[i].math > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入数学成绩:");scanf("%d",&data[i].math);}printf("\n");printf("\t请输入英语成绩:");scanf("%d",&data[i].english);while( data[i].english < 0 || data[i].english > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入英语成绩:");scanf("%d",&data[i].english);}printf("\n");printf("\t请输入同学互评成绩:");scanf("%d",&data[i].huping );while( data[i].huping < 0 || data[i].huping > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入同学互评成绩:");scanf("%d",&data[i].huping );}printf("\n");printf("\t请输入品德成绩:");scanf("%d",&data[i].pinde);while( data[i].pinde < 0 || data[i].pinde > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入品德成绩:");scanf("%d",&data[i].pinde);}printf("\n");printf("\t请输入老师评分:");scanf("%d",&data[i].teacher);while( data[i].teacher < 0 || data[i].teacher > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入老师评分:");scanf("%d",&data[i].teacher);}data[i].avg=(data[i].chinese+data[i].math+data[i].english)/;data[i].ceping=(data[i].avg*+data[i].huping*+data[i].pinde*+data[i].teacher*;data[i].ksmc=i+1;for(k=0;k<i;k++){ vg>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\t输入已完成!正在保存... \n");data_xieru();system("cls");}15)数据修改/**************************************************函数名: data_xiugai()输入参数:无输出参数:无功能:学生成绩数据的修改****************************************************/void data_xiugai()umber==pp) break;}if(i>=count) { printf("\n\t没有找到该学生!\n"); return;}printf("\n\t学号:%.0d 姓名:%s \n\n\t语文:%d 数学:%d 英语:%d 品德成绩:%d 老师评分:%d\n\n",data[i].number,info[i].name,data[i].chinese,data[i].math, data[i].english,data[i].pinde,data[i].teacher);printf("\n\t是否修改?\t 1.是 \t 2.否 \t ");while(1){vg>data[k].avg) data[k].ksmc=data[k].ksmc-1;}printf("\n\t请输入语文成绩:");scanf("%d",&data[i].chinese);while( data[i].chinese < 0 ||data[i].chinese > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入老师评分:");scanf("%d",&data[i].chinese );}printf("\t请输入数学成绩:");scanf("%d",&data[i].math);while( data[i].math < 0 || data[i].math > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入数学成绩:");scanf("%d",&data[i].math);}printf("\t请输入英语成绩:");scanf("%d",&data[i].english);while( data[i].english < 0 ||data[i].english > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入英语成绩:");scanf("%d",&data[i].english);}printf("\n\t请输入同学互评成绩:");scanf("%d",&data[i].huping );while( data[i].huping < 0 ||data[i].huping > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入同学互评成绩:");scanf("%d",&data[i].huping );}printf("\n\t请输入品德成绩:");scanf("%d",&data[i].pinde);while( data[i].pinde < 0 ||data[i].pinde > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入品德成绩:");scanf("%d",&data[i].pinde);}printf("\t请输入老师评分:");scanf("%d",&data[i].teacher);while( data[i].teacher < 0 ||data[i].teacher > 100 ){ printf("\t对不起你输入的数据不是 1-100 之间,请从新输入真确的数值!\n");printf("\t请输入老师评分:");scanf("%d",&data[i].teacher);}data[i].avg=(data[i].chinese+data[i].math+data[i].english)/;data[i].ceping=(data[i].avg*+data[i].huping *+ data[i].pinde*+data[i].teacher*;data[i].ksmc=count;for(k=0;k<count;k++){ vg>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\t修改成功!\n\n"); data_xieru(); return; 号查询方式\n\n");printf("\t2.姓名查询方式\n\n");printf("\t请选择:");scanf("%d",&xz);if(xz==1){printf("\n\t请输入要查询学生的学号:");scanf("%d",&pp);printf("\n");for(i=0;i<=count;i++){if(data[i].number==pp) break;if(i>=count){printf("\n\t没有找到该学生!\n");return;}}printf("\n\t学号:%d 姓名:%s 性别:%s \n\n\t语文:%d 数学:%d 英语:%d 平均成绩:%.1f名次:%d\n\n\t同学互评:%d 品德成绩:%d 老师评分:%d \n\n\t综合成绩:%.1f\n\n",info[i].number,info[i].name,info[i].sex,data[i].chinese ,data[i].math,data[i].english,data[i].avg,data[i].ksmc,data[i].hupin g ,data[i].pinde,data[i].teacher,data[i].ceping);printf("\n\n\t\t");system("pause");return;}else{printf("\n\t请输入要查询学生的姓名:");scanf("%s",&cname);printf("\n");for(i=0;i<=count;i++){if(strcmp(info[i].name,cname) ==0 ){printf("\n\t学号:%d 姓名:%s 性别:%s\n\n\t语文:%d 数学:%d 英语:%d 平均成绩:%.1f名次:%d\n\n\t同学互评:%d 品德成绩:%d 老师评分:%d \n\n\t综合成绩:%.1f\n\n",info[i].number,info[i].name,info[i].sex,data[i].chinese,data[i].math,data[i].english,data[i].avg,data[i].ksmc,data[i].huping ,data[i].pinde,data[i].teacher,data[i].ceping);printf("\n\n\t\t");system("pause");return;}if(i>=count){printf("\n\t没有找到该学生!\n");system("pause");return;}}}system("pause");}17)使用到的结构体(1)学生信息结构体struct student{ 浩强)《Visual C++程序设计培训教程》。