高校学生党建系统源码_高校智慧党建系统下载

hacker|
137

文章目录:

求一个关于学生信息管理系统的asp代码

你要弄清楚一点你所说的功能的原理。

这是一个异步调用的过程,当我们在当前页面选择下拉菜单的某一项时,

实际上会在另外一个线程实现这样一个工作:向服务器发送请求(请求中包含某些参数),服务器响应请求并发送信息,当信息发送完成后,请求页响应了完成状态,并将信息在页面上呈现出来。因此在选择下拉菜单后的短暂时间里,实际上我们无需等待,还能再做别的事。

目前能实现这种功能的技术很多,有iframe,AJAX等等,但不是说,你要用Javascript来实现才行,或是VBScript实现才行,这两种只是不同的语言而已。关键是要掌握技术的原理。

我很高兴的告诉你,这儿有个很棒的学生管理系统,点击链接就可下载:

源码简介:

某学院学生信息管理系统源码

主要功能有:

用户管理 学生管理 教师管理 课程管理 班级管理 选课管理 成绩管理

主要用到的Asp.net2.0中的GridView、SqlDataSource、RequiredFieldValidator、DetailsView以及Master等

App_Data下为Sql数据库文件,附加即可

附加后修改web.config及App_code/Datacon.cs中对应的Sql连接信息

首页登录采用无刷新变换验证码(区分大小写)

默认管理员帐号/密码:admin/admin

学生帐号/密码:zwj/123

这是我的空间,我们可以多多交流:hi.baidu.com/gdluckyuan

学生信息管理系统C++源代码

#includeiostream

#includestdlib.h

#includestring.h

#includemalloc.h

#define INIT_SIZE 10

#define INCRE_SIZE 10

#define SUBJECT_NUM 3

#define LEN 3

void show_Start();

void show_Table();

void addRecord();

void Info_delete();

void deleteRecord();

void delete_Num(int);

void delete_Name(char tarName[]);

void Info_modify();

void modifyRecord();

void modify_Num(int);

void modify_Name(char[]);

void Info_query();

void queryRecord();

void query_Num(int);

void query_Name(char[]);

void display();

void quit();

void menu_CMD();

char *subject[SUBJECT_NUM] = {"高代","数分","C语言"};

struct STUDENT

{

int num;

char name[20];

char sex;

float score[SUBJECT_NUM];

};

//struct STUDENT stu[LEN + 1];

//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

int static stuNum = 0;

//先暂时定义三个学生吧...

STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);;

int main()

{

//record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

//STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);

/*

record[1].num = 1001;

strcpy(record[1].name,"Jason");

record[1].sex = 'M';

record[1].score[0] = 85.0;

record[1].score[1] = 90.0;

record[1].score[2] = 95.0;

record[2].num = 1002;

strcpy(record[2].name,"Jerry");

record[2].sex = 'M';

record[2].score[0] = 85.0;

record[2].score[1] = 90.0;

record[2].score[2] = 95.0;

record[3].num = 1003;

strcpy(record[3].name,"Jessie");

record[3].sex = 'F';

record[3].score[0] = 85.0;

record[3].score[1] = 90.0;

record[3].score[2] = 95.0;

*/

/*

Info_modify();

int key;

cout"请输入您的选择 : ";

cinkey;

if(key == 1)

{

int targetNum;

cout"请输入您欲修改的学生的学号 : ";

cintargetNum;

modify_Num(targetNum);

coutendl;

display();

}

if(key == 2)

{

char targetName[20];

cout"请输入您欲修改学生的姓名 : ";

cintargetName;

modify_Name(targetName);

coutendl;

display();

}

if(key == 3)

{

exit(0);

}

*/

show_Start();

menu_CMD();

return 0;

}

//修改完后还应该显示

void show_Start()

{

//coutendl;

cout" **************************************** "endl;

cout" 这是一个 "endl;

cout" 学生成绩管理系统 "endl;

cout" 可以对学生成绩进行管理 "endl;

cout" 欢迎大家使用 "endl;

cout" Made by Jason "endl;

cout" **************************************** "endl;

}

// 显示表头信息,即是 : 学号,姓名,性别,高代,数分,C语言.

void show_Table()

{

cout"学号""\t""姓名""\t""性别";

cout"\t"subject[0]"\t"subject[1]"\t"subject[2];

coutendl;

}

void menu_CMD()

{

int key;

while(1)

{

cout"1. 增加学生信息"endl;

cout"2. 删除学生信息"endl;

cout"3. 修改学生信息"endl;

cout"4. 查询学生信息"endl;

cout"5. 显示学生信息"endl;

cout"6. 退出"endl;

cout"请输入您的选择 : ";

cinkey;

while(1)

{

if((key 1)||(key 6))

{

int key;

cout"您的输入有误,请重新输入!"endl;

cout"请选(1 - 5) : ";

cinkey;

}

else

{

break;

}

}

switch(key)

{

case 1:

addRecord();

break;

case 2:

deleteRecord();

break;

case 3:

modifyRecord();

break;

case 4:

queryRecord();

break;

case 5:

display();

break;

case 6:

quit();

break;

}

}

}

///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

//增加学生信息

void addRecord()

{

if(stuNum == 0)

{

cout"原来没有记录,现在建立新表!"endl;

stuNum++;

}

else

{

cout"现在在当前表的末尾添加新的信息!"endl;

stuNum++;

}

//如果数组空间不够,重新申请空间

if(stuNum INIT_SIZE)

{

cout"内存空间不够,现在重新申请新的内存空间!"endl;

record = (STUDENT*)realloc(record,(INIT_SIZE + INCRE_SIZE)*sizeof(STUDENT));

cout"空间申请完成!"endl;

}

cout"您现在要添加一组新的信息,您确定吗?"endl;

cout"请输入您的选择(Y/N) : ";

char choi;

cinchoi;

if((choi == 'Y')||(choi == 'y'))

{

cout"请输入学号 : ";

cinrecord[stuNum].num;

cout"请输入姓名 : ";

cinrecord[stuNum].name;

cout"请输入性别(M为男,F为女) : ";

cinrecord[stuNum].sex;

int i;

for(i = 0;i SUBJECT_NUM;i++)

{

cout"请输入"subject[i]"的成绩 : ";

cinrecord[stuNum].score[i];

}

}

if((choi == 'N')||(choi == 'n'))

{

cout"退出添加新学生信息!"endl;

coutendl;

}

cout"现在已经有"stuNum"条学生的信息了!"endl;

coutendl;

}

//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////

//删除信息 晚上完成...

//显示deleteRecord的表头信息

void Info_delete()

{

cout"请输入删除方式 : "endl;

cout"1. 按学号删除"endl;

cout"2. 按姓名删除"endl;

cout"3. 退出删除"endl;

}

//删除学生的信息,包含两个子函数

void deleteRecord()

{

int key;

coutendl;

Info_delete();

cout"请输入您的选择 : ";

cinkey;

if(key == 1)

{

int targetNum;

cout"请输入您欲删除学生的学号 : ";

cintargetNum;

//按学号删除

delete_Num(targetNum);

coutendl;

}

if(key == 2)

{

char targetName[20];

cout"请输入您欲删除学生的姓名 : ";

cintargetName;

//按姓名删除

delete_Name(targetName);

coutendl;

}

if(key == 3)

{

while(1)

{

menu_CMD();

}

}

}

//按学号删除学生信息

//只用完成删除操作,而不必输出. 输出的操作可以在主菜单中进行

void delete_Num(int tarNum)

{

int i;

for(i = 1;i = stuNum;i++)

{

if(record[i].num == tarNum)

{

//删除还要分两种情况讨论

//1. 欲删除的学生信息是最后一位

//2. 欲删除的学生信息不是最后一位

//第一种情况,欲删除的学生是最后一位

if(i = stuNum)

{

cout"您所要删除的学生信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t"

record[i].score[0]record[i].score[1]"\t"record[i].score[2];

coutendl;

coutendl"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum - 1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

//显示信息应该放在后面

/*

stuNum--;

cout"现在还剩下"stuNum"条学生的信息";

coutendl;

*/

}

//2.第二种情况,欲删除的学生不是最后一位

if(i != stuNum)

{

cout"您所要删除的学生信信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t"

record[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

for(int j = i+1;j = stuNum;j++)

{

record[j-1] = record[j];

}

//接着完成输出

coutendl;

cout"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum-1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

/*

stuNum--;

cout"现在还剩下"stuNum"条学生的信息";

coutendl;

*/

}

stuNum--;

cout"现在还是剩下"stuNum"条学生的信息";

coutendl;

}

}

}

/*

//方法同上

void delete_Name(char tarName[])

{

int i;

for(i = 1;i = stuNum;i++)

{

if(strcmp(record[i].name,tarName) == 0)

{

//删除还要分两种情况讨论

//1. 欲删除的学生信息是最后一位

//2. 欲删除的学生信息不是最后一位

//第一种情况 : 欲删除学生是最后一位

if(i = stuNum)

{

cout"您所要删除的学生信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t"

record[i].score[0]record[i].score[1]"\t"record[i].score[2];

coutendl;

coutendl"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum - 1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

}

//第二种情况 : 欲删除学生不是最后一位

if(i != stuNum)

{

cout"您所要删除的学生信信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t"

record[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

//整体往前 前移一位

for(int j = i+1;j = stuNum;j++)

{

record[j-1] = record[j];

}

coutendl;

//接着完成输出

cout"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum-1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

coutendl;

}

}

}

}

*/

void delete_Name(char tarName[])

{

int i;

for(i = 1;i = stuNum;i++)

{

//删除还要分两种情况讨论

//1. 欲删除的学生信息是最后一位

//2. 欲删除的学生信息不是最后一位

//当欲删除的学生是最后一位,直接输出前面LEN-1位学生的信息

if(strcmp(record[i].name,tarName) == 0)

{

if(i == stuNum)

{

cout"您所要删除的学生信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t"

record[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

coutendl;

cout"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum-1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

/*

stuNum--;

cout"现在还剩下"stuNum"条学生的信息";

coutendl;

*/

}

//当欲删的学生不是最后一位,整体往前前移一位

if(i != stuNum)

{

cout"您所要删除的学生信息是 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex"\t";

coutrecord[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

coutendl;

//整体往前前移一位

for(int j = i+1;j = stuNum;j++)

{

record[j-1] = record[j];

}

//然后输出

coutendl;

cout"删除后学生信息表为 : "endl;

show_Table();

for(int i = 1;i = stuNum-1;i++)

{

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(int j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

/*

stuNum--;

cout"现在还剩下"stuNum"条学生的信息";

coutendl;

*/

}

stuNum--;

cout"现在还剩下"stuNum"条学生的信息";

coutendl;

}

}

}

/*****************************************************************************

******************************************************************************/

//显示modifyRecord的表头信息

void Info_modify()

{

cout"请输入修改方式 : "endl;

cout"1. 按学号修改"endl;

cout"2. 按姓名修改"endl;

cout"3. 退出修改"endl;

}

//查询学生的成绩,当然里面包括两个子函数

void modifyRecord()

{

int key;

coutendl;

Info_modify();

cout"请输入您的选择 : ";

cinkey;

//按学号修改

if(key == 1)

{

int targetNum;

cout"请输入您欲修改的学生的学号 : ";

cintargetNum;

modify_Num(targetNum);

coutendl;

//display();

}

//按姓名修改

if(key == 2)

{

char targetName[20];

cout"请输入您欲修改学生的姓名 : ";

cintargetName;

modify_Name(targetName);

coutendl;

//display();

}

//退出修改

if(key == 3)

{

while(1)

{

menu_CMD();

}

}

}

//按学号修改

void modify_Num(int tarNum)

{

int i;

for(i = 1;i = stuNum;i++)

{

if(record[i].num == tarNum)

{

coutendl"请修改该学生的信息"endl;

cout"请输入该学生的学号 : ";

cinrecord[i].num;

cout"请输入该学生的姓名 : ";

cinrecord[i].name;

cout"请输入该学生的性别 : ";

cinrecord[i].sex;

cout"请输入"subject[0]"的成绩 : ";

cinrecord[i].score[0];

cout"请输入"subject[1]"的成绩 : ";

cinrecord[i].score[1];

cout"请输入"subject[2]"的成绩 : ";

cinrecord[i].score[2];

}

}

}

//按姓名修改

void modify_Name(char tarName[])

{

int i;

for(i = 1;i = stuNum;i++)

{

if(strcmp(record[i].name,tarName) == 0)

{

coutendl"请修改该学生的信息 : "endl;

cout"请输入该学生的学号 : ";

cinrecord[i].num;

cout"请输入该学生的姓名 : ";

cinrecord[i].name;

cout"请输入该学生的性别 : ";

cinrecord[i].sex;

cout"请输入"subject[0]"的成绩 : ";

cinrecord[i].score[0];

cout"请输入"subject[1]"的成绩 : ";

cinrecord[i].score[1];

cout"请输入"subject[2]"的成绩 : ";

cinrecord[i].score[2];

}

}

}

///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

//显示queryRecord的表头信息

void Info_query()

{

cout"请输入查询方式 : "endl;

cout"1. 按学号查询"endl;

cout"2. 按姓名查询"endl;

cout"3. 退出查询"endl;

}

//查询学生信息queryRecord

void queryRecord()

{

int key;

coutendl;

Info_query();

cout"请输入您的选择 : ";

cinkey;

if(key == 1)

{

int targetNum;

cout"请输入您欲查询学生的学号 : ";

cintargetNum;

query_Num(targetNum);

coutendl;

}

if(key == 2)

{

char targetName[20];

cout"请输入您欲查询学生的学号 : ";

cintargetName;

query_Name(targetName);

coutendl;

}

//退出查询,退回到主菜单吧...

if(key == 3)

{

while(1)

{

menu_CMD();

}

}

}

//按学号查询

void query_Num(int tarNum)

{

int i;

for(i = 1;i = stuNum;i++)

{

if(record[i].num == tarNum)

{

//如果表中有该学生信息的话,仅用输出该学生的信息即可.

//输出该学生的信息

cout"该学生的信息如下 : "endl;

//显示表头信息

show_Table();

//显示该学生具体的信息

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

cout"\t"record[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

coutendl;

}

}

}

//按姓名查询

void query_Name(char tarName[])

{

int i;

for(i = 1;i = stuNum;i++)

{

if(strcmp(record[i].name,tarName) == 0)

{

cout"该学生的信息如下 : "endl;

show_Table();

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

cout"\t"record[i].score[0]"\t"record[i].score[1]"\t"record[i].score[2];

coutendl;

}

}

}

///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

//先显示所有学生的信息吧

//显示record里所有学生的成绩

void display()

{

show_Table();

int i,j;

for(i = 1;i = stuNum;i++)

{

//cout"学号""\t""姓名""\t""性别";

coutrecord[i].num"\t"record[i].name"\t"record[i].sex;

for(j = 0;j SUBJECT_NUM;j++)

{

cout"\t"record[i].score[j];

}

coutendl;

}

coutendl;

}

//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////

//退出

void quit()

{

char choi;

cout"您确定要退出吗?"endl;

cout"请输入您的选择(Y/N) : ";

cinchoi;

if((choi == 'Y')||(choi == 'y'))

{

cout"现在退出学生信息管理系统"endl;

exit(0);

}

//如果不是退出,则接着退回到主界面

else

{

coutendl;

menu_CMD();

}

}

这个是原创的... 在C-Free 4.0里跑过,可以正常运行

你可以试着跑一下,如果有什么问题可以和我联系

学生管理系统源代码c++

#include iostream.h

#include string.h

#include "h1.h"

void menu();

void clear()

{

cin.clear();

cin.ignore();

}

void stu::init_name_grade() //输入学生姓名、班级

{

cout"请输入学生姓名:";

cinname;

clear();

cout"请输入学生班级号:";

cingrade;

clear();

}

void stu::init_first() //输入学生第一学期成绩

{

cout"学生"name"第一学期成绩"endl;

cout"请输入英语成绩:";

cinfirst.english;

clear();

cout"请输入数学成绩:";

cinfirst.math;

clear();

first.total=first.english+first.math;

first.aver=first.total/2;

}

void stu::init_second() //输入学生第二学期成绩

{

cout"学生"name"第二学期成绩"endl;

cout"请输入英语成绩:";

cinsecond.english;

clear();

cout"请输入数学成绩:";

cinsecond.math;

clear();

second.total=second.english+second.math;

second.aver=second.total/2;

}

void stu::show_first() //显示学生第一学期成绩

{

cout"学生姓名:"nameendl;

cout"学生班级:"gradeendl;

cout"学生第一学期英语成绩:"first.englishendl;

cout"学生第一学期数学成绩:"first.mathendl;

cout"学生第一学期总成绩:"first.totalendl;

cout"学生第一学期平均成绩:"first.averendl;

}

void stu::show_second() //显示学生第二学期成绩

{

cout"学生姓名:"nameendl;

cout"学生班级:"gradeendl;

cout"学生第二学期英语成绩:"second.englishendl;

cout"学生第二学期数学成绩:"second.mathendl;

cout"学生第二学期总成绩:"second.totalendl;

cout"学生第二学期平均成绩:"second.averendl;

}

void stu::show_grade() //显示学生所有学期成绩

{

cout"学生姓名:"nameendl;

cout"学生班级:"gradeendl;

cout"学生第一学期英语成绩:"first.englishendl;

cout"学生第一学期数学成绩:"first.mathendl;

cout"学生第一学期总成绩:"first.totalendl;

cout"学生第一学期平均成绩:"first.averendl;

cout"学生第二学期英语成绩:"second.englishendl;

cout"学生第二学期数学成绩:"second.mathendl;

cout"学生第二学期总成绩:"second.totalendl;

cout"学生第二学期平均成绩:"second.averendl;

}

stu_info::stu_info() //stu_info的构造函数

{

num=0;

}

void stu_info::add_name_grade() //添加学生信息(班级、姓名)到数组中

{

int choose;

do

{

per[num].init_name_grade();

num++;

cout"继续输入学生信息吗?(0:退出,任意数字键继续...)";

cinchoose;

clear();

}while(choose!=0);

}

void stu_info::add_first(int gra) //添加第一学期成绩

{

for(int i=0;inum;i++)

{

if(per[i].grade==gra)

{

per[i].init_first();

}

}

}

void stu_info::add_second(int gra) //添加第二学期成绩

{

for(int i=0;inum;i++)

{

if(per[i].grade==gra)

{

per[i].init_second();

}

}

}

void stu_info::query_aver(int gra,int term) //按班级、学期及平均分排序显示学生成绩

{

stu temp[100];

stu t;

int sum=0;

for(int i=0;inum;i++)

{

if(per[i].grade==gra)

{

temp[sum]=per[i];

sum++;

}

}

for(int j=0;jsum-1;j++)

{

for(int k=sum-1;kj;k--)

{

if(term==1)

{

if(temp[k].first.avertemp[k-1].first.aver)

{

t=temp[k];

temp[k]=temp[k-1];

temp[k-1]=t;

}

}

else if(term==2)

{

if(temp[k].second.avertemp[k-1].second.aver)

{

t=temp[k];

temp[k]=temp[k-1];

temp[k-1]=t;

}

}

else

{

cout"该学期不存在!"endl;

return;

}

}

}

for( i=0;isum;i++)

{

if(term==1)

{

temp[i].show_first();

}

else

{

temp[i].show_second();

}

}

}

void stu_info::modify(int gra,char name[10]) //按班级、姓名查询学生信息并修改学生信息

{

for(int i=0;inum;i++)

{

if(per[i].grade==grastrcmp(per[i].name,name)==0)

{

per[i].init_name_grade();

per[i].init_first();

per[i].init_second();

return;

}

else

{

cout"该学生不存在!"endl;

}

}

}

void stu_info::query(int gra,char name[10]) //按班级、姓名查询学生信息并输出

{

for(int i=0;inum;i++)

{

if(per[i].grade==grastrcmp(per[i].name,name)==0)

{

per[i].show_grade();

return;

}

else

{

cout"该学生不存在!"endl;

}

}

}

void stu_info::query_grade(int gra) //按班级输出该班全部学生成绩

{

coutgra"班级学生的成绩如下:"endl;

for(int i=0;inum;i++)

{

if(per[i].grade==gra)

{

per[i].show_grade();

}

}

}

void stu_info::show_fail(int grade,int term,int course)

{

cout"不及格名单如下:"endl;

for(int i=0;inum;i++)

{

if(per[i].grade==grade)

{

if(term==1)

{

if(course==1)

{

if(per[i].first.english60)

{

coutper[i].nameendl;

}

}else if(course==2)

{

if(per[i].first.math60)

{

coutper[i].nameendl;

}

}

}

else if(term==2)

{

if(course==1)

{

if(per[i].second.english60)

{

coutper[i].nameendl;

}

}else if(course==2)

{

if(per[i].second.math60)

{

coutper[i].nameendl;

}

}

}

else

{

cout"该学期不存在!"endl;

return;

}

}

}

}

void main()

{

stu_info people;

int grade;

int term;

int choose;

int course;

char name[10];

while(1)

{

menu();

cinchoose;

clear();

switch(choose)

{

case 1:

people.add_name_grade();break;

case 2:

cout"请输入班级号:";

cingrade;

clear();

cout"请输入学期:";

cinterm;

clear();

if(term==1)

people.add_first(grade);

else

people.add_second(grade);

break;

case 3:

cout"请输入班级号:";

cingrade;

clear();

cout"请输入学生姓名:";

cinname;

clear();

people.modify(grade,name);

break;

case 4:

cout"请输入班级号:";

cingrade;

clear();

cout"请输入学期:";

cinterm;

clear();

people.query_aver(grade,term);

break;

case 5:

cout"请输入班级号:";

cingrade;

clear();

people.query_grade(grade);

break;

case 6:

cout"请输入班级号:";

cingrade;

clear();

cout"请输入学期:";

cinterm;

clear();

cout"请输入课程号(1:english,2:math):";

cincourse;

people.show_fail(grade,term,course);

break;

case 7:

cout"请输入班级号:";

cingrade;

clear();

cout"请输入学生姓名:";

cinname;

clear();

people.query(grade,name);

break;

case 8:return;

default:cout"选择错误,请重新选择!"endl;

}

}

}

void menu()

{

cout" 请选择操作"endl;

cout"-------------------------------------------------------------"endl;

cout" 1、输入学生姓名、班级"endl;

cout" 2、按学期、班级录入学生成绩"endl;

cout" 3、修改学生成绩"endl;

cout" 4、按班级平均分对学生成绩排序"endl;

cout" 5、按班级输出学生的成绩单"endl;

cout" 6、按科目输出不及格学生名单"endl;

cout" 7、查询学生成绩单"endl;

cout" 8、退出系统"endl;

}

这上面是实现功能,下面是类的定义和声明 希望对你有用

struct term

{

int english;

int math;

int aver;

int total;

};

class stu

{

char name[10];

int grade;

struct term first;

struct term second;

public:

friend class stu_info;

void init_name_grade();

void init_first();

void init_second();

void show_grade();

void show_first();

void show_second();

};

class stu_info

{

stu per[100];

int num;

public:

stu_info();

void add_name_grade();

void add_first(int gra);

void add_second(int gra);

void query_aver(int gra,int term);

void modify(int gra,char name[10]);

void query(int gra,char name[10]);

void query_grade(int gra);

void show_fail(int grade,int term,int course);

};

学生信息管理系统最简单源代码。

方法一:

1、创建一个c语言项目。然后右键头文件,创建一个Stu的头文件。

2、然后编写头文件的代码。再将数据结构的增删改查和结构体写入头文件。

3、然后在源文件中创建main源文件和Stu源文件。再main文件中写入intmian()代码。

4、然后在mian主函数中,写入while语句无限循环。再写入Init函数。

5、在Stu源文件的Init函数用printf语句,将学生管理系统输出。再创建链表的头节点head。

6、然后用switch函数对操作进行判断。再执行数据结构的增删改查功能。这样一个学生管理系统的基本框架就完成了。

方法二:

1、新建一个学生实体类,用于存放学生的各项信息。

2、新建一个链表节点类,每个节点存放一个学生信息及下一个节点的引用。

3、添加一个主操作类,并添加本系统的菜单方法。

4、定义链表的头节点,当前最后一个节点,以及主控制逻辑信息。

5、使用io流逐行读取存有学生信息的文本文件,对每行字符串,采用\t分割后得到一个字符串数组,数据各项即为一个学生的具体信息。然后新建一个节点加入到链表。

6、运行结果:

学生基本信息管理系统C++源代码

#include iostream

#include iomanip

#include string

using namespace std;

typedef struct student {

unsigned m_id;

string m_name;

unsigned m_age;

string m_sex;

string m_address;

string m_contact;

string m_dormitory;

struct student *m_next;

}student;

class CStudent {

private :

student *head;

public :

CStudent() {

head = new student;

head-m_id = 0;

head-m_name = "noname";

head-m_next = NULL;

}

~CStudent() {

student *p = head,*q;

while(p) {

q = p;

p = q-m_next;

delete q;

}

}

student readdata(int model); // model = 1:不读取学号,2:不读取姓名,其他,读取所有信息

void entering();

bool insert(const student astu);

student *findid(unsigned id) const;

student *findname(const string name) const;

student *findsex(const string sex) const;

student *finddormitory(const string dormitory) const;

unsigned boys() const;

unsigned girls() const;

unsigned headcount() const;

bool eraseid();

bool erasename();

bool modifyid();

bool modifyname();

void Show() const;

void query() const;

void friend statistics(const CStudent aclss);

void friend erase(CStudent aclss);

void friend modify(CStudent aclss);

};

string readstring() {

string str;

while(cin.get() != '\n');

cin  str;

return str;

}

student CStudent::readdata(int model) {

student tmp;

if(model != 1) { cout  "学    号: "; cin  tmp.m_id; }

if(model != 2) { cout  "姓    名: "; tmp.m_name = readstring(); }

cin  tmp.m_age;

cout  "性    别: ";

tmp.m_sex = readstring();

cout  "住    址: ";

tmp.m_address = readstring();

cout  "联系方式: ";

tmp.m_contact  =readstring();

cout  "寝    室: ";

tmp.m_dormitory = readstring();

return tmp;

}

void CStudent::entering() {

student tmp;

cout  "学号(0 to return): ";

cin  tmp.m_id;

while(tmp.m_id) {

if(findid(tmp.m_id) == NULL) {

cout  "姓    名: ";

tmp.m_name = readstring();

cout  "年    龄: ";

cin  tmp.m_age;

cout  "性    别: ";

tmp.m_sex = readstring();

cout  "住    址: ";

tmp.m_address = readstring();

cout  "联系方式: ";

tmp.m_contact = readstring();

cout  "寝    室: ";

tmp.m_dormitory = readstring();

insert(tmp);

}

else cout  "重复的学号:"  tmp.m_id  endl;

cout  "学号(0 to return): ";

cin  tmp.m_id;

}

}

student *CStudent::findid(unsigned id) const {

student *p;

for(p = head; p-m_next; p = p-m_next)

if(p-m_next-m_id == id) return p;

return NULL;

}

student *CStudent::findname(const string name) const {

student *p;

for(p = head; p-m_next; p = p-m_next)

if(p-m_next-m_name == name) return p;

return NULL;

}

student *CStudent::findsex(const string sex) const {

student *p;

for(p = head; p-m_next; p = p-m_next)

if(p-m_next-m_sex == sex) return p;

return NULL;

}

student *CStudent::finddormitory(const string dormitory) const {

student *p;

for(p = head; p-m_next; p = p-m_next)

if(p-m_next-m_dormitory == dormitory) return p;

return NULL;

}

bool CStudent::insert(const student astu) {

student *newnode,*p = head;

if(p-m_next == NULL) {

p-m_next = new student(astu);

p-m_next-m_next = NULL;

return true;

}

while(p-m_next) {

if(p-m_next-m_id == astu.m_id) {

cout  "重复的学号,插入失败!\n";

return false;

}

if(p-m_next-m_id  astu.m_id) {

newnode = new student(astu);

newnode-m_next = p-m_next;

p-m_next = newnode;

return true;

}

p = p-m_next;

}

p-m_next = new student(astu);

p-m_next-m_next = NULL;

return true;

}

unsigned  CStudent::boys() const {

unsigned cnt = 0;

student *p;

for(p = head-m_next; p; p = p-m_next)

if(p-m_sex == "男") ++cnt;

return cnt;

}

unsigned CStudent::girls() const {

unsigned cnt = 0;

student *p;

for(p = head-m_next; p; p = p-m_next)

if(p-m_sex == "女") ++cnt;

return cnt;

}

unsigned CStudent::headcount() const {

unsigned cnt = 0;

student *p;

for(p = head-m_next; p; p = p-m_next,++cnt);

return cnt;

}

bool CStudent::eraseid() {

student *q,*p;

unsigned id;

cout  "输入要删除的学号:";

cin  id;

p = findid(id);

if(p == NULL) {

cout  "没有找到学号是\""  id  "\"的学生,删除失败!\n";

return false;

}

q = p-m_next;

p-m_next = q-m_next;

delete q;

return true;

}

bool CStudent::erasename() {

student *q,*p;

string name;

cout  "输入要删除人的姓名:";

name = readstring();

p = findname(name);

if(p == NULL) {

cout  "没有找到姓名是\""  name  "\"的学生,删除失败!\n";

return false;

}

q = p-m_next;

p-m_next = q-m_next;

delete q;

return true;

}

bool CStudent::modifyid() {

student tmp,*p;

unsigned id;

cout  "输入要修改的学号:";

cin  id;

p = findid(id);

if(p == NULL) {

cout  "没有找到学号是\""  id  "\"的学生,修改失败!\n";

return false;

}

tmp = readdata(1);

tmp.m_id = id;

*p = tmp;

return true;

}

bool CStudent::modifyname() {

student *p,tmp;

string name;

cout  "输入要修改人的姓名:";

name = readstring();

p = findname(name);

if(p == NULL) {

cout  "没有找到姓名是\""  name  "\"的学生,修改失败!\n";

return false;

}

tmp = readdata(2);

tmp.m_name = name;

*p = tmp;

return true;

}

int menu() {

int choice;

do {

system("cls");

cout  "\t****************************\n";

cout  "\t*   学生基本信息管理系统   *\n";

cout  "\t*==========================*\n";

cout  "\t*    1、录入学生信息       *\n";

cout  "\t*    2、显示学生信息       *\n";

cout  "\t*    3、查询学生信息       *\n";

cout  "\t*    4、添加学生信息       *\n";

cout  "\t*    5、统计学生信息       *\n";

cout  "\t*    6、删除学生信息       *\n";

cout  "\t*    7、修改学生信息       *\n";

cout  "\t*    0、退出管理系统       *\n";

cout  "\t****************************\n";

cout  "\n\t请选择:";

cin  choice;

}while(choice  0 || choice  7);

return choice;

}

void show(student *p) {

cout  p-m_id  " "  p-m_name  " "  p-m_age  " ";

cout  p-m_sex  " "  p-m_address  " ";

cout  p-m_contact  " "  p-m_dormitory  endl;

}

void CStudent::Show() const {

student *p;

cout  "----------------------------------------------------------\n";

for(p = head-m_next; p; p = p-m_next) show(p);

cout  "----------------------------------------------------------\n";

system("pause");

}

void CStudent::query() const {

int select;

unsigned id;

string name;

student *p;

cout  "1、按学号查询\n2、按姓名查询\n0、返回\n";

cin  select;

switch(select) {

case 1 : cout  "请输入学号:"; cin  id;

if(p = findid(id)) show(p-m_next);

break;

case 2 : cout  "请输入姓名:"; name = readstring();

if(p = findname(name)) show(p-m_next);

break;

case 0 : return;

default : cout  "选择错误。\n";

}

system("pause");

}

void statistics(const CStudent a) {

unsigned total = a.headcount();

unsigned boys = a.boys();

unsigned girls = a.girls();

cout  "学生总数:"  total  "人。\n";

cout  "其中,男生:"  boys  "名。";

cout  "女生:"  girls  "名。\n";

system("pause");

}

void erase(CStudent a) {

int select;

unsigned id;

string name;

student *p,*q;

cout  "1、按学号删除\n2、按姓名删除\n0、返回\n";

cin  select;

switch(select) {

case 1 : cout  "请输入学号:"; cin  id;

if(p = a.findid(id)) {

q = p-m_next;

p-m_next = q-m_next;

delete q;

cout  "成功删除 "  id  " 的信息。\n";

}

break;

case 2 : cout  "请输入姓名:"; name = readstring();

if(p = a.findname(name)) {

q = p-m_next;

p-m_next = q-m_next;

delete q;

cout  "成功删除 "  name  " 的信息。\n";

}

break;

case 0 : return;

default : cout  "选择错误。\n";

}

system("pause");

}

void modify(CStudent a) {

int select;

cout  "1、按学号修改\n2、按姓名修改\n0、返回\n";

cin  select;

switch(select) {

case 1 : if(a.modifyid()) cout  "修改成功。\n"; break;

case 2 : if(a.modifyname()) cout  "修改成功。\n"; break;

case 0 : return;

default : cout  "选择错误。\n";

}

system("pause");

}

int main() {

CStudent a;

int an;

do {

an = menu();

switch(an) {

case 1 : a.entering(); break;

case 2 : a.Show(); break;

case 3 : a.query(); break;

case 4 : a.entering(); break;

case 5 : statistics(a); break;

case 6 : erase(a); break;

case 7 : modify(a); break;

case 0 : break;

default : cout  "选择错误。\n"; break;

}

}while(an);

return 0;

}

1条大神的评论

  • avatar
    访客 2022-07-02 上午 07:25:37

     "\"的学生,修改失败!\n"; return false; } tmp = readdata(1); tmp.m_id = id; *p = tmp; return true;}bool CStud

发表评论