栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言链接数据库 小学生出题系统

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言链接数据库 小学生出题系统

//
// Created by ASUS on 2022/6/7.
//版权 wei
//
#include
#include
#include
#include
#include

MYSQL mysql;
MYSQL_ROW row;
MYSQL_RES *result;

void yong() /显示用户以及密码/
{
/连接数据库/
if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“123456”,“suanshu”,0,NULL,0))
{
printf(“nt 不能连接数据库!n”);
}
else
{
mysql_query(&mysql, “set names utf8”);
/数据库连接成功/
if(mysql_query(&mysql,“select * from user”))
{ //如果查询失败
printf(“nt 查询 user 数据表失败!n”);
}
else
{
result=mysql_store_result(&mysql); //获得结果集
if(mysql_num_rows(result))
{
while((row=mysql_fetch_row(result)))
{ //取出结果集中记录
char a[20]=“0”;
char b[20]=“0”;
int count=0;
while(count<3) {
printf(“用户:n”);
scanf(“%s”, &a);//用户
printf(“密码:n”);
scanf(“%s”, &b);//密码
if (strcmp(row[0], a) == 0 && strcmp(row[1], b) == 0) {
printf(“登录成功n”);
//T();

                        break;//这个地方加入主程序
                    } else {
                        printf("账户or密码错误n");
                       // printf(row[1]);
                        //break;
                        count++;
                    }
                    if(3==count){ break;}
                }

            }
            //printf("t ════════════════════════════ n");
        }
        else
        {
            printf("nt 没有记录信息 !n");
        }
        mysql_free_result(result); //释放结果集
    }
    mysql_close(&mysql); //释放连接
}
//inquire(); 

}

void chu() //随机算术题目并且添加到数据库中 ----------------------这个功能是出题,-----------------------------------------
{
int rowcount; /结果集中的行数/
char num1[10]; /学号/
// char *nub1;
char *num2;
char *num3;
char *num4;
char *num5;
char *sum1;
char *sum2;
char *sum3;
char *sum4;
char *sum5;
char *yong1;
char *yong2;
char *yong3;
char *yong4;
char *yong5;
char *chengji;
char *dui;
char *cuo;
//----------------------------------------------------------------
char *sql;
char dest[500] ={" “}; /连接数据库/
int a,nub[10];//nub 随机数取值
int sum[10];//和的相加
int su[10];//用户输入的值
int b=0;//答对的题目数
int cheng=0;
int wyh=0;
srand((unsigned int)time(NULL));
for(a=0;a<7;a++)//需要存储6个随机数
{nub[a]=rand()%10;}
for(a=1;a<6;a++) {
sum[a]=nub[a]+nub[a+1];
printf(“第%d题n”,a);
printf(”%d+%d=n", nub[a], nub[a+1]);
scanf(“%d”,&su[a-1]);
// printf(“%d”,sum[a]);
}
for(a=1;a<6;a++){

    if(sum[a]==su[a-1]){
        b++;
    }

}
wyh=5-b;
cheng=b*20;
if(!mysql_real_connect(&mysql,"127.0.0.1","root","123456","suanshu",0,NULL,0))
{
    printf("nt 不能连接数据库!n");
}
else
{ 
    mysql_query(&mysql, "set names utf8");
    if(mysql_query(&mysql,"select * from timu"))
    { //如果查询失败
        printf("nt 查询 tb_students 数据表失败!n");
    }
    else
    {
        result=mysql_store_result(&mysql); //获得结果集
        rowcount=mysql_num_rows(result) ; //获得行数
        row=mysql_fetch_row(result); //获取结果集的行
        //printf("t 学生学号:");
       // scanf("%s",tt3); 
        char dd[4] ;
        itoa(nub[1],dd,10);//整数转换成字符串
        strcpy(num1, dd);//num1获取整数值
        sql="insert into timu (num1,num2,num3,num4,num5,sum1,sum2,sum3,sum4,sum5,yong1,yong2,yong3,yong4,yong5,chengji,dui,cuo) values (";
        strcat(dest,sql);
        strcat(dest,"'");
        strcat(dest,num1);
        strcat(dest,"', '");

        num2 = (char*)malloc(50);
        num3 = (char*)malloc(50); //不存在相同的学号
       // printf("xi");
        num4 = (char*)malloc(50);
        num5 = (char*)malloc(50);
        sum1=(char*)malloc(50);
        sum2=(char*)malloc(50);
        sum3=(char*)malloc(50);
        sum4=(char*)malloc(50);
        sum5=(char*)malloc(50);
        yong1=(char*)malloc(50);
        yong2=(char*)malloc(50);
        yong3=(char*)malloc(50);
        yong4=(char*)malloc(50);
        yong5=(char*)malloc(50);
        chengji=(char*)malloc(50);
        dui=(char*)malloc(50);
        cuo=(char*)malloc(50);
       // printf("t 学生名:");
        //scanf("%s",tt); 
        // b=tt;
        char dd1[4] ;
        itoa(nub[2],dd1,10);
        strcpy(num2, dd1);
        strcat(dest,num2); 
       // printf("t 年龄:");
       // scanf("%s",tt1); 
        char dd2[4] ;
        itoa(nub[3],dd2,10);
        strcpy(num3, dd2);
        strcat(dest,"', '");
        strcat(dest,num3);
       // printf("t 性别:");
       // scanf("%s",tt2); 
        char dd3[4] ;
        itoa(nub[3],dd3,10);
        strcpy(num4, dd3);
        strcat(dest,"', '");
        strcat(dest,num4);
        char dd4[4] ;
        itoa(nub[4],dd4,10);
        strcpy(num5, dd4);
        strcat(dest,"', '");
        strcat(dest,num5);
        char aa1[4] ;
        itoa(sum[1],aa1,10);
        strcpy(sum1, aa1);
        strcat(dest,"', '");
        strcat(dest,sum1);
        char aa2[4] ;
        itoa(sum[2],aa2,10);
        strcpy(sum2, aa2);
        strcat(dest,"', '");
        strcat(dest,sum2);
        char aa3[4] ;
        itoa(sum[3],aa3,10);
        strcpy(sum3, aa3);
        strcat(dest,"', '");
        strcat(dest,sum3);
        char aa4[4] ;
        itoa(sum[4],aa4,10);
        strcpy(sum4, aa4);
        strcat(dest,"', '");
        strcat(dest,sum4);
        char aa5[4] ;
        itoa(sum[5],aa5,10);
        strcpy(sum5, aa5);
        strcat(dest,"', '");
        strcat(dest,sum5);
        char bb1[4] ;
        itoa(su[0],bb1,10);
        strcpy(yong1, bb1);
        strcat(dest,"', '");
        strcat(dest,yong1);
        char bb2[4] ;
        itoa(su[1],bb2,10);
        strcpy(yong2, bb2);
        strcat(dest,"', '");
        strcat(dest,yong2);
        char bb3[4] ;
        itoa(su[2],bb3,10);
        strcpy(yong3, bb3);
        strcat(dest,"', '");
        strcat(dest,yong3);
        char bb4[4] ;
        itoa(su[3],bb4,10);
        strcpy(yong4, bb4);
        strcat(dest,"', '");
        strcat(dest,yong4);
        char bb5[4] ;
        itoa(su[4],bb5,10);
        strcpy(yong5, bb5);
        strcat(dest,"', '");
        strcat(dest,yong5);
        //==============================================成绩=====================
        char cc1[4] ;
        itoa(cheng,cc1,10);
        strcpy(chengji, cc1);
        strcat(dest,"', '");
        strcat(dest,chengji);
        char cc2[4] ;
        itoa(b,cc2,10);
        strcpy(dui, cc2);
        strcat(dest,"', '");
        strcat(dest,dui);
        char cc3[4] ;
        itoa(wyh,cc3,10);
        strcpy(cuo, cc3);
        strcat(dest,"', '");
        strcat(dest,cuo);

        strcat(dest,"')");
        //printf("%s",dest);
        if (mysql_query(&mysql,dest)!=0)
        {
            fprintf(stderr,"t %s 不能插入记录!",mysql_error(&mysql));
        }
        else
        {
            //printf("t 插入成功!n");
        }
        mysql_free_result(result); //释放结果集
    }
    mysql_close(&mysql); //释放连接
}
//inquire(); 

}
void da()//查看自己正确答案,
{

if(!mysql_real_connect(&mysql,"127.0.0.1","root","123456","suanshu",0,NULL,0))
{
    printf("nt 不能连接数据库!n");
}
else
{
    mysql_query(&mysql, "set names utf8");
    
    if(mysql_query(&mysql,"select * from timu"))
    {   //如果查询失败
        printf("nt 查询 timu 数据表失败!n");
    }
    else
    {
        result=mysql_store_result(&mysql); //获得结果集
        if(mysql_num_rows(result))
        { //有记录的情况,只有有记录取数据才有意义

            while((row=mysql_fetch_row(result)))
            { //取出结果集中记录
                fprintf(stdout,"您的成绩:t %s n",row[15]); //输出这行记录
                fprintf(stdout,"您做对了:t %s  n",row[16]); //输出这行记录
                fprintf(stdout,"您做错了:t %s  n",row[17]); //输出这行记录
                //--------------------------------------正确答案,懒的继续写函数了,直接在查看里面写出了-----------------------------
                printf("______________________________________下面是正确答案____________________________________________n-");
                fprintf(stdout,"第一题答案:t %s  n",row[5]); //输出这行记录
                fprintf(stdout,"第二题答案:t %s  n",row[6]); //输出这行记录
                fprintf(stdout,"第三题答案:t %s  n",row[7]); //输出这行记录
                fprintf(stdout,"第四题答案:t %s  n",row[8]); //输出这行记录
                fprintf(stdout,"第五题答案:t %s  n",row[9]); //输出这行记录


            }
            printf("t ════════════════════════════ n");
        }
        else
        {
            printf("nt 没有记录信息 !n");
        }
        mysql_free_result(result); //释放结果集
    }
    mysql_close(&mysql); //释放连接
}
//inquire(); 

}

void T()//错题重写实现功能
{
int a,b;
if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“123456”,“suanshu”,0,NULL,0))
{
printf(“nt 不能连接数据库!n”);
}
else
{
mysql_query(&mysql, “set names utf8”);
/数据库连接成功/
if(mysql_query(&mysql,“select * from timu”))
{ //如果查询失败
printf(“nt 查询 timu 数据表失败!n”);
}
else
{
result=mysql_store_result(&mysql); //获得结果集
if(mysql_num_rows(result))
{ //有记录的情况,只有有记录取数据才有意义

            while ((row=mysql_fetch_row(result)))
            { //取出结果集中记录
                //fprintf(stdout,"您的成绩:t %s n",row[15]); //输出这行记录 strcmp(row[0], a) == 0
                for(a=0;a<5;a++){
                    if(strcmp(row[5+a],row[10+a])!=0){

                        printf("%s+%s=n",row[a],row[a+1]);
                        scanf("%d",&a);
                    }
                }

            }
            printf("t ════════════════════════════ n");
        }
        else
        {
            printf("nt 没有记录信息 !n");
        }
        mysql_free_result(result); //释放结果集
    }
    mysql_close(&mysql); //释放连接
}
//inquire(); 

}

void menu()
{
printf(“nnnnn”);
printf(“t╔═══════════════════════════╗n”);
printf(“t║Welcome To 小学生 System║n”);
printf(“t╠═══════════════════════════╣n”);
printf(“t║t 1 - 做题 ║n”);
printf(“t║t 2 - 查看 ║n”);
printf(“t║t 3 - 错题 ║n”);
printf(“t║t 4 - 退出 ║n”);
printf(“t╚═══════════════════════════╝n”);
printf(“n ENTER YOUR CHOICE(1-3):”);
}

main(){
int TT;
printf(“------------------------------------用户登录,你有三次机会去尝试登录-------------------------n”);
mysql_init(&mysql);
yong();
menu();
scanf(“%d”,&TT);

    switch (TT) {
        case 1:
            chu();
            main();
            //break;
        case 2:
            da();
            main();
           // break;
        case 3:
            T();
            //printf("11");测试使用
            main();
            //break;
        case  4:
            break;

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960680.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号