高校学生学籍系统C++&mysql

/*
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;
}
时间: 2024-08-26 02:54:46

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

高校学生学籍系统C++&amp;mysql

#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;

web高校学生奖学金评定系统

每天记录学习,每天会有好心情.*^_^* 在学习基于web的高校学生奖学金评定系统项目的时候,方便日后能及时查阅,在本平台中记录一下基于web的高校学生奖学金评定系统的开发流程.在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便,简单易上手.是我们学习编程可以重点学习的一个框架,我在开发基于web的高校学生奖学金评定系统项目的时候选用了MYECLIPSE来搭建SSM(MYECLIPSE)框架,最终将基于web的高校学生奖学金评定系统项目开发为了一个 后台项目.基

JAVA学生学籍管理系统

每天记录学习,每天会有好心情.*^_^* 今天记录的项目是基于JAVA的学生学籍管理系统,基于JAVA的学生学籍管理系统项目是这么回事:电子学籍系统可对学生学籍注册.档案管理.学籍异动.升级.毕业.成长记录实现全程信息化管理.采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库.2013年12月8日,教育部基础教育一司司长王定华在长春出席会议时表示,中小学电子学籍系统将在2013年年底全国联网,2014年正式实现开通,今后中央在一些经费支持方面,将与

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

我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误检测并且抛出异常,中止进一步的错误操作,所采用的战术为错误(异常)检测, 此异常属于Action层,只捕获自定义应用异常,其他异常上抛.Struts2提供了异常拦截器,拦截器会将定义的异常捕获,记录日志,然后根据配置的异常的类型顺序跳转到相应的页面.(2)遵从J2EE的系统提供了可以使用的事务服务,

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

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

学生学籍管理系统

<span style="color:#ff0000;"> 学生学籍管理系统</span> 这个项目用了一天半的时间就完成了,一开始我没打算用链表来实现的,但是我自学链表也有一段时间了,想看看自己对链表掌握了多少,所以选择了用链表.第一次用链表写了一个系统,难免会有Bug,希望各位程序猿能指点一下..... /********************************************** 学生学籍管理系统 每个学生的信息包括:学号.姓名.性别.三门

高校学生征信系统Postmortem结果

Postmortem结果 设想和目标 1 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件需要解决的问题是当前高校学生征信系统建设薄弱的问题,我们试图建立一个征信系统,在完成之后推向高校试用.减少类似于"校园贷"之类的恶性事件的发生. 我们认为我们对于该软件的定义相对清楚,在项目需求报告中也给出了相对清晰的典型用户和典型和场景. 2 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么?) 总体来说,基本达到预期目标,但是

基于二叉排序树的高校分数查询系统

前述:该学期最后的数据结构的课程设计选题,于是记录在自己博客中,作为自己技术成长的点滴吧. 题目:高校最低录取分数线的查询 编程实现一个开放式的高校本科招生最低分数线的查询系统,供师生及家长等查询,高校自愿放入该校的信息,可能随时有高校加入. 要求实现的查询功能有: 查询等于用户给定分数的高校 查询大于(或小于)用户给定分数的高校 查询最低录取分数线的用户给定的分数段中的高校   以上就是老师给定题目中要求实现的功能,为了是程序整体更加完整,自己对高校使用部分做了一些功能添加,例如学校信息的增删

C语言学生学籍信息管理系统源码附赠实验报告

一.课程设计目标 C语言课程设计的目的是通过课程设计的综合训练,培养学生实际分析问题.编程和动手能力,最终目标是通过这种形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务.本课程设计具有如下特点:重点在于C语言的基本特征上,涵盖了C语言的重要基础知识.结合了实际应用的要求,使课程设计既涵盖知识点,又接近工程实际需要.通过激发学习兴趣,调动学生主动学习的积极性,并引导他们根据实际编程要求,训练自己实际分析问题的能力以及编程能力,并养成良好的编程习惯. 另外,在实际编程中,为了提高编程质量