C 学生成绩管理系统文档

合集下载

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

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

*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>struct Student{int cls;char nam[10];char num[10];int chinese;int english;int computer;int math;}stud1[100],stud2[100];{char a;while(a>'7'||a<'0'){system("cls");printf(" 欢迎使用学生成绩管理系统\n");printf(" 制作人:章建\n");printf("********************** 学生成绩管理系统************************\n");printf(" 1.输入学生成绩\n");printf(" 2.输出学生成绩\n");printf(" 3.查找并显示学生成绩\n");printf(" 4.按姓名查找,修改学生资料\n");printf(" 5.显示所有学生名单\n");printf(" 6.查找并删除学生信息\n");printf(" 7.从文件读取数据\n");printf(" 0.储存学生资料并退出系统\n");printf("********************************************************************* *\n");printf("请选择(0-7)\n");a=getchar();}return(a-'0');}/******************************************************************************int Input(Student stud[],int n) //输入数据(第一学期)。

C语言程序设计学生成绩管理系统实验报告

C语言程序设计学生成绩管理系统实验报告

移通学院C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名:学号:座号:时间一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解;2.加强实践的能力,动手能力,同时进一步对所学的知识进行巩固;3.培养初步编程的能力,为以后的学习奠定基础;二、实验内容运用所学的C语言知识编辑一个应用程序:学习成绩管理系统三.系统软件环境:本程序主要运行在: Visual C++ 6.0Turbo C/C++ 3.0四.课程设计题目:学生成绩管理系统程序说明:有N个学生,每个学生的数据包含学号不重复、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:1主菜单2各菜单项功能①成绩录入:输入学生的学号、姓名及三门课的成绩;②成绩查询:按学号查询学生记录;③成绩统计:计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序后输出;④退出系统:退出整个系统即主菜单;五.数据结构设计描述:↓int num; /定义学号,变量为整型/char name; /定义姓名,变量为字符型/int score; /定义课程的成绩,变量为整型/float average; /定义平均分,变量为浮点型/七.系统各函数的功能,、相互调用关系1.函数实现功能说明:1menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择;2input函数是定义用于输入学生信息;3select 函数是定义用于查询学生信息;包括学号、姓名及各科成绩;4statistics 函数计算学生的平均分;根据学生的平均分高低,对学生的数据进行排序输出;2.相互调用关系:Main函数调用menu函数;Menu 函数可以调用input 函数、select函数和statistics 函数八.心得体会C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言的广泛应用相比较还有很大的差距;我们对于C语言的理解和使用还处在一个初级的阶段,我们要想掌握它,要学习的还很多,同时要懂得创新,许多的编程方法都是人们一步一步总结出来的,我想我们也要努力拓展自己的思维,努力去寻求新的方法,以创造出更为完善的应用程序; 九.程序:include <stdio.h>include <stdlib.h>include <conio.h>define N 3 /学生人数/define M 3 /课程门数/struct student{int num; /学号/char name20; /姓名/int score3; /三门课成绩/float average;}stuN; /学生数/void input; /查询/void select; /统计/void menu;void input{int i,j;printf"\t\t①成绩录入\n\n";fori=0;i<N;i++{printf"请输入学号:";scanf"%d",&stui.num;printf"请输入姓名:";scanf"%s",&;forj=0;j<M;j++{printf"第%d门成绩的分数:",j+1;scanf"%d",&stui.scorej;}printf"\n\n";}printf"\n\n";printf"输入完毕按任意键返回主菜单";}/2.查询/void selectint no{int i;printf"学生%d号: \n",no; printf"学号: %d\n",stuno-1.num; printf"姓名: %s\n",;for i=0;i<M;i++{printf"第%d门课程的成绩为: ",i+1; printf"%d\n",stuno-1.scorei;}printf"\n按任意键返回主菜单";getch;}/3.统计/void statistics{float temp=0;int i=0;/学生成绩平均分/temp=0;printf"\t\t③成绩统计\n\n";forj=0;j<N;j++{fori=0;i<M;i++{temp=temp+stuj.scorei;}stuj.average=temp/N;printf"\n学生%s的成绩平均成绩为:",;printf"%0.2f分",stuj.average;temp=0;}/排序/for j=0;j<N;j++fori=0;i<N-j-1;i++ifstui.average<stui+1.average{ temp=stui.average;stui.average=stui+1.average;stui+1.average=temp;}printf"\n\n学生平均成绩前三名:";fori=0;i<3;i++{printf"\n第%d名:%0.2f分",i+1,stui.average;}printf"\n\n按任意键返回主菜单";getch;}void menu{ int num=0;int n=0;printf"\n\t\t\t学生成绩管理系统\n\n";printf"\n\t\t\t①成绩录入\n\t\t\t②成绩查询\n\t\t\t③成绩统计\n\t\t\t④退出系统\n";printf"\t\t\tchoose:";scanf"%d",&num;switchnum{case 1:system"cls";input;break;case 2:system"cls";printf"\t\t②成绩查询\n\n"; printf"请输入要查询的学生号1~3:";scanf"%d",&n;selectn;break;case 3:system"cls";statistics;break;case 4:exit0;default:;}}void main{while1{system"cls"; /清屏/menu;}}。

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

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

#include ”stdio.h”#include ”string.h”#include "stdlib.h"#include "conio.h"#include ”string.h”#include "fcntl。

h"typedef struct student{int num;char grade[10];char classroom[10];char name[10];float score_math;float score_chinese;float score_english;float average;float sum;}STU;typedef struct Node{STU data;struct Node *next;}*linklist;void menu();char *loginpassword(char password[],int n);//登录验证密码函数声明//linklist createstulist(linklist head);//创建学生链表即学生信息录入函数声明// void printstulist(linklist head);//学生信息输出函数声明//void searchstu_namelist(linklist head);//学生信息查询函数声明(按姓名)// void searchstu_numlist(linklist head);//学生信息查询函数声明(按学号) linklist modifystulist(linklist head);//学生信息修改函数声明//linklist delatestulist(linklist head);//学生信息删除函数声明//void savestulist(linklist head);//学生信息保存到文件函数声明// linklist loadstulist();//从文件中读取学生信息函数声明// void sortstulist(linklist head); //成绩排名函数(按年级)声明//void sort(STU stu[],int flag); //学生分班函数声明//void sortstuclass(linklist head); //成绩排名函数(按班级)声明////*************************************//void main(){char admin[]=”zhangqiong";char password[]=”123456";char person[20];char password1[10];int i;printf(”********************************************************************************\n”);printf("\t\t **********欢迎来到学生成绩管理系统**********\n\n");printf(”********************************************************************************\n\n”);printf(”\t\t\t\t用户登录\n\n\n\n");for(i=0;i<3;i++){printf("用户名:”);gets(person);fflush(stdin);printf(”\n\n\n”);loginpassword(password1,10);printf("\n\n\n”);if(strcmp(admin,person)==0&&strcmp(password,password1)==0){printf(”\t\t\t\t成功登录,亲!\n”);printf("\n\n”);printf(”按任意键继续!”);getch();menu();break;}elseprintf("\t用户名或者密码输入错误\n”);}if(i==3)printf("\t对不起,您今天输入次数太多,已被强制退出!\n”);}//**********************************************************////**********************************************************//char *loginpassword(char password[],int n)//登录密码函数,隐藏密码可见//{int i=0;int m=0;char ch;printf("用户密码:”);while((ch=getch())!='\r’&&m〈n){password[i++]=ch;printf(”*");}password[i]='\0';return password;}//***************************************************// void menu()//主界面函数//{system("cls");linklist L;L=(linklist)malloc(sizeof(Node));L—>next=NULL;int ch;do{printf(”\t -——-----—-******——--——--—---******—————-————-******-—-—-—-—-—\n\n");printf("\t\t\t**********学生成绩管理系统***********\n\n”);printf("\t ——----——--******-—-——------—******—---———--—-******—---———-——\n\n\n\n\n");printf("\t1。

《C语言高级程序》课程作业——学生成绩管理系统报告

《C语言高级程序》课程作业——学生成绩管理系统报告

为达到题目说的参加考试的学生人数不超过 30 人,故在程序开
头采用宏定义“#define N 30”已达到系统控制人数的目的。 为保证每次输入的数据的有效性,在输入考生人数和选项的地方
采用防御式编程,减少由于输入错误造成的系统终止。
三、程序代码
#include <stdio.h>
#include <string.h>
姓名查询信息函数、统计各学科各类别的学生人数及所占百分比函数
及输出所有考生信息的函数。
为减少程序长度,单独建立一个供输出单个学生学号、姓名、数
学成绩、英语成绩、物理成绩、总分、平均分的函数。有结构体数组
做函数参数,具体如下:
void menu(struct student stu[]); // 选择菜单
}stu[N]; // 全局变量
3
int num,select;
struct student t;
float math_sum=0.0 0english_aver,
physics_sum=0.0, physics_aver;
// 函数声明
void menu();
一、题目分析 (一)作业题目
学生成绩管理系统 某班有最多不超过 30 人(由键盘输入)参加考试。考试科目为 数学、英语和物理,定义结构体类型,用结构体数组做函数参数,实 现以下可供用户选择的菜单项。 (0)exit; (1)录入每个学生的学号、姓名和各科考试成绩; (2)计算每门课程的总分和平均分; (3)计算每个学生的总分和平均分; (4)按每个学生的总分由高到低排出名次表; (5)按每个学生的总分由低到高排出名次表; (6)按学号由小到大排出成绩表; (7)按姓名的字典顺序排出成绩表; (8)按学号查询学生排名及其考试成绩; (9)按姓名查询学生排名及其考试成绩; (10)按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、 不及格(0~59)五个类别。对每门课程分别统计每个类别的人数以及 所占的百分比; (11)输出每个学生的学号、姓名、各科考试成绩,以及每门课 程的总分和平均分。 (二)题目分析 1、程序要能做什么 根据题意,本系统要能做到手动输入学生人数以及考生相关信息 (学号、姓名、三科成绩),并能对输入的考生信息进行相应的分析 并显示结果,能根据要求进行查找相关数据信息。 2、程序处理什么 对输入的考生的三科成绩进行各自求和、取平均值; 对数学、英语、物理三科进行分析即求其各自平均值、统计各类 别的学生人数及所占百分比; 分别按学号顺序、姓名、考生总分高低对考生进行排序并输出; 根据提示,分别按给定学号和姓名进行查找并输出。 二、编程思想

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

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

课程设计说明书设计名称: C语言课程设计题目:学生成绩管理系统学生姓名:专业:网络工程班级: 12级1班学号: 2012394108指导教师:日期:年月日课程设计任务书网络工程专业 12 年级 1 班孙璐一、设计题目学生成绩管理系统二、主要内容数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。

要求具有以下功能:(1)系统以菜单方式工作。

(2)显示、保存记录;添加、删除、修改任意个记录。

(3)排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两个新文件(从大到小),存盘并显示这两个文件的全部记录。

(4)查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。

并能按学号或姓名查找并显示某个学生的各科成绩。

(5)统计功能:对各科成绩统计分析(平均分、最高分、最低分、及格率等);统计各科各分数段人数。

三、具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉Tuber C 或C++的上机环境。

能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。

4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。

如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。

5.学习并了解良好的程序设计风格。

按质、按量、并按时间完成课程设计的任务。

6.提供可运行的课程设计系统,参加上机面试答辩。

本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。

学生成绩信息管理系统

学生成绩信息管理系统

学绩信息管理系统学绩信息管理系统文档1. 系统简介1.1 目的和背景1.2 功能概述2. 用户需求分析2.1 学生用户需求- 查看个人成绩记录及排名情况。

- 提交作业、报告等课程相关文件。

- 查询选修课程信息并进行选课操作。

2.2 教师用户需求- 录入学绩,并计算平均分与班级排名。

- 发布作业、考试安排以及其他通知事项给学生。

3.系统设计与架构3.1数据库设计-设计数据库表结构,包括:学生表、教师表、科目表等。

3-2功能模块划分-划定各个子模块职责范围,如登录认证模块, 成绩录入/查询模块, 文件模块等。

4.详细功能描述4-1登陆注册–实现不同角色(管理员/老师/學生)登錄註冊功能,包含用戶驗證與權限控制部分。

4-2成績查詢–允许學生根据条件查询个人成绩,并显示排名情况。

4-3成績录入–允许教师输入学绩,系统自动计算平均分与班级排名,并提供相应的错误提示功能。

4-4 文件- 学生可以提交作业、报告等文件;老师可发布课程资料给学生。

5. 系统测试5.1 单元测试- 对每个模块进行单元测试以验证其正确性和稳定性。

6.部署与运行环境6-1硬件需求-列出服务器及客户端所需要的硬件配置要求。

6-2软件需求-列出操作系統, 数据库管理系统和其他必须安装在服务器上的软体需求。

7.附件8.法律名词及注释:- GDPR(General Data Protection Regulation):欧洲通用数据保护条例,是为了加强对于公民隐私权利和信息处理规范而制定的一项监管政策。

- COPPA (Children's Online Privacy Protection Act):儿童在线隐私保护法案,在美国旨在增强对13岁以下孩子们网络活动中收集到他们身份信息使用者责任意识方面做了规定。

- FERPA (Family Educational Rights and Privacy Act):家庭教育权利和隐私法案,是美国一项旨在保护学生个人信息的联邦法律。

学生成绩管理系统c语言代码(供参考)

学生成绩管理系统c语言代码(供参考)

C程序学生管理系统以下是用c语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考) #include"stdio.h"#include”stdlib。

h"#include"string。

h”typedef struct student//定义学生{char name[10];int number;char sex[2];int math;int eglish;int clanguge;int average;}student;typedef struct unit//定义接点{student date;struct unit *next;}unit;unit* build()//建立链表并返回指针{unit *p;if((p=(unit*)malloc(sizeof(unit)))==NULL){ printf("=>初始化失败!”);return 0;}else{p—>next=NULL;p-〉date.number=0;//头结点存放学生人数printf("初始化成功!\n");return p;}}void add(unit *head)//增加学生{unit *p,*q;int m,n=0;q=head-〉next;p=(unit*)malloc(sizeof(unit));printf(”=〉请输入新生姓名!\n");gets(p—>);fflush(stdin);printf("=〉请输入学号!\n");while(n==0){scanf("%d",&m);fflush(stdin);if(q==NULL) n=1;while(q){if(q->date.number==m){printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n");q=head-〉next;break;}else{q=q->next;if(q==NULL) n=1;}}}p—〉date。

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

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

《学生成绩管理系统》课程设计报告专业:信息科学与工程学院班级:电气信息类0916班姓名:曹坤指导教师:汤哲学号: 02课程设计报告一、课程设计题目学生成绩管理系统1、需要处理的基础数据学生基本信息:如班级、学号、姓名、性别、年龄等。

学生选修课程的基本信息:课程编号、课程名称、学分、考试成绩、平时成绩、综合成绩(考试成绩*+平时成绩*)等。

主菜单2、系统的基本功能数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;数据的插入:插入某个学生信息;数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。

考虑用文件把数据保存起来(可选)。

3、链表struct stu /*定义学生基本信息结构体*/{int i; /*以输入的顺序来确定的学生序号*/char num[11];char classnum[5];char name[128];char sex[32];int age;float ave;struct stu *next;};int n=0; /*学生人数*/struct stu *head=0;struct stu1 /*定义学生选修课信息结构体*/{char lessonnum[11];char lessonname[256];float score;float testgrade;float commongrade;float grade;struct stu1 *next;};int m;struct stu1 *a[max_num] ;/*定义一个指针数组来记住课程链表地址*/ /*---------------------- 数据的录入程序-----------------------*/void create(void) /*建立学生基本信息链表*/{n=0;struct stu *p1,*p2;char ch,ch1;struct stu1 *create1(void);do{n=n+1;a[n]=0;system("cls");p1=(struct stu *)malloc(LEN);printf("\n学号:");scanf("%s",p1->num);printf("\n班级:");scanf("%s",p1->classnum);printf("\n姓名:");scanf("%s",p1->name) ;printf("\n性别:");scanf("%s",p1->sex);printf("\n年龄:");scanf("%d",&p1->age);if(n==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否输入选修课信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch1=getchar();if(ch1=='y'||ch1=='Y')a[n]=create1(); /*根据序号来记忆课程链表地址*/ p1->i=n;system("cls");printf("\n是否继续输入另一学生信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;}struct stu1 *create1(void) /*建立课程链表*/{m=0;struct stu1 *p1,*p2;char ch;struct stu1 *head=0;do{m=m+1;system("cls");p1=(struct stu1 *)malloc(LEM);printf("\n课程编号:");scanf("%s",p1->lessonnum);printf("\n课程名称:");scanf("%s",p1->lessonname);printf("\n学分:");scanf("%f",&p1->score);printf("\n考试成绩:");scanf("%f",&p1->testgrade);printf("\n平时成绩:");scanf("%f",&p1->commongrade);p1->grade=p1->testgrade*+p1->commongrade*;printf("\n综合成绩:%-6.1f",p1->grade);if(m==1)head=p1;else p2->next=p1;p2=p1;printf("\n是否继续输入另一课程信息(y/n)\n");fflush(stdin); /*清空输入缓冲区*/ch=getchar();}while(ch=='y'||ch=='Y');p2->next=0;return(head);}二、设计思路界面:界面的显示由循环语句和switch语句来控制完成。

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

1.1 课题背景及意义
一直 以来人 们 使用传 统 的人工方 式管理学 生成绩 ,在计 算机尚未在学校 广 泛使用之前,学生成绩管理主要依靠手工。一个最典型的手工处理过程就是:当 考试完后,老师就要把学生成绩登记到文档中,当老师或学生要查询成绩的时候 要一个一个去找,总分、平均分都需要一个一个累加起来算,很麻烦,不过最麻 烦的还是排名,不能一目了然。 以 上 所 描 述 的 手 工 过 程 的 不 足 之 处 显 而 易 见 ,首 先 处 理 学生 成 绩 的 效 率很 低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计 算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们很清晰的看到 自己的各个科目成绩和每个科目的排名和总分排名以及所有学生的成绩分布,而 且还是零失误,所有的都是一目了然。极大的方便了学生和老师。为提高成绩管 理效率,管理人员的工作负担,有必要开发一个小型成绩管理系统来对学生成绩 实施有效管理。
在课程设计中,系统开发平台为 Windows XP,程序设计设计语言采用 Visual C++,程 序运行平台为 Windows 98/2000/XP。在程序设计中,采用了面向对象解决问题的方法。 程序通过调试运行,初步实现了设计目标。
关键词
程序设计;C++;成绩管理
-1-
学生成绩管理系统
1引

为方便对学生成绩进行高效的管理, 编写该程序以提高学生成绩管理效率。 使用该程序之后,学校管理者可以查询某位学生、某个科目的成绩情况,还可以 对学生成绩进行排名,对学生的数据进行修改和删除,其中排名包括总分排名和 各个科目的排名,学生可以更具自己的个人信息进行成绩查询,查询结果包括各 个科目的分数、总分和平均分。通过本系统可以很好的掌握学生成绩的分布,减 轻管理人员的负担,也使学生的成绩和信息长时期的保留。
学生成绩管理系统
学生成绩管理系统
学生姓名:张亮 指导老师:胡宁静


本课程设计主要解决学生成绩管理问题。使用计算机进行信息管理,不仅提高了工作
效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性.学生成 绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
目录
言......................................................................................................................................2
1引
1.1 课题背景及意义............................................................................................................. 2 1.2 可行性分析..................................................................................................................... 2 2 系统需求分析..........................................................................................................................4 2.1 功能需求分析................................................................................................................. 4 2.2 性能需求分析................................................................................................................. 4 2.3 系统总体结构设计......................................................................................................... 4 3 详细设计..................................................................................................................................6 3.1 数据结构设计................................................................................................................. 6 3.2 系统函数的组成、功能、参数说明、相互调用关系.................................................. 7 4 设计测试流程..........................................................................................................................9 5 结束语....................................................................................................................................14 参考文献...................................................................................................................................15 附录...........................................................................................................................................16
相关文档
最新文档