/*
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. [Javascript] 轻量级的JavaScript日期处理类库xDate使用指南

    XDate是一个请谅解的JavaScript的原生Date对象的封装库,提供增强的功能解析,格式化和日期处理.使用起来就和JavaScript自己的对象和方法一样,非常简单. XDate是一个请谅解的 ...

  2. 一起学Android之Fragment

    概述 本文以一个简单的小例子,简述在Android开发中,Fragment的常见用法,仅供学习分享使用,如有不足之处,还请指正. 什么是Fragment? Fragment代表一个功能或者用户界面的一 ...

  3. 前端总结·基础篇·CSS

    前端总结·基础篇·CSS 1 常用重置+重置插件(Normalize.css,IE8+) * {box-sizing:border-box;}  /* IE8+ */body {margin:0;}  ...

  4. 前端(小程序)项目Aes.js/Md5.js加密的处理方法

    做项目中需要对前端数据加密传输这个时候需要用到前端加密的算法主要是:Aes.js,Md5.js 一.Vue项目用到的aes.js加密. 1.直接在index.html引入aes.js或者在npm in ...

  5. HTML与CCS(十一)

    1.1 HTML介绍 1.1.1 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) s ...

  6. 百度地图api的简单应用

    百度地图api 获取经纬度(通过浏览器的) //获取经纬度 window.navigator.geolocation.getCurrentPosition(function(position) { a ...

  7. 2018最新WordPress缩略图设置方法

    缩略图设置的方法很多,但都不全面,且很多教程已经失效了,其中使用插件来实现,可是那些插件都使用过都不能实现效果,所以我整理了一份使用代码实现缩略图的方法. 1.找到网站根目录/wp-content/t ...

  8. redis的基本命令

    一.String类型的键值对 给一个变量赋值 set varName varVal eg 得到一个变量的值 get varName eg 删除一个变量 del varName eg del nume ...

  9. UWP Tiles

    1.我们建议安装通知库 NuGet 程序包 详细内容 2.我们建议安装NotificationsVisualizerLibrary 这是 The official NotificationsVisua ...

  10. auto_ftp_sh

    #!/usr/bin/env python # -*- coding:utf-8 -*-   import paramiko import time   mydate = time.strftime( ...