学生综合测评系统C语言设计完整版

合集下载

C语言综合性实验设计

C语言综合性实验设计

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设计报告新编修订稿

学生综合测评系统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语言课程设计报告(学生成绩管理系统)

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。

C语言课程设计 学生成绩综合管理系统

C语言课程设计  学生成绩综合管理系统

计算机程序设计(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 课程设计测评系统一、教学目标本课程旨在让学生掌握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语言课程设计报告(学生成绩管理系统)

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"#in clude”stddef。

(完整版)C语言毕业课程设计-学生综合测评系统

(完整版)C语言毕业课程设计-学生综合测评系统

注意:本文档可供大家参考,学习。

请大家借鉴优点,批评不足。

请各位湖工学弟,学妹不要署名后直接打印,应付老师。

一定要弄懂代码,这对大家的代码编写技术很有好处。

虽然现在完全自主编写有些困难,但是也要有一个迎难而上的心态。

祝大家学业有成!课程设计报告课程名称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语言课程设计报告(学生成绩管理系统)

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语言课程设计综合评定模版一、教学目标本课程旨在让学生掌握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,辅助讲解,提高学生的学习兴趣。

C语言课程设计_学生奖评系统

C语言课程设计_学生奖评系统

课程设计任务书院系:专业:班级:学号:题目:学生奖评系统一、课程设计时间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语言大型作业之学生综合测评系统

C语言大型作业之学生综合测评系统

C语言大型作业之学生综合测评系统课题名称:学生综合测评系统时间: 2009年5月5日学生综合测评系统一、需求分析1.1、系统概述:学生综合测评系统试运行与windows系统下的应用软件。

主要用于对学生的学号、姓名、所在院系、就读专业、年级、各科成绩、综合测评分等基本成绩进行增、减、删、改、查等操作。

并且还可对使用该系统的用户进行登录名和密码的管理。

系统给用户提供一个简单的人机界面,使用户可以根据提示输入操作项调用系统提供的管理功能。

该系统同时具有安全验证的功能,根据用户的级别其拥有的权限有所不同。

由系统判断用户名和密码是否符合,从而验证该用户能否登录,用户登录后,系统会判断权限从而告之用户可以使用系统的那些功能。

用户分为教师和学生。

、功能需求描述学生综合测评系统为学校的教师和学生提供一个对学生基本信息和学科成绩进行管理和查看平台,给用户提供简单友好的用户接口,功能需求如下:1、用户登录:根据用户输入的用户名和密码判断是否允许该用户使用系统,并且当用户登录以后根据用户权限判断用户可以使用哪些功能,学生只有浏览等的权限,而不能进行实质性改动。

2、提供系统主控平台:系统主控平台也应根据用户权限不同而有所区别,只列出在用户权限范围内的功能提供用户选择。

系统主控平台包括输入功能选项。

调用相应程序两大需求,教师与学生对应的系统主控平台是不同的,所能进行的操作也不同。

3、创建学生基本信息:用户各根据提示输入学生的学号、姓名、各科成绩等其他基本信息。

可一次性输入多条件的成绩信息记录,系统将学生基本信息记录存储在系统磁盘的文件中,以便进行管理、查找和备份。

4、增加学生信息:可在原有学生成绩信息文件的基础之上增加新的学生基本信息、记录并继续保存只磁盘;并且将增加后的文件存储状况显示给用户,在增加新学生记录的过程当中,系统提示用户输入各科成绩,最终总分要求系统自动计算获得并同样存储到文件相应的记录中。

5、删除学生信息:提示用户要进行删除的造作学号,如果在文件中又该学生的信息存在,提示是否删除该学生的一切基本信息,之后提示是否继续进行删除操作。

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计

学生成绩管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在学生成绩管理系统中的应用和重要性;2. 掌握C语言的基本语法,如数据类型、运算符、控制结构等;3. 学会使用C语言数组、函数和文件操作实现学生成绩的存储、查询、修改和删除;4. 了解结构体在C语言中的应用,能够使用结构体表示和管理学生信息。

技能目标:1. 能够运用所学知识,独立设计和编写一个简单的学生成绩管理系统;2. 培养学生的编程思维和解决问题的能力,使其能够分析需求,提出解决方案;3. 提高学生的团队协作和沟通能力,能够在小组合作中发挥积极作用。

情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发其学习C语言的积极性;2. 培养学生的责任感和自信心,使其在学习过程中保持积极的心态;3. 培养学生尊重知识产权,遵循编程规范,养成良好的编程习惯。

本课程旨在通过学生成绩管理系统的设计与实现,使学生在掌握C语言基础知识的基础上,提高编程实践能力。

针对学生的年级特点,课程注重培养学生的学习兴趣、动手能力和团队协作精神,使其在完成课程任务的过程中,形成积极向上的情感态度价值观。

课程目标的设定既符合学科知识体系,又注重学生个体发展需求,为后续教学设计和评估提供明确的方向。

二、教学内容本课程教学内容依据课程目标,结合教材章节,进行以下安排:1. C语言基础知识回顾:- 数据类型、变量和常量- 运算符和表达式- 控制结构(顺序、选择、循环)2. 数组与函数:- 数组的概念及应用- 函数的定义、声明和调用- 递归函数3. 结构体与文件操作:- 结构体的定义和使用- 文件的打开、读写和关闭- 学生信息存储与读取4. 学生成绩管理系统设计与实现:- 系统需求分析- 功能模块划分- 编程实现(数据输入、查询、修改、删除、排序等)5. 团队协作与项目实践:- 小组分工与协作- 代码审查与优化- 项目测试与总结教学内容按照以上五个方面进行系统性地组织,确保学生能够逐步掌握C语言在学生成绩管理系统中的应用。

c课程设计学生综合测评系统

c课程设计学生综合测评系统

c课程设计学生综合测评系统一、课程目标知识目标:1. 学生能理解并掌握课程中所涉及的测评系统的基本概念、原理和方法。

2. 学生能够结合课本知识,分析并设计适用于本年级的综合测评系统。

3. 学生了解并掌握数据收集、处理、分析的基本步骤,运用到测评系统的设计与实施中。

技能目标:1. 学生能够运用所学知识,独立设计并实施简单的学生综合测评系统。

2. 学生通过小组合作,提高沟通协调、问题解决和团队协作的能力。

3. 学生能够运用信息技术手段,对测评数据进行有效整理和分析,为教学改进提供依据。

情感态度价值观目标:1. 学生通过参与综合测评系统的设计与实施,培养对教育教学工作的尊重和热爱。

2. 学生在小组合作中,学会尊重他人、倾听他人意见,形成积极向上的团队精神。

3. 学生能够正确看待测评结果,形成自我反思、自我激励的良好习惯,促进自身全面发展。

课程性质:本课程为实践性较强的学科课程,结合课本知识,培养学生的实际操作能力和团队协作能力。

学生特点:学生具备一定的信息技术基础,具有较强的求知欲和动手能力,但需加强团队协作和沟通能力的培养。

教学要求:教师应注重理论与实践相结合,引导学生主动参与,注重培养学生的实际操作能力和解决问题的能力。

在教学过程中,关注学生的情感态度价值观的培养,提升学生的综合素质。

通过分解课程目标,为教学设计和评估提供明确的方向。

二、教学内容本课程依据课程目标,选择以下教学内容:1. 测评系统的基本概念:包括测评的目的、分类、原则等,对应课本第三章第一节的有关内容。

2. 测评系统的设计与实施:涵盖评价指标的制定、权重分配、数据收集与处理等方法,参考课本第三章第二、三节的内容。

3. 测评数据的分析与应用:涉及数据分析的基本方法、图表制作、结果解读等,结合课本第四章的相关内容。

4. 小组合作与实践操作:组织学生进行小组合作,实际设计并实施学生综合测评系统,锻炼学生的动手能力和团队协作能力。

教学内容安排与进度:第一课时:介绍测评系统的基本概念,明确学习目标。

c课程设计学生综合测评系统

c课程设计学生综合测评系统

c 课程设计学生综合测评系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握学生综合测评系统的相关理论知识,理解其基本原理和应用。

技能目标要求学生能够运用学生综合测评系统的设计方法和技巧,独立完成一个简单的学生综合测评系统的设计和实现。

情感态度价值观目标要求学生培养对计算机科学和软件工程的兴趣和热情,提高其创新能力和团队合作意识。

通过对学生的学习需求和特点进行分析,结合课程性质和教学要求,将目标分解为具体的学习成果。

学生将能够理解学生综合测评系统的基本概念,掌握其设计和实现的基本方法,具备独立完成学生综合测评系统的能力。

学生还将培养对计算机科学和软件工程的兴趣和热情,提高其创新能力和团队合作意识。

二、教学内容根据课程目标,本课程的教学内容将包括学生综合测评系统的相关理论知识、设计方法和实现技巧。

教学大纲将明确教学内容的安排和进度,指出教材的章节和列举内容。

教材的每个章节将涵盖一个特定的主题,例如学生综合测评系统的基本概念、需求分析、系统设计、实现和测试等。

每个章节将包含理论知识和实践操作,通过案例分析和实例演示,帮助学生理解和掌握相关概念和方法。

三、教学方法为了激发学生的学习兴趣和主动性,将采用多样化的教学方法。

包括讲授法、讨论法、案例分析法和实验法等。

讲授法将用于向学生传授基本概念和理论知识,通过讲解和演示,帮助学生理解学生综合测评系统的设计和实现方法。

讨论法将鼓励学生参与课堂讨论,培养其批判性思维和问题解决能力。

案例分析法将通过分析实际案例,引导学生运用所学知识解决实际问题。

实验法将通过实际操作和编程练习,培养学生的实践能力和创新思维。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。

包括教材、参考书、多媒体资料和实验设备等。

教材将是学生学习的基础,将提供详细的内容和案例。

参考书将提供更多的理论和实践案例,供学生深入学习和参考。

学生综合系统c课程设计

学生综合系统c课程设计

学生综合系统c 课程设计一、课程目标知识目标:1. 让学生理解学生综合系统C的基本概念和原理,掌握其组成部分及相互关系。

2. 使学生掌握系统C中关键功能模块的操作方法和使用技巧。

3. 帮助学生了解系统C在实际学习中的应用场景,提高知识运用能力。

技能目标:1. 培养学生运用系统C进行信息检索、整理和分析的能力。

2. 培养学生利用系统C进行团队协作和沟通的能力。

3. 提高学生解决实际问题时运用系统C的技巧和方法。

情感态度价值观目标:1. 培养学生主动探究、积极学习的态度,增强对系统C相关知识的兴趣。

2. 培养学生团队协作精神,学会尊重和倾听他人意见,提高沟通能力。

3. 引导学生认识到系统C在学习生活中的重要作用,树立正确的信息技术价值观。

课程性质分析:本课程以实践操作为主,理论讲解为辅,注重培养学生的实际操作能力和应用能力。

学生特点分析:学生年级处于具备一定信息技术基础和自主学习能力的阶段,对新鲜事物充满好奇,但注意力容易分散。

教学要求:1. 结合学生特点,采用生动形象的教学方式,激发学生学习兴趣。

2. 注重理论与实践相结合,提高学生的实际操作能力。

3. 强化团队协作和沟通能力的培养,提高学生的综合素质。

二、教学内容1. 系统C基础知识介绍:包括系统C的概念、发展历程、应用领域,以及系统C的组成部分和功能特点。

教材章节:第一章 系统C概述2. 系统C关键功能模块学习:详细讲解各功能模块的作用、操作方法及使用技巧。

教材章节:第二章至第四章 系统C功能模块、操作方法与技巧、应用实例3. 系统C在实际学习中的应用:分析不同场景下系统C的应用案例,提高学生知识运用能力。

教材章节:第五章 系统C应用案例分析4. 系统C操作实践:设置实践任务,让学生动手操作,巩固所学知识。

教材章节:第六章 系统C实践操作5. 团队协作与沟通能力培养:组织小组讨论和实践活动,提高学生团队协作和沟通能力。

教材章节:第七章 团队协作与沟通教学进度安排:第一周:系统C概述及基础知识学习第二周:系统C功能模块学习第三周:系统C操作方法与技巧第四周:系统C应用案例分析第五周:系统C实践操作及团队协作与沟通能力培养教学内容确保科学性和系统性,注重理论与实践相结合,充分调动学生的学习积极性,提高综合运用能力。

C语言学生成绩管理系统综合实验

C语言学生成绩管理系统综合实验

C语言综合实验任务书一、实验题目:学生成绩管理系统二、实验目的与实验要求1. 实验目的:1)能够利用所学的基本知识和技能,解决简单的程序设计问题;2)进一步理解和运用结构化程序设计的思想和方法;3)初步掌握开发一个小型实用系统的基本方法;4)学会利用流程图或N-S图表示算法;5)掌握书写程序设计开发文档的能力。

2。

实验要求➢基本要求:1)要求利用C语言面向过程的编程思想来完成系统的设计;2)突出C语言的函数特征,以多个函数实现每一个子功能;3)画出功能模块图;4)进行简单界面设计(见附录图1),能够实现友好的交互;5)具有清晰的程序流程图和数据结构的详细定义;6)按实验报告电子模板格式填写实验内容。

➢创新要求:在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同.三、功能描述1、输入学生信息:按照提示输入10个学生的学号、姓名、性别及三门功课(数学、英语、计算机)的成绩。

2、注销学生信息:按照学号查找是否存在该学生的记录,若存在删除其记录,不存在给出相应信息.3、查询学生信息:按照学号查找是否存在该学生的记录,若存在则输出其各科成绩,不存在给出相应信息。

4、修改学生信息:按照提示修改某一名学生的学号、姓名、性别及各科成绩。

5、添加学生信息:添加新生信息到已有的学生链表(要求按学号的顺序插入)。

6、学生信息排序:按学号对所有学生进行排序.7、学生信息统计:(1)输入学生的学号,则统计该生的总分及平均分;(2)输入课程名,则求出该门课程的总平均分.8、显示学生信息:显示系统中所有学生的信息。

9、帮助信息:获得帮助信息.0、退出本系统.四、内容与设计思想1. 分析程序的功能要求,划分程序功能模块.2. 画出系统流程图。

3。

代码的编写.定义数据结构和各个功能子函数。

4. 程序的功能调试:测试数据及结果,出现了哪些问题,如何修改的。

5。

程序有待改进的地方及设计体会。

高校学生综合测评 c++ 设计

高校学生综合测评 c++ 设计

序言在大学期间,同学们计算过多次综合测评,深刻体会到综合测评计算是一件既繁琐且准确率又低的事情。

同时,班委每学期都要将同学们上交的书面形式的综合测评得分情况进行核对并输入到电脑里面,制成电子文档,方便全年级同学的成绩排名,并且也要将电子文档上交给院系相关部门存档。

每次要完成这个任务,全班的班委都必须参与,可谓兴师动众,一旦不能很好的协调,出错率就很高,造成工作量加大。

在信息化时代,这种手工计算综合测评的模式必将被以计算机为基础的信息化系统所取代。

所以,设计一个功能完善的综合测评系统,已成为大家迫切的愿望。

通过这个系统,每个同学可以准确计算自己的综合测评成绩并将得分情况上传到班委的电脑上,这样就可以省去班委统一输入成绩这一繁琐的过程,既方便了同学们,准确率也得到了保证。

我们使用VC++ 6.0开发工具,通过实现数据的输入、查找、插入、追加、删除、统计、输出等功能,进一步了解和学习面向对象程序设计的思想和理念;并且被广泛地应用于各种程序设计中。

该系统以图形界面的形式运行,方便用户操作,且美观高效。

通过设计该系统,是我能够在今后的学习中更深入的了解对象和类的功能,在解决实际问题时灵活运用它们。

第一章问题描述随着素质教育的推进,高校和用人单位对学生学习状况的评价已不是单纯看严格细化的专业理论考试成绩,还要看学生在其他方面的能力,包括体育素质、道德品质和活动组织能力等。

因此,对大学生进行综合测评已成为许多高校的共识和重要研究内容。

通过该题目的设计,培养学生面向对象程序设计的思想,要求学生达到熟练掌握C++语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

同时强调好的程序设计风格,提高解决实际问题的能力。

第二章需求分析2.1 需求陈述根据计算机科学与工程系综合测评评分细则以及广大同学计算综合测评的经历,该系统的功能需求为:1、用户只要根据列出的得分项进行选择,以及少量的数据输入就可以计算出自己的综合测评成绩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生综合测评系统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++程序设计培训教程》。

相关文档
最新文档