学生成绩管理系统 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语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师年月日湖南工程学院课程设计任务书课程名称C语言程序设计课题班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年月日任务完成日期年月日目录一、引言 (1)二、总体设计 (2)三、详细设计 (4)四、问题分析及总结 (13)五、参考文献 (15)六、附件 (15)一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。

熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。

③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。

④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。

⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。

2.设计要求:1)用C语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。

2) 建立一个班级学生成绩数据库,文件名为bjcjk.txt,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。

通过提示用户输入一个数字选项,调用相应的功能函数。

(2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。

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.函数实现功能说明:(1)menu函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。

(2)input函数是定义用于输入学生信息。

(3)select 函数是定义用于查询学生信息。

包括学号、姓名及各科成绩。

(4)statistics 函数计算学生的平均分。

根据学生的平均分高低,对学生的数据进行排序输出。

2.相互调用关系:Main函数调用menu函数。

Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会C语言是一种较为基础和普遍的编程语言,应用相当广泛,这次课程设计的要求与C语言的广泛应用相比较还有很大的差距。

学生成绩管理系统C语言源程序

学生成绩管理系统C语言源程序
{
for(p=head->next;p!=NULL&&strcmp(p->name,tem);p=p->next);
if (!p)
{
printf("\n\n找不到你要查询的姓名,请重新输入,输入0表\
示结束:");
scanf("%s",tem);
}
else if (!strcmp(p->name,tem))
n=0;
head=(Student *)malloc(LEN);
p2=head;
printf("\n请输入第%d名学生的学号,学号为0表示结束输入:",n+1);
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
n++;
p1=(Student *)malloc(LEN);
char xueqi[20];
int score[4];
int sum;
struct student *next;
}Student;
int n;
Student *cin(void);
Student *sort_1(Student *head,int);
void sort_2(Student *head);
max_3=min_3=p->score[2];max_2=min_2=p->score[3];
max_sum=min_sum=p->sum;
for(;p;p=p->next)
{
if (max_1<p->score[0]) max_1=p->score[0];

学生管理系统c语言简单版

学生管理系统c语言简单版

学生管理系统c语言简单版学生管理系统c语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。

本文将介绍如何使用C语言编写一个简单的学生管理系统。

功能:1. 添加学生信息2. 查询学生信息3. 修改学生信息4. 删除学生信息5. 显示所有学生信息实现方法:1. 添加学生信息添加学生信息需要输入以下内容:姓名、性别、年龄、班级和电话号码。

我们可以定义一个结构体来存储这些信息,代码如下:```struct Student {char name[20];char sex[10];int age;char class[20];char phone[20];};```然后定义一个数组来存储多个学生的信息:```struct Student students[100];int count = 0; // 学生数量```接下来,我们可以编写一个函数来添加新的学生信息:```void addStudent() {struct Student student;printf("请输入姓名:");scanf("%s", );printf("请输入性别:");scanf("%s", student.sex);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入班级:");scanf("%s", student.class);printf("请输入电话号码:");scanf("%s", student.phone);students[count++] = student; // 将新的学生信息存储到数组中 printf("添加成功!\n");}```2. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。

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语言学生成绩管理系统课程设计

课程设计说明书设计名称: 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.提供可运行的课程设计系统,参加上机面试答辩。

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

学生成绩管理系统c 报告致谢

学生成绩管理系统c 报告致谢

学生成绩管理系统c 报告致谢引言学生成绩管理系统是一个用于学校管理学生学习成绩的重要工具。

在系统的开发过程中,我们受益匪浅,得到了许多人的帮助和支持。

在此,我们要向下面的人致以诚挚的感谢。

指导老师首先,我们要感谢我们的指导老师。

在整个项目开发过程中,老师给予了我们悉心的指导和支持。

无论是在需求分析、系统设计还是编码过程中,老师都给予了耐心解答和建议。

老师的专业知识和丰富经验为我们解决了许多问题,使我们的系统得以顺利开发。

感谢老师对我们的悉心指导!同学们的帮助在项目的设计和实现过程中,我们还得到了很多同学们的帮助。

有的同学在需求调研时提供了宝贵的建议,有的同学在问题解决时给予了细致耐心的帮助。

正是由于同学们的支持和帮助,我们才能够顺利地完成整个项目。

当遇到问题时,我们通常会相互交流和讨论,通过集思广益解决困难。

每个人都愿意分享自己的想法和经验,这种合作精神使我们能够在项目开发中取得良好的效果。

在此,特别要感谢那些给予我们重要帮助的同学,你们的努力与贡献使得项目达到了预期目标。

开源社区在学生成绩管理系统的开发过程中,我们借鉴了许多优秀的开源项目。

通过研究和学习这些开源项目的源码,我们获得了许多宝贵的经验和技巧。

通过开源社区的贡献者们的努力,我们可以免费地使用这些优秀的开源软件和库。

在这里,我们要感谢这些贡献者们无私奉献的精神,感谢他们共享自己的工作成果,让我们受益匪浅。

开源社区的存在为我们提供了一个良好的学习和交流的平台,使我们能够更好地完成学生成绩管理系统的开发。

总结通过学生成绩管理系统的设计和实现,我们学到了很多宝贵的经验和知识。

在项目开发过程中,我们得到了很多人的帮助和支持,他们在不同的方面给予了我们悉心的指导和建议。

在此,我们要向所有帮助过我们的人表示衷心的感谢。

感谢指导老师的悉心指导和支持,感谢同学们的帮助和合作,感谢开源社区的贡献者们。

正是由于你们的支持和帮助,我们才能够顺利地完成这个项目。

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

设计题目:成绩管理系统设计要求实现如下功能:输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5)要求:1。

用户录入每个学生每门课程的分数;2。

能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;3。

计算全班各门功课的平均分,显示没门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;4。

显示每门科目中,成绩在90分以上的学生信息。

另外还输出每门科目中不及格的学生信息;5。

能按姓名或者学号查找,增加,删除和保存各个学生的信息。

6 文件操作源码:class.cpp文件:#include<iostream>#include<fstream>#include<string>using namespace std;class Student{private:int no;string name,sex;public:string getName(){return name;}string getSex(){return sex;}int getNo(){return no;}void setSex(string s){sex=s;}void setNo(int sno){no=sno;}void setName(string nam){name=nam;}void show(){cout<<"学号:"<<no<<endl;cout<<"姓名:"<<name<<endl;cout<<"性别:"<<sex<<endl;cout<<endl;}void Init(){string n;int num,s;cout<<"请输入学号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>n;cout<<"请选择性别:男0,女1"<<endl;cin>>s;no=num;name=n;string s1,s2;if(s=0){s1="boy";Student::setSex(s1);}else{s2="girl";Student::setSex(s2);}}};class Classes{private:string name;public:int number;Student c[100];int getNumber(){return number;}Student getStu(){return c[100];}void setStudent(Student a[100]){c[100]=a[100];}void setNumber(int num){number=num;}void Init(){number=0;string nam;cout<<"请输入班级姓名:"<<endl;cin>>nam;cout<<"请输入班级人数:"<<endl;cin>>number;for(int i=0;i<number;i++){c[i].Init();}ofstream out;out.open("student.txt",ios::out);if(!out){cerr<<"文件打不开"<<endl;abort();}for(int i=0;i<number;i++){out<<c[i].getNo()<<" "<<c[i].getName()<<" "<<c[i].getSex()<<endl;}out.close();}void searchByName(){string nam;cout<<"请输入要查找的学生姓名:"<<endl;cin>>nam;int i;for(i=0;i<number;i++){if(c[i].getName()==nam){c[i].show();}}}void serchByNo(){int n;cout<<"请输入要查找的学号;"<<endl;cin>>n;int i;for(i=0;i<100;i++){if(c[i].getNo()==n){c[i].show();break;}}}};class Course{private:string name;int score;public:string getName(){return name;}void Init(){string nam;cout<<"请输入课程名:"<<endl;cin>>nam;setName(nam);}void setName(string nam){name=nam;}};class OpreatorCou{public:Classes c1;Course co[20];int Mark[100][100],StuAll[100],n;void setN(int nn){n=nn;}int getN(){return n;}int getMark(){return Mark[100][100];}Course getCo(){return co[20];}void IN(){cout<<"请输入课程数量:"<<endl;cin>>n;for(int i=0;i<n;i++){co[i].Init();}ofstream outS;outS.open("course.txt",ios::out);if(!outS){cerr<<"文件打不开"<<endl;abort();}for(int i=0;i<n;i++){outS<<co[i].getName()<<endl;}outS.close();}void input(Course co[20],int n,Student c[], int number ){int s;for(int i=0;i<n;i++){for(int j=0;j<number;j++){cout<<"请输入"<<c[j].getName()<<"的"<<co[i].getName()<<"成绩"<<endl;cin>>s;if(s<0||s>100){cout<<"你输入的成绩有误请重新输入!(成绩范围为0-100!)"<<endl;j=j-1;}else{Mark[i][j]=s;}}ofstream out;out.open("score.txt",ios::out);if(!out){cerr<<"文件打不开"<<endl;abort();}for(int i=0;i<n;i++){out<<co[i].getName();for(int j=0;j<number;j++){out<<" "<<Mark[i][j]<<" ";}out<<endl;}out.close();}void CountStu(int Mark[100][100],int number,int n){for(int i=0;i<number;i++){int s=0;for(int j=0;j<n;j++){s=s+Mark[j][i];}StuAll[i]=s;}}void CountCouAvg(int Mark[100][100],Student c[],int number,Course co[],int n){ float CouAll[10];for(int i=0;i<n;i++){float s=0.0;for(int j=0;j<number;j++){s=s+Mark[i][j];}CouAll[i]=s/n;}for(int i=0;i<n;i++){cout<<co[i].getName()<<"的平均分是:"<<(CouAll[i])<<endl;}for(int i=0;i<n;i++){for(int j=0;j<number;j++){if(Mark[i][j]<CouAll[i]){cout<<c[j].getName()<<"的"<<co[i].getName()<<"成绩小于平均分。

"<<endl;}}}void showUnpass(int Mark[100][100],Student c[],int number,Course co[],int n){ for(int i=0;i<n;i++){for(int j=0;j<number;j++){if(Mark[i][j]<60){cout<<c[j].getName()<<"的"<<co[i].getName()<<"成绩不及格!"<<endl;}}}}void showGood(int Mark[100][100],Student c[],int number,Course co[],int n){for(int i=0;i<n;i++){for(int j=0;j<number;j++){if(Mark[i][j]>90){cout<<c[j].getName()<<"的"<<co[i].getName()<<"成绩优秀!成绩为:"<<Mark[i][j]<<endl;}}}}void order(Student c[],int number,int StuAll[],int n){for(int i=0;i<number;i++){int sum=0;Student stu;if(StuAll[i]<StuAll[i+1]){sum=StuAll[i];StuAll[i]=StuAll[i+1];StuAll[i+1]=sum;stu=c[i];c[i]=c[i+1];c[i+1]=stu;}}for(int i=0;i<number;i++){cout<<c[i].getName()<<"的排名是:"<<(i+1)<<" 总分:"<<StuAll[i]<<endl;ofstream out;out.open("studentscore.txt",ios::out);if(!out){cerr<<"文件打不开"<<endl;abort();}for(int i=0;i<number;i++){out<<c[i].getName()<<" "<<StuAll[i]<<" "<<(i+1)<<endl; }out.close();}void Delete(int Mark[100][100],Student c[],int number,int n){ string na;cout<<"请输入要删除的学生姓名:"<<endl;cin>>na;for(int i=0;i<number;i++){if(c[i].getName()==na){for(i;i<number;i++){c[i]=c[i+1];}for(int j=0;j<n;j++){for(int k=i;k<number;k++){Mark[j][k]=Mark[j][k+1];}}}else{cout<<"您要删除的学生不存在!"<<endl;} }cout<<"删除成功!"<<endl;}void ReadText(Student c[],int number,Course co[],int n){char sname[30],sex[30];int sno;ifstream in("student.txt",ios::in);if(!in){cerr<<"文件打不开"<<endl;abort();}int i=-1;in>>sno>>sname>>sex;while(!in.eof()){i=i+1;c[i].setNo(sno);c[i].setName(sname);c[i].setSex(sex);in>>sno>>sname>>sex;}c1.setStudent(c);c1.setNumber(i+1);in.close();char nam[20];ifstream ins("course.txt",ios::in);if(!ins){cerr<<"文件打不开"<<endl;abort();}int j=-1;ins>>nam;while(!ins.eof()){j++;co[j].setName(nam);ins>>nam;}setN(j+1);ins.close();cout<<"读取文件完毕,请继续操作!"<<endl;}};主函数:#include"class.cpp"#include<iostream>void showMenue(){cout<<"********学生成绩管理系统********"<<endl;cout<<"请选择功能:"<<endl;cout<<"1 输入学生成绩"<<endl;cout<<"2 根据成绩排序输出。

相关文档
最新文档