//
// 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;
}
}



