/*
C++程序设计实践教学环节任务书
一、题目:高校学籍管理系统
二、目的与要求
1. 目的:
1.掌握C++语言基本知识及其编程方法 
2.掌握类和对象的基本概念与用法
3.掌握面向对象中的继承与多态等面象对象特性
4.掌握文件流的基本操作
2. 要求 
基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完毕系统的设计; 
(2)要求在设计的过程中,建立清晰的类层次。 
(3)在系统中至少要定义8个类,每一个类中要有各自的属性和方法。 
(4)在系统的设计中,要求使用面向对象的继承与多态
*/
#include <iostream>
#include <stdlib.h>
#include <string>
#include <winsock2.h>
#include <mysql.h>
#pragma comment(lib,"ws2_32")
#pragma comment(lib,"libmysql")
using namespace std; class Student
{
int id;
char name[200];
char sex[100];
char min_zu[220];
char ji_guan[330];
char sheng_fen_zheng_hao[20];
char QQ[20];
char phone[20];
int score;
public:
void show_table();
int main_menu();
void input();
int xiu_gai();
int xiu_gai_menu();
int cha_xun();
int cha_xun_menu();
int del();
int shan_menu();
int score_tong_ji();
int score_tong_ji_menu();
}; class Xu_gai:public Student//改动类
{
public:
void xiu_gai_xue_hao();
void xiu_gai_xing_ming();
void xiu_gai_xing_bie();
void xiu_gai_min_zu();
void xiu_gai_ji_guan();
void xiu_gai_shen_fen_zheng_hao();
void xiu_gai_QQ_hao();
void xiu_gai_dian_hua();
void xiu_gai_cheng_ji();
}; class Cha_xun:public Student//查询类
{
public:
void xue_hao_cha_xun();
void xing_ming_cha_xun();
}; class Shan_chu:public Student//删除类
{
public:
void xue_hao_shan_chu();
void xing_ming_shan_chu();
}; class Score:public Student//成绩统计类
{
public:
void cheng_ji_pai_xu();
void zui_gao_zui_di_fen_xin_xi();
void ping_jun_fen();
void ji_ge_lv();
}; void Score::ji_ge_lv()//全体学生的及格率
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
float a,b;
mysql_query(&mysql,"select count(*) from xueji where score >= 450");
cout<<"及格人数:";
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{ cout<<row[0];
a = atoi(row[0]);
cout<<endl;
}
}
mysql_query(&mysql,"select count(*) from xueji");
cout<<"总人数:";
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{
cout<<row[0];
b = atoi(row[0]);
cout<<endl;
}
}
cout<<"及格率:";
cout << ((a/b)*100)<<"%" << endl<<endl;
mysql_free_result(resultset);
}
} void Score::ping_jun_fen()//全体学生的平均分
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
float a,b;
mysql_query(&mysql,"select avg(score) from xueji");
cout<<"平均分:";
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{
cout<<row[0];
a = atoi(row[0]);
cout<<endl;
}
}
mysql_free_result(resultset);
}
} void Score::zui_gao_zui_di_fen_xin_xi()//最高最低分学生的信息
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
float a,b;
mysql_query(&mysql,"select max(score) from xueji");
cout<<"最高分:";
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{
cout<<row[0];
a = atoi(row[0]);
cout<<endl;
}
}
mysql_query(&mysql,"select min(score) from xueji");
cout<<"最低分:";
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{
cout<<row[0];
b = atoi(row[0]);
cout<<endl;
}
}
mysql_free_result(resultset);
}
} void Score::cheng_ji_pai_xu()//成绩排序
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
cout<<"**************************************開始成绩排名**************************************"<<endl;
cout<<" 学号 "<<" 姓名 "<<"性别 "<<"民族 "<<"籍贯 "<<" 身份证 "<<" QQ "<<" 电话 "<<" 成绩 "<<endl;
cout<<"--------------------------------------------------------------------------------------"<<endl;
mysql_query(&mysql,"select * from xueji order by score desc");
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
//int numRows = mysql_num_rows(resultset);
int numFields = mysql_num_fields(resultset);
while(row=mysql_fetch_row(resultset))
{
int i;
for(i=0;i<numFields;i++)
{
cout<<" "<<row[i]<<" ";
}
cout<<endl;
cout<<"--------------------------------------------------------------------------------------"<<endl;
}
}
else
{
cout<<"\n无查询结果!";
}
mysql_free_result(resultset);
}
} void Shan_chu::xing_ming_shan_chu()//按姓名删除
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
char std[220];
char na[200];
cout<<"请输入要删除学籍信息的学生姓名: "<<endl;
cin>>na;
sprintf(std,"delete from xueji where name='%s';",na);
if(mysql_query(&mysql, std))
{
cout<<"数据查询错误发生"<<endl;
}
else
{
cout<<"删除成功!"<<endl;
}
}
} void Shan_chu::xue_hao_shan_chu()//按学号删除
{
Student zhao;
system("pause");
system("cls");
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
printf("\n数据库连接错误发生!");
}
else
{
char std[220];
int na;
cout<<"请输入要删除学籍信息的学生学号: "<<endl;
cin>>na;
sprintf(std,"delete from xueji where id=%d;",na);
if(mysql_query(&mysql, std))
{
cout<<"数据查询错误发生"<<endl;
}
else
{
cout<<"删除成功! "<<endl;
}
}
} void Cha_xun::xing_ming_cha_xun()//姓名查询
{
system("cls");
system("pause");
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char n[200];
cout<<"请输入要查的姓名:"<<endl;
cin>>n;
sprintf(std,"select * from xueji where name='%s';",n);
if(mysql_query(&mysql, std))
{
printf("\n数据查询错误发生\n");
}
else
{
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields=mysql_num_fields(resultset);//**获得表中的字段
while(row=mysql_fetch_row(resultset))
{
int i=0;
for(i=0;i<numFields;i++)
{
mysql_query(&mysql,"SET NAMES LATIN1");
cout<<" "<<row[i]<<" ";
}
cout<<endl;
}
}
else
{
cout<<"显示无果。";
}
}
mysql_free_result(resultset);
}
} void Cha_xun::xue_hao_cha_xun()//学号查询
{
system("cls");
system("pause");
MYSQL mysql;
mysql_init(&mysql);
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
int n;
cout<<"请输入要查的学号:"<<endl;
cin>>n;
cout<<"--------------------------------------显示查询----------------------------------------"<<endl;
cout<<" 学号 "<<" 姓名 "<<"性别 "<<"民族 "<<"籍贯 "<<" 身份证 "<<" QQ "<<" 电话 "<<" 成绩 "<<endl;
cout<<"--------------------------------------------------------------------------------------"<<endl;
sprintf(std,"select * from xueji where id=%d;",n);
if(mysql_query(&mysql, std))
{
printf("\n数据查询错误发生\n");
}
else
{
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields=mysql_num_fields(resultset);//**获得表中的字段
while(row=mysql_fetch_row(resultset))
{
int i=0;
for(i=0;i<numFields;i++)
{
mysql_query(&mysql,"SET NAMES LATIN1");
cout<<" "<<row[i]<<" ";
}
cout<<endl;
}
cout<<"--------------------------------------------------------------------------------------"<<endl;
}
else
{
cout<<"显示无果。";
}
}
mysql_free_result(resultset);
}
} void Xu_gai::xiu_gai_cheng_ji()//改动成绩
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的成绩:"<<endl;
cin>>m;
sprintf(std,"update xueji set score='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_dian_hua()//改动电话
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的电话:"<<endl;
cin>>m;
sprintf(std,"update xueji set phone='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_QQ_hao()//改动QQ号
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误! "<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的QQ号:"<<endl;
cin>>m;
sprintf(std,"update xueji set QQ='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_shen_fen_zheng_hao()//改动身份证号************************************************************
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误。"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的身份证号:"<<endl;
cin>>m;
sprintf(std,"update xueji set sheng_fen_zheng_hao='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_ji_guan()//改动籍贯
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的籍贯:"<<endl;
cin>>m;
sprintf(std,"update xueji set ji_guan='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_min_zu()//改动民族
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的民族:"<<endl;
cin>>m;
sprintf(std,"update xueji set min_zu='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_xing_bie()//改动性别
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的性别:"<<endl;
cin>>m;
sprintf(std,"update xueji set sex='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_xing_ming()//改动姓名
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
char m[200];
int n;
cout<<"对目标学号信息进行改动:"<<endl;
cin>>n;
cout<<"请输入要新的姓名:"<<endl;
cin>>m;
sprintf(std,"update xueji set name='%s' where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} void Xu_gai::xiu_gai_xue_hao()//改动学号
{
system("cls");
system("pause");
cout<<"显示学生数据"<<endl;
Xu_gai zhao;
zhao.show_table();
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
char std[200];
int n,m;
cout<<"请输入要改动的学号:"<<endl;
cin>>n;
cout<<"请输入要新的学号:"<<endl;
cin>>m;
sprintf(std,"update xueji set id=%d where id=%d;",m,n);
if(mysql_query(&mysql, std))
{
printf("\n数据库更改错误发生\n");
}
else
{
printf("\n数据库更改数据成功\n");
}
}
} int Student::xiu_gai()//定义改动函数
{
cout<<"进入改动系统..."<<endl;
int h;
Xu_gai geng_zheng;
system("pause");
system("cls");
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误! "<<endl;
}
else
{
while(1)
{
h=geng_zheng.xiu_gai_menu();
switch(h)
{
case 1:
geng_zheng.xiu_gai_xue_hao();
break;
case 2:
geng_zheng.xiu_gai_xing_ming();
break;
case 3:
geng_zheng.xiu_gai_xing_bie();
break;
case 4:
geng_zheng.xiu_gai_min_zu();
break;
case 5:
geng_zheng.xiu_gai_ji_guan();
break;
case 6:
geng_zheng.xiu_gai_shen_fen_zheng_hao();
break;
case 7:
geng_zheng.xiu_gai_QQ_hao();
break;
case 8:
geng_zheng.xiu_gai_dian_hua();
break;
case 9:
geng_zheng.xiu_gai_cheng_ji();
break;
case 0:
return 0;
break;
default:
cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl;
}
}
}
return 0;
} int Student::cha_xun()//查询
{
system("pause");
system("cls");
Cha_xun cha;
MYSQL mysql;
int h;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误! "<<endl;
}
else
{
while(1)
{
h=cha.cha_xun_menu();
switch(h)
{
case 1:
cha.xue_hao_cha_xun();
break;
case 2:
cha.xing_ming_cha_xun();
break;
case 0:
return 0;
break;
default:
cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl;
}
}
}
return 0;
} int Student::del()//删除
{
system("pause");
system("cls");
Shan_chu shan;
MYSQL mysql;
int h;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误! "<<endl;
}
else
{
while(1)
{
h=shan.shan_menu();
switch(h)
{
case 1:
shan.xue_hao_shan_chu();
break;
case 2:
shan.xing_ming_shan_chu();
break;
case 0:
return 0;
break;
default:
cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl;
}
}
}
return 0;
} int Student::score_tong_ji()//成绩统计分析
{
system("pause");
system("cls");
Score tong_ji;
MYSQL mysql;
int h;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误!"<<endl;
}
else
{
while(1)
{
h=tong_ji.score_tong_ji_menu();
switch(h)
{
case 1:
tong_ji.cheng_ji_pai_xu();
break;
case 2:
tong_ji.zui_gao_zui_di_fen_xin_xi();
break;
case 3:
tong_ji.ping_jun_fen();
break;
case 4:
tong_ji.ji_ge_lv();
break;
case 0:
return 0;
break;
default:
cout<<"请选择正确的菜单项进行操作。 多谢合作!"<<endl;
}
}
}
return 0;
} void Student::input()//录入学生信息
{
system("pause");
system("cls");
Student lu_ru;
char std[200];
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql, "localhost", "root", "123456", "student", 3306, NULL, 0))
{
cout<<"数据库连接错误! "<<endl;
}
else
{
cout<<"请录入学生信息数据"<<endl<<endl<<"录入格式说明:输入一项按Enter键进行下一项的输入"<<endl<<endl;
mysql_query(&mysql, "SET NAMES LATIN1");
cout<<"学号 "<<"姓名 "<<"性别 "<<"民族 "<<"籍贯 "<<"身份证 "<<"QQ "<<"电话 "<<"成绩 "<<endl;
cin>>lu_ru.id>>lu_ru.name>>lu_ru.sex>>lu_ru.min_zu>>lu_ru.ji_guan>>lu_ru.sheng_fen_zheng_hao>>lu_ru.QQ>>lu_ru.phone>>lu_ru.score;
sprintf(std,"insert into xueji VALUES(%d,'%s','%s','%s','%s','%s','%s','%s',%d);"
,lu_ru.id,lu_ru.name,lu_ru.sex,lu_ru.min_zu,lu_ru.ji_guan,lu_ru.sheng_fen_zheng_hao,lu_ru.QQ,lu_ru.phone,lu_ru.score);
mysql_query(&mysql,std);
cout<<"加入成功"<<endl;
}
} void Student::show_table()//信息表数据的显示
{
system("cls");
MYSQL mysql;
MYSQL_RES *resultset;
MYSQL_ROW row;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"latin1");
if(!mysql_real_connect(&mysql,"localhost","root","123456","student",3306,NULL,0))
{
cout<<"\n数据库连接错误发生。";
}
else
{
if(mysql_query(&mysql,"select * from xueji"))
{
cout<<"表格数据显示失败!";
}
else
{
cout<<"--------------------------------------显示信息----------------------------------------"<<endl;
cout<<" 学号 "<<" 姓名 "<<"性别 "<<"民族 "<<"籍贯 "<<" 身份证 "<<" QQ "<<" 电话 "<<" 成绩 "<<endl;
cout<<"--------------------------------------------------------------------------------------"<<endl;
resultset=mysql_store_result(&mysql);
if(mysql_num_rows(resultset)!=NULL)
{
int numFields=mysql_num_fields(resultset);//**获得表中的字段
while(row=mysql_fetch_row(resultset))
{
int i=0;
for(i=0;i<numFields;i++)
{
mysql_query(&mysql,"SET NAMES LATIN1");
cout<<" "<<row[i]<<" ";
}
cout<<endl;
cout<<"--------------------------------------------------------------------------------------"<<endl;
}
}
else
{
cout<<"显示无果!";
}
}
mysql_free_result(resultset);
} } int Student::main_menu()//主菜单
{
system("pause");
system("cls");
int s;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl
<<" 1: 录入学生信息 "<<endl
<<" 2: 显示学生信息 "<<endl
<<" 3: 查找学生信息 "<<endl
<<" 4: 删除学生信息 "<<endl
<<" 5: 改动学生信息 "<<endl
<<" 6: 统计学生成绩 "<<endl
<<" 0: 退出系统 "<<endl
<<" 请选择:";
cin>>s;
return s;
} int Student::xiu_gai_menu()//改动菜单
{
system("pause");
system("cls");
int a;
cout<<endl<<endl<<endl<<endl<<endl
<<" 1: 改动学号 "<<endl
<<" 2: 改动姓名 "<<endl
<<" 3: 改动性别 "<<endl
<<" 4: 改动民族 "<<endl
<<" 5: 改动籍贯 "<<endl
<<" 6: 改动身份证 "<<endl
<<" 7: 改动QQ号 "<<endl
<<" 8: 改动手机号 "<<endl
<<" 9: 改动成绩 "<<endl
<<" 0: 返回上一层 "<<endl
<<" 请选择:";
cin>>a;
return a;
} int Student::cha_xun_menu()//查询菜单
{
system("pause");
system("cls");
int k;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl
<<" 1: 按学号查找 "<<endl
<<" 2: 按姓名查找 "<<endl
<<" 0: 返回上一层 "<<endl
<<" 请选择:";
cin>>k;
return k;
} int Student::shan_menu()//删除菜单
{
system("pause");
system("cls");
int g;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl
<<" 1: 按学号删除 "<<endl
<<" 2: 按姓名删除 "<<endl
<<" 0: 返回上一层 "<<endl
<<" 请选择:";
cin>>g;
return g;
} int Student::score_tong_ji_menu()//成绩统计菜单
{
system("pause");
system("cls");
int d;
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl
<<" 1: 对成绩进行排序 "<<endl
<<" 2: 最高和最低成绩的学生信息 "<<endl
<<" 3: 全体学生的平均分 "<<endl
<<" 4: 及格率 "<<endl
<<" 0: 返回上一层 "<<endl
<<" 请选择:";
cin>>d;
return d;
} int main()
{
int n;
Student zhao;
MYSQL mysql;
mysql_init(&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","123456","student",3306,NULL,0))
{
cout<<"\n数据库连接错误发生!";
}
else
{
cout<<"\n\n\n\n\n\n\n\n\n 数据库连接成功! \n\n\n\n\n\n\n\n";
system("PAUSE");
system("cls");
while(1)
{
n=zhao.main_menu();
switch(n)
{
case 1:
zhao.input();
break;
case 2:
zhao.show_table();
break;
case 3:
zhao.cha_xun();
break;
case 4:
zhao.del();
break;
case 5:
zhao.xiu_gai();
break;
case 6:
zhao.score_tong_ji();
break;
case 0:
system("cls");
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
cout<<" ··········"<<endl;
cout<<" ***···谢谢使用···***"<<endl;
cout<<" ··········"<<endl<<endl<<endl<<endl<<endl<<endl;
exit(1);
break;
default:
cout<<"请选择正确的菜单项进行操作。多谢合作!"<<endl;
}
}
}
return 0;
}

高校学生学籍系统C++&amp;mysql的更多相关文章

  1. [C语言练习]学生学籍管理系统

    /** * @copyright 2012 Chunhui Wang * * wangchunhui@wangchunhui.cn * * 学生学籍管理系统(12.06) */ #include &l ...

  2. 高校学生征信系统Postmortem结果

    Postmortem结果 设想和目标 1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件需要解决的问题是当前高校学生征信系统建设薄弱的问题,我们试图建立 ...

  3. 高校手机签到系统——第一部分Authority权限系统(上)

    序:今天开始写一个算是我第一个系列的文章——高校手机签到系统.本系统结合我们学校自身的一些特点编写.这是我的毕业设计项目,写在这里算是给最后论文的时候一些点滴的记录.另外也想通过这个系列的文章找到一份 ...

  4. 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现

    基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...

  5. 基于SSH的高校网上选课系统的质量属性的实现

    我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误 ...

  6. 【C语言期末实训】学生学籍管理系统

    目录: 一,设计要求 ,总体要求: ,具体功能: 二,设计框架 三,程序代码 ,声明函数和头文件 ,声明结构体 ,声明全局变量 ,主体启动函数 ,主菜单函数 ,创建学生档案函数 ,编辑学生档案函数 , ...

  7. 学生选课系统v1.0

    最近两天写了下老师课上留的作业:学生选课系统.感觉自己写的特别麻烦,思路特别不清晰,平常自己总会偷懒,一些太麻烦细节的功能就不去实现了,用简单的功能来替代,直到自己这回写完这个系统(但自己写的比较lo ...

  8. “石家庄铁道大学软件工程系学生学籍管理系统2019版”java小程序制作分享

    首先附上完整代码: import java.util.Scanner; public class SocreInformation { public SocreInformation(){}; pub ...

  9. Java 石家庄铁道大学软件工程系 学生学籍管理系统 2019 版

    本系统的作用是简单实现一些学生成绩管理操作:录入,修改,绩点计算,以及系统退出等. 首先建一个主函数实现界面的实现,然后建一个数据类用来定义存放数据.之后建立一个工具类,用来实现所有要进行的操作.首先 ...

随机推荐

  1. Springboot 之 引入Thymeleaf

    转自:https://segmentfault.com/a/1190000011149325 前言 Spring-boot-starter-web集成了Tomcat以及Spring MVC,会自动配置 ...

  2. 05.使用jdk发布webservice服务

    无论服务端是用什么写的,使用框架写的还是用jdk写的,它都会发布出来这样一个东西.主要你遵循咱们这七个步骤来走就可以调用了. 咱们现在转换一下角色,自己发布一个服务让别人去调.怎么来发布一个服务? 我 ...

  3. JS——BOM操作(点击按钮返回顶部案例:scrollTop的用法)

    点击按钮返回顶部案例: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  4. .net中的母版页中使用FindControl的使用

    前几天,遇到一个字段比较多的用户填写的页面(数据库表中就将近100个字段),怎么讲这些input的标签的值,保存数据库了?(使用的是母版页下面的aspx,不包括前段获取input的值,传给后台) 作为 ...

  5. WinForm导出DataSet到Excel

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. (链接)IDEA 2018 激活 IDEA 2018.3激活教程 最新的(三种)—2018.11.26亲测

    破解不成功的请注意时效性,写于2019/2/8,以下第一种激活方法亲测可用, 不过有时候破解成功了可能过几天突然就打不开了,双击无反应的说,这时候再按顺序 操作一遍就是了: 1)把idea64.exe ...

  7. mybatis 高级映射和spring整合之逆向工程(7)

    mybatis 高级映射和spring整合之逆向工程(7) 4.0 逆向工程 4.1 mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行 ...

  8. ProgressDialog的关键几个函数

    进度条对话框在开发是常见的一种工具,只要注意以下几点,就可以轻松使用. ProgressDialog.setMax(MAX_PROGRESS);  //设置最大值,可以如下定义一个常值 //priva ...

  9. MongoDB_基本操作

    数据库操作 增加数据库 use db1 #如果数据库不存在,则创建数据库,否则切换到指定数据库 查询数据库 show dbs #可以看到,我们刚创建的数据库db1并不在数据库的列表中,要显示它我们需要 ...

  10. day06-08初识面向对象

    一.面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.优点是:极大的降低了写程序的 ...