学生信息管理系统设计

作者&投稿:李王 (若有异议请与网页底部的电邮联系)
学生信息管理系统设计?~

现在上学学生都有学籍,登录上去一目了然,信息化了,只要把信息输入进去,所有的内容都看的见,现在真是太好了

选修课一张表:课程,课程编号
学生一张表:个人信息,学号(班级学院可在做一张关联也可在这张表里,关联的话,会有一个班级的属性,会再多一张班级表)
映射关系一张表:课程编号、学号(成绩)
通过最后一张表关联前两张就可以了,可以再最后一张里加成绩,就成了成绩与科目人关联的表了
主键、外键都是学号和课程编号

# include<iostream.h>
# include<string.h>
# include<stdio.h>
# include<stdlib.h>
# include<fstream.h>
//*****定义一个学生原子的的数据结构*****//
struct stuatom
{
char *name;
int id;
char sex;
float math, eng, comp, totll, aver;
void show();
void setup();
};

//*********定义一系列对学生的操作**********//
class student
{
private:
stuatom ob[100];
int stulen;
public:
student();
void input();
void order();
void save();
void Query();
void read();
void add();
void del();

};

//********对学生数据的初始化(类的构造函数)**********//
student::student()
{
//用for循环对全部数组中的数据初始化
for(int i=0;i<100;i++)
{
ob[i].math=ob[i].eng=ob[i].comp =ob[i].totll =ob[i].aver =0;
ob[i].id =0;
ob[i].sex =' ';
ob[i].name =NULL;
}
this->stulen =0;
}

//********输入学生的数据,并判断是否在规定数据域内*******//
void stuatom::setup()
{
char n[20]; char s;
int b;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do {
cout<<" 学号: ";
cin>>b;
if(b>1020||b<1001)
cout<<"Bad data input!!"<<endl<<endl;
}while (b<1001||b>1020);

id=b;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
do{
name=new char[strlen(n)+1];
cout<<" 姓名: ";
cin>>n;
if( strlen(n)>6 || strlen(n)<4 )
cout<<"Bad data input!!"<<endl<<endl;
}while ( strlen(n)>6 && strlen(n)<4 );

strcpy(name,n);
cout<<" 性别(m/f):" ;
cin>>s;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (s!='m' && s!='f')
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<" 性别(m/f):";
cin>>s;
}

sex=s;
float m, e, co;
cout<<" 数学: ";
cin>>m;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (m<0 || m>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<" 数学: ";
cin>>m;
}

math=m;
cout<<" 英语: ";
cin>>e;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (e<0 || e>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<" 英语: ";
cin>>e;
}

eng=e;
cout<<" 计算机: ";
cin>>co;

//如果输入学好在数据域内,跳出循环并且赋值。
//如果不再数据域内,一直循环到输入数据符合数据域为止
while (co<0 || co>100)
{
cout<<"Bad data input!!"<<endl<<endl;
cout<<" 计算机: ";
cin>>co;
}

comp=co;
totll=math+eng+comp;
aver=(math+eng+comp)/3;
}

//*******按照规定格式把该学生的数据显示在屏幕上******//
void stuatom::show()
{
cout.setf(ios::left);
cout.width(6);
cout<<""<<id<<" ";
cout.width(8);
cout<<name;
cout.width(10);
cout<<sex;
cout.width(9);
cout<<math;
cout.width(9);
cout<<eng;
cout.width(11);
cout<<comp;
cout.width(10);
cout<<totll<<aver<<endl;
}

//**************输入学生的数据***********************//
void student::input()
{
int n;
cout<<endl<<"输入将要录入的学生数目: ";
cin>>n;
int j;

//通过循环输入要求输入学生个数的学生的数据。
for(j=0; j<n; j++)
{
cout<<" 输入学生信息 "<<j<<endl;
ob[j].setup();
}

this->stulen=n; //学生个数赋值

//学生数据显示格式
system("cls");
cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;
cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

//通过循环输出所有学生数据。
for(j=0; j<n; j++)
{
ob[j].show();
}

cout<<endl;
cout<<" 是否保存? (Y/N): ";
char Y;
cin>>Y;
system("cls");
}

//**************按照一定格式显示所要查询学生的信息。**************//
void student::Query()
{
int x , i;
cout<<endl<<" 输入要查询学生的学号: ";
cin>>x;
cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;
for(i=0;i<=this->stulen ;i++)
{ if (x==ob[i].id)
{
cout.setf(ios::left);
cout.width(6);
cout<<""<<ob[i].id<<" ";
cout.width(8);
cout<<ob[i].name;
cout.width(10);
cout<<ob[i].sex;
cout.width(9);
cout<<ob[i].math;
cout.width(9);
cout<<ob[i].eng;
cout.width(11);
cout<<ob[i].comp;
cout.width(10);
cout<<ob[i].totll<<ob[i].aver<<endl;
}
}
getchar();
}
//*******************保存学生数据**************************//
void student::save()
{
int i;
ofstream outfile;
outfile.open("list.txt",ios::trunc);
if(!outfile)
{
cout<<"Cannot open output file!\n,";
}

//通过循环把所有的学生数据保存在list.txt里边。
for(i=0; i<this->stulen; i++)
{
outfile<<ob[i].id<<" "<<ob[i].name<<" "<<ob[i].sex<<" "<<
ob[i].math<<" "<<ob[i].eng<<" "<<ob[i].comp<<" "<<ob[i].totll<<" "<<ob[i].aver<<endl;
}
outfile.close();
}

//*************显示所有学生数据*********************//
void student::read()
{
int i;
system("cls");
cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;
cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

for(i=0; i<this->stulen; i++)
{
ob[i].show();
}
getchar();
}
//*******************一个学生的数据****************//
void student::add()
{
int i, d=this->stulen ;
cout<<"输入要添加学生的信息:"<<endl;
ob[d].setup();
cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;
cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

for(i=0; i<=d; i++)
{
ob[i].show();
}

ofstream fout("list.txt",ios::app);

if(!fout)
{
cout<<"Cannot open output file!\n,";
}

//把添加的学生数据添加到list.txt里边去。
fout<<ob[d].id<<" "<<ob[d].name<<" "<<ob[d].sex<<" "<<
ob[d].math<<" "<<ob[d].eng<<" "<<ob[d].comp<<" "<<ob[d].totll<<" "<<ob[d].aver<<endl;

fout.close();
getchar();
}

//*********************删除指定名字学生的数据*******************//
void student::del()
{
int i,p; char x[8];
cout<<" 输入要删除学生名字:"<<endl;
cin>>x;

//通过for循环查找要删除学生的姓名
for(i=0; i<stulen; i++)
{
if(strcmp(ob[i].name,x)==0)
{
p=i;
cout<<endl<<"学号 姓名 性别 数学 英语 计算机 总成绩 平均成绩"<<endl;
cout<<ob[i].id<<" "<<ob[i].name<<" "<<ob[i].sex<<" "<<ob[i].math<<" "<<ob[i].eng<<" "<<ob[i].comp<<" "<<ob[i].totll<<" "<<ob[i].aver<<endl;
break;
}
else
continue;
}

cout<<endl<<"----------------------------- 学生信息表 ------------------------------------"<<endl;
cout<<endl<<" 学号 姓名 性别 数学 英语 计算机 总分 平均分"<<endl;

//删除了之后,应该把后面的数据往前移,把要删除的数据覆盖,并且学生长度减1
stulen--;
for(i;i<stulen;i++)
{
ob[i]=ob[i+1];
}
this->read ();

cout<<" 删除成功!"<<endl;
getchar();
}
//***********把学生成绩排序******************//
void student::order()
{
int k,j;
float t; char n[20];

//排序算法。
for(j = 0; j<=(2-1); j++)
{
for(k=1; k<=(2-j); k++)
{
if(ob[k].totll < ob[k + 1].totll)
{
t = ob[k].totll;
ob[k].totll = ob[k+1].totll;
ob[k+1].totll = t;
strcpy(n, ob[k].name);
strcpy(ob[k].name, ob[k+1].name);
strcpy(ob[k+1].name, n);
}

cout<<" 成绩排名:"<<endl;
cout<<" 姓名 总成绩 名次"<<endl;
for(k=0; k<=stulen; k++)
{
cout<<" ";
cout.setf(ios::left);
cout.width(9);
cout<<ob[k].name;
cout.width(9);
cout<<ob[k].totll<<k<<endl;
}
getchar();
}
}
}

//********************选择菜单。*****************//
void menu()
{
cout<<"\n\n";
cout<<"------------------ 学生成绩系统 -----------------"<<endl<<endl;
cout<<"\t\t1.录入与保存学生信息.\n";
cout<<"\t\t2.读取学生信息.\n";
cout<<"\t\t3.删除学生信息.\n";
cout<<"\t\t4.追加学生信息.\n";
cout<<"\t\t5.查询学生信息.\n";
cout<<"\t\t6.显示成绩名次.\n";
cout<<"\t\t7.退出系统......\n\n\n";
cout<<"\t\t请选择功能项: ";
}

//---------------------------------------------------------------------------------------
void main()
{
student a;
while(1)
{

int SEL;
system("cls");
menu();
cin>>SEL;
switch(SEL)
{
case 1:
system("cls"); a.input();a.save();break;
case 2:
system("cls"); a.read(); break;
case 3:
system("cls"); a.del(); break;
case 4:
system("cls"); a.add();break;
case 5:
system("cls"); a.Query();break;
case 6:
system("cls"); a.order();break;
case 7:
cout<<endl<<" 按任意键退出.... "<<endl;
getchar();
exit(0);
default:
cout<<"Bad input!!\n";
break;
}
}
}

是做数据库吗?貌似不是很难,我同事会,等会问问,不知能不能帮你...
...

CSDN有


基于ASP的学生信息管理系统的设计与实现
基于ASP的学生信息管理系统的设计与实现在深入分析现有系统和现实需求后,学生信息管理系统的建设目标明确如下:利用成熟信息技术,构建一个支持学生管理全过程、提升教务效率的系统,适应Windows环境。考虑成本,系统选择在PC机上运行,并利用现有软件,以节约资源。系统开发的可行性分析包括:技术上,采用Windows...

怎么做一个管理信息系统设计?
管理信息系统设计的步骤概述如下:1. 明确系统需求:通过编写“需求说明书”,详细阐述和规定对信息系统的使用功能要求。2. 确定软件和硬件需求:根据需求说明书,明确所需的系统软件和硬件要求。软件需求通常在“软件需求”或“软件规格”文档中规定;硬件需求通常通过网络拓扑图、结构图及相关说明性文件和...

学生信息管理系统设计
学生信息管理系统设计如下:1、基本信息:学生基本信息,班级课程查询。2、招生管理:招生计划,新生登记,新生编班管理。3、在校学生管理:学生考勤,学生奖励和惩罚。4、入党学员登记:进行党课培训,记录入党积极分子。5、综合成绩管理:记录学生每学期各科目成绩、各项素质成绩。6、班级工作管理:记录班级学...

怎么做一个管理信息系统设计
1. 实施系统的过程中,首先要考察当前和未来系统的应用环境,以便识别潜在的问题。2. 接着,检查计算机硬件设施、使用的编程语言以及软件约束条件,这些都会影响系统的设计。3. 确定系统所需的具体输入-输出条件、运行频率和处理量。4. 提供关于实际处理量、操作过程要求、使用者教育背景和所需设施的详细...

学生信息管理系统毕业论文设计怎么做?
8·基本课程信息的修改。9·学生课程的设置和修改。10·学生成绩信息的输入。11·学生成绩信息的修改。12·学生成绩信息的查询。13·学生成绩信息的统计。 针对一般学生管理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构: ·学生基本信息:包括的数据项有:...

用C语言设计一个学生信息查询系统程序
1、首先创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。2、编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。3、在源文件中创建main源文件和Stu源文件。再main文件中写入int mian()代码。4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。5、在Stu源文件的...

信息管理系统设计论文
信息管理系统设计论文 范文 一:计算机信息管理系统设计分析 1计算机信息管理系统设计应遵循的原则 当下这个时代是瞬息万变的,随着计算机信息管理系统发展的不断深入,系统不稳定、信息的安全性缺乏保障等一系列问题逐渐暴露出来。为避免这些问题的出现,在设计的过程中需要遵循以下原则: 1.1与时俱进 随着科技的不断进步与...

C语言程序设计 题目:学生信息管理系统
1题目:学生信息管理系统2程序要求:(1)学生信息录入功能1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门课成绩。2)可插入一个或多个学生信息到当... 1题目:学生信息管理系统 2 程序要求:(1)学生信息录入功能 1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治...

Access学生信息管理系统设计目标
本学生信息管理系统包括学生记录、添加新生、编辑学生信息,查询学生信息,学生信息统计以及系统退出等几个模块。管理员登录后可以对学生的各项信息进行管理。可以说,现在传统的学生的各项管理所具备的功能几乎都可以在互联网上进行互联网高效运作,虽然传统学生管理的手段不同,但是随着互联网的发展,它将有力...

学生信息管理系统的数据库设计
学生一张表:个人信息,学号(班级学院可在做一张关联也可在这张表里,关联的话,会有一个班级的属性,会再多一张班级表)映射关系一张表:课程编号、学号(成绩)通过最后一张表关联前两张就可以了,可以再最后一张里加成绩,就成了成绩与科目人关联的表了 主键、外键都是学号和课程编号 ...

蒙城县13749199212: 学生信息管理系统设计.急!!!!!!! -
柘淑朝阳: #include"stdio.h"

蒙城县13749199212: 学生信息管理系统设计 -
柘淑朝阳: 学生管理系统是校园MIS系统中综合处理学生信息的重要组成部分,囊括了从招生到毕业以及毕业后相关的所有信息.其中还包括了对班主任的管理,团员管理,综合成绩管理等,从本软件可以任意查询出某学生学习期间的一切情况,是一套完...

蒙城县13749199212: 1. 学生信息管理系统设计
柘淑朝阳: 1. 学生信息管理系统设计学生信息包括:学号,姓名,性别,出生年月,专业,班级,家庭地址,电话等.试设计一学生信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作;(2)学生信息录入功能;(3)学生信息浏览功能;(4)查询、排序功能:可按学号、按姓名、按专业、按班级查询;(5)学生信息的删除与修改.我有这方面的资料,加我球球 296 145 855

蒙城县13749199212: 如何设计学生学籍信息管理系统程序
柘淑朝阳: 程序开发无非遵循几个步骤: 1.需求分析:通过对市场、客户调查得出需要实现的功能,你这里就自己考虑或和朋友交流得出要实现的功能,给出点个人想法:既然是学籍信息管理必然有录入、查询、显示、修改等基本功能,然后就是统计、密码、管理员和游客权限划分之类的功能,然后延伸出来的就是管理员设置、游客设置等功能. 2.结构设计:通过对功能的把握,设计程序的基本结构,我的理解:首先登陆系统肯定是一个无限循环,提供菜单对应各个功能,用户可以进入每个小功能菜单,各个小功能菜单需提供真实操作和一个返回上一层操作等等. 3.功能、结构都明确了就可以开始写代码了,不在详述.......

蒙城县13749199212: c语言 学生成绩管理系统设计学生成绩信息包括:学号,姓名,三门课程成绩(数学、英语和计算机)等.主要功能:(1) 计算各个学生的总分及平均分,... -
柘淑朝阳:[答案] 希望对你有所帮助.#include"stdio.h"#include"stdlib.h"#include"string.h"#define N 3typedef struct z1{ char no[11]; char name[15]; int score[N]; float sum; float average; int order; ...

蒙城县13749199212: 设计一个学生信息管理系统,请大神稍微指点一下.要求如下 -
柘淑朝阳: #include<stdio.h>#include<stdlib.h>#include<conio.h>#include<dos.h>#include<string.h>#define LEN sizeof(struct student)#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i]....

蒙城县13749199212: 用C语言编写一个学生信息管理系统
柘淑朝阳: #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" jiemian();struct student { char name[50]; char sex[5]; int age; char num[50]; float score1; float score2; float score3; float sum; float ave;}stu[50],del; void gn1() {int...

蒙城县13749199212: 设计一个学生管理系统,假设每个学生包括如下信息:学号,姓名,各门课成绩(数学,英语,C++) -
柘淑朝阳: 首先你要有一个登录功能,登陆成功进入学生列表 列表显示全部学生信息,也支持按学号或姓名的模糊查询 ,并进行排序 每条列表后面有一个删除按钮和修改按钮 删除按钮直接根据id删除,修改按钮进入修改页面,工具栏有添加学生信息功能 进入添加页面 修改删除,新增后都要生成 记录文件.dat,每次覆盖掉旧的dat,你不覆盖也可以 然后还有注销功能

蒙城县13749199212: 设计一个学生管理系统能够添加和查询学生信息 -
柘淑朝阳: #include //这个也可以#include#include#include #include#define MAX 80 void input(); void sort(); void display(); void insert(); void del(); void average(); void find(); void save(); void read(); void del_file(); void average(); void modify(); int now_no=0; ...

蒙城县13749199212: C语言 学生信息管理系统 课程设计 -
柘淑朝阳: #include"stdio.h"#include"conio.h"#include"string.h"#include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网