学生成绩管理系统(C++语言)
- 格式:doc
- 大小:60.00 KB
- 文档页数:18
*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:(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语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师:班级:姓名:学号:座号:时间一、实验目的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语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。
本文将介绍如何使用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. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。
#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语言编写的学生成绩管理系统的简单代码,可以用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语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。
2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。
3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。
具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。
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语言和软件开发的过程。
通过实际操作,我们学会了如何分析需求、设计系统、解决问题和测试软件等方面的技能。
虽然系统还存在一些问题,但这次课程设计对我们来说是一次非常有价值的实践经验。
#include〈fstream〉#include<iostream>#include〈string>#include〈conio.h〉#include<iomanip>#define NULL 0 //指定”NULL”为0using namespace std;class teacher{protected:string num,name,sex; //学号、姓名、性别public:teacher(){ n um=”0”;name=sex="-";}};class course{protected:string subject[35],prace[35]; //课程表public:course(){ for(int i=0;i〈35;i++)subject[i]=prace[i]=”/”;}};class student:public teacher,public course //双重继承{private:string password; //密码string Class; //班级float math,English,VC,physics,electron; //数学、英语、C++、物理、电模成绩student *next; //指向下一节点的指针public:student(){ Class=p assword=”0”;math=English=VC=physics=electron=0;}float sum(student *p){ return(p—>math+p->English+p->VC+p-〉physics+p—>electron);}//求总成绩void Read(); //从文件中读入数据,给链表赋值void input(); // 输入成绩void input_subject(); // 输入课表void del(string num); // 删除数据void insert(student *); // 插入数据student *sign(); // 注册、登录int seak(float); // 排名void print(); //输出全部信息void print(string num); // 输出个人成绩信息void print_subject(string num); // 输出个人课表信息void print(student *); // 输出个人成绩信息void print_subject(student *); // 输出个人课表信息void Write(); // 保存数据};int n=0; //定义全局变量n,n为节点数string a=”1234”;student *head; //头指针int main() // 主函数{str ing num=”0";int b=0,option=9;student s;student *stud;system(”color 5f”);s。
Read();cout〈〈”********************************************************************************”;cout<〈”********* *********”;cout<〈”*** # 欢迎使用本学生成绩管理系统:# ***";cout〈〈"* ###### ## *";cout<〈”* # 0.学生入口#*”;cout〈<”*** 1。
教师入口***";cout〈<”******************”;cout〈<”—-—- 请输入您的选择:";while(a!=”0"&&a!=”1"){cin>〉a;cout〈<”******************”;if(a!="0"&&a!=”1")cout<〈"-——- ˇ﹏ˇ 糟糕! 输入有误,请重新输入您的选择:";}stud=s。
sign();if(a=="0”) //A 学生入口{cout<〈"********************************************************************************”;cout<<”********* 选择菜单: *********";cout<〈"*** 1.查看自己的成绩***";cout〈〈”* 2。
查看自己的课表*";cout〈<"*** 0。
退出***";do{cout〈<”———- 请输入您的选择:”;cin〉>option;while(option!=0&&option!=1&&option!=2){cout<<”-—ˇ﹏ˇ 糟糕!输入有误,请重新输入您的选择:";cin>>option;}switch(option){case 1:{ cout〈〈endl;s.print(stud);break;}//输出成绩case 2:{ s.print_subject(stud);break;}//输出课表default:{ option=0;break;}}}while(option!=0);}else // 教师入口{do{try{cout〈〈"********************************************************************************”;cout<<"********* 选择菜单:*********";cout〈<"*** 1。
查看自己的信息***”;cout〈〈"* 2。
查看指定学生信息*”;cout〈<"**# 3.查看所有学生信息#**”;cout〈<"** ## ## 4.录入学生信息#### **";cout〈〈"* # 5.修改学生信息# *”;cout<〈"*** 6。
删除学生信息 ****”;cout〈〈"********* 0。
退出*********”;cout<〈”-———请输入您的选择:”;cin>〉option;if(option<0||option〉6) throw num;cout〈<endl;switch(option){case 1: //查看自己的信息{cout<<”—-1。
查看成绩 --";cout<<"-— 2.查看课表——”;cout<〈”—--- 请输入您的选择:”;cin>>a;if(a!="1"&&a!="2”) throw num;if(a=="1”){cout〈<"--个人信息:”<〈endl;s.print(stud);} //输出个人成绩信息else{ cout〈〈”-—课表:"<〈endl;s。
print_subject(stud); //输出个人课表}cout〈〈”--按任意键返回主菜单:";getch();system("cls”);break;}case 2: //查看指定学生信息{ cout〈<”—-请输入您要查找的学号:”;cin>>num;if(b=num。
length()!=12) throw 1;cout〈〈”——1。
查看成绩 --";cout〈〈"——2。
查看课表 -—”;cout〈<”-—-- 请输入您的选择:”;cin〉〉a;if(a!=”1"&&a!="2") throw num;if(a==”1”){cout<<"--个人信息:”<〈endl;s.print(num);} //输出个人成绩信息else{cout〈<"——课表:”〈〈endl;s。
print_subject(num);} //输出个人课表cout〈<”--按任意键返回主菜单:”;getch();system(”cls");break;}case 3: //查看所有学生信息{ cout〈<”--数据库中共有 "<〈n<<" 名学生的信息:”〈<endl;if(head!=NULL)s。
print(); //输出所有信息cout〈<”——按任意键返回主菜单:";getch();system("cls");break;}case 4: //录入学生信息{cout〈<"—- 1.录入成绩—-”;cout<<”-- 2。
录入课表 --";cout〈〈"-———请输入您的选择:”;cin>>a;if(a!="1"&&a!=”2”) throw num;if(a==”1”)s.input(); //输入成绩elses。
input_subject();s.Write(); //输入课表cout<〈"——按任意键返回主菜单:";getch();system(”cls");break;}case 5: //修改学生信息{cout<〈”——1。
修改成绩—-”;cout<<”-—2。
修改课表 -—";cout〈〈”——-—请输入您的选择:";cin〉〉a;if(a!=”1"&&a!="2") throw num;if(a==”1”)s.input(); //修改成绩elses.input_subject();s。
Write(); //修改课表cout<<”—-按任意键返回主菜单:”;getch();system("cls");break;}case 6: //删除学生信息{cout〈〈"——请输入要删除的学号:”;cin>〉num;if(b=num.length()!=12) throw 1;else{ s.del(num);s。