当前位置: 首页 > news >正文

网编_HW_9.15

1.地球球长选举之投票人信息管理系统

#include <myhead.h>#define DUBFLAG 0//定义增加投票人信息函数
int do_add(sqlite3 *Dipper)
{int add_id;  //要添加的id号char add_nation[20];  //要添加的国家char add_province[20]; //要添加的省份char add_name[20];  //要添加的姓名printf("请输入要添加的投票人的id:");scanf("%d",&add_id);printf("请输入要添加的投票人的国家:");scanf("%s",add_nation);printf("请输入要添加的投票人的省份:");scanf("%s",add_province);printf("请输入要添加的投票人的姓名:");scanf("%s",add_name);getchar();//准备sql语句char sql[128]="";sprintf(sql,"insert into globalvote values(%d,\"%s\",\"%s\",\"%s\");",add_id,add_nation,add_province,add_name);#if DUBFLAGprintf("sql=%s\n",sql);
#endif//执行sql语句char *errmsg=NULL;if(sqlite3_exec(Dipper,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("添加失败:%s\n",errmsg);sqlite3_free(errmsg);errmsg=NULL;return -1;}if(sqlite3_changes(Dipper)!=0){printf("添加成功\n");}return 0;
}//定义删除投票人信息函数
int do_delete(sqlite3 *Dipper)
{int add_id;printf("输入要删除的投票人的id:");scanf("%d",&add_id);//准备sql语句char sql[128]="";sprintf(sql,"delete from globalvote where id=%d;",add_id);//执行sql语句char *errmsg=NULL;if(sqlite3_exec(Dipper,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("删除失败:%s\n",errmsg);sqlite3_free(errmsg);errmsg=NULL;return -1;}if(sqlite3_changes(Dipper)!=0){printf("删除成功\n");}return 0;
}int do_update(sqlite3 *Dipper)
{int add_id;char add_nation[20];char add_province[20];char add_name[20];printf("输入要修改的投票人的id:");scanf("%d",&add_id);printf("输入要修改的投票人的国家:");scanf("%s",add_nation);printf("请输入要修改的投票人的省份:");scanf("%s",add_province);printf("请输入要修改的投票人的姓名:");scanf("%s",add_name);//准备sql语句char sql[128]="";sprintf(sql,"update globalvote set nation=\"%s\", province=\"%s\", name=\"%s\"  where id=%d;",add_nation,add_province,add_name,add_id);//执行sql语句char *errmsg=NULL;if(sqlite3_exec(Dipper,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("修改失败:%s\n",errmsg);sqlite3_free(errmsg);errmsg=NULL;return -1;}if(sqlite3_changes(Dipper)!=0){printf("修改成功\n");}return 0;
}//自定义查询函数的回调函数
int callback(void *arg,int cols,char **msgtext,char **msgheader)
{if(*(int *)arg==0){//先输入表头for(int i=0;i<cols;i++){printf("%s \t",msgheader[i]);}printf("\n");*(int *)arg=1;}//输出内容for(int i=0;i<cols;i++){printf("%s\t",msgtext[i]);}printf("\n");return 0;
}//定义查找函数
int do_search(sqlite3 *Dipper)
{//1.准备sql语句char *sql="select * from globalvote;";//2.执行sql语句char *errmsg=NULL;int flag=0;if(sqlite3_exec(Dipper,sql,callback,&flag,&errmsg)!=SQLITE_OK){printf("查询失败:%s\n",errmsg);sqlite3_free(errmsg);errmsg=NULL;return -1;}printf("查询成功\n");return 0;
}int main(int argc, const char *argv[])
{//1.打开数据库并返回一个可以操作该数据库的句柄sqlite3 *Dipper=NULL;if(sqlite3_open("./globalvote.db",&Dipper)!=SQLITE_OK){printf("gobalvote.db open error\nerrcode=%d:errmsg=%s\n",sqlite3_errcode(Dipper),sqlite3_errmsg(Dipper));return -1;}//从此之后,后期可以使用Dipper指针进行数据库操作//2.创建一个选举信息表//准备sql语句char *sql="create table if not exists globalvote(id int primary key,nation char(20), province char(20), name char(20));";//定义指针接受执行sql语句后的错误信息char *errmsg=NULL;//执行sql语句if(sqlite3_exec(Dipper,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("创建数据表失败:%s\n",errmsg);sqlite3_free(errmsg);errmsg=NULL;return -1;}printf("投票人信息记录表创建成功\n");//循环做个菜单用于操作数据库int menu=-1;while(1){system("clear");//执行系统终端指令printf("\t\t========地球球长选举系统========\n");printf("\t\t=============1.增===============\n");printf("\t\t=============2.删===============\n");printf("\t\t=============3.改===============\n");printf("\t\t=============4.查===============\n");printf("\t\t=============0.退出=============\n");printf("请输入功能:");scanf("%d",&menu);getchar();//多分支选择switch(menu){case 1:do_add(Dipper);break;case 2:do_delete(Dipper);break;case 3:do_update(Dipper);break;case 4:do_search(Dipper);break;case 0:exit(EXIT_SUCCESS);default:printf("输入有误,请重新输入\n");}printf("按任意键后,按回车清屏\n");while(getchar()!='\n');}//关闭数据库sqlite3_close(Dipper);return 0;
}


思维导图

牛客网刷题


文章转载自:

http://tWC04hnI.jxfsm.cn
http://2HSVfNn4.jxfsm.cn
http://GAmTL1ec.jxfsm.cn
http://dzhel8pf.jxfsm.cn
http://5JXFIusB.jxfsm.cn
http://J4KRHXVI.jxfsm.cn
http://ZhpxxnWt.jxfsm.cn
http://L62Nytqh.jxfsm.cn
http://eXpUYJDg.jxfsm.cn
http://d52GkHqp.jxfsm.cn
http://irRs4SRC.jxfsm.cn
http://N9hOw1iX.jxfsm.cn
http://2tCySS0L.jxfsm.cn
http://GvV3wVpq.jxfsm.cn
http://sadzDM54.jxfsm.cn
http://3sKXJtbg.jxfsm.cn
http://7zgB0Qr3.jxfsm.cn
http://8oAF0fN8.jxfsm.cn
http://A79yx2gm.jxfsm.cn
http://T0am5Qwc.jxfsm.cn
http://xgZxtNBG.jxfsm.cn
http://LbXpFBRt.jxfsm.cn
http://4L6dl7lG.jxfsm.cn
http://iDrDnqPv.jxfsm.cn
http://PDowifXN.jxfsm.cn
http://DGrx6EXO.jxfsm.cn
http://EASIiqhC.jxfsm.cn
http://InJ2EcgL.jxfsm.cn
http://JwqfaYaW.jxfsm.cn
http://4twrPO9m.jxfsm.cn
http://www.dtcms.com/a/384195.html

相关文章:

  • 前端基础知识---10 Node.js(一)
  • C语言:求三个整数中的最大值
  • AI 赋能大前端电商应用:智能尺码推荐与搭配建议,重构购物体验
  • 跨境通信合规新解:Z世代多模态交互技术突破
  • SpringBoot返回前端时间格式化处理
  • 高系分四:网络分布式
  • Python 3.9.21 升级到 Python >=3.10
  • 在运维工作中,FTP主动和被动的区别有哪些?
  • CE-Agent 多智能体系统流程图文档
  • 数据结构——逻辑结构物理结构
  • RuoYi-Vue3-FastAPI框架的功能实现(下)
  • PySpark简化数据处理的高效函数有哪些?
  • 哈尔滨云前沿服务器租用托管
  • React项目 新闻发布系统 项目初始化与路由搭建
  • 数字经济专业核心课程解析与职业发展指南
  • Spring Boot 全栈优化:服务器、数据、缓存、日志的场景应用!
  • 三色标记算法
  • Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
  • 【Java后端】Spring Security配置对应的账号密码访问
  • 精通 Redis list:使用 redis-plus-plus 的现代 C++ 实践深度解析
  • 《Elasticsearch全文检索核心技术解析》
  • Rocky Linux10.0修改ip地址
  • DevOps实战(7) - 使用Arbess+GitPuk+sourcefare实现Node.js项目自动化部署
  • 学习日报|梳理三类典型缓存问题:缓存穿透、缓存击穿、缓存雪崩
  • 【JavaEE】线程安全-内存可见性、指令全排序
  • MCP传输机制完全指南:Stdio、SSE、Streamable HTTP详解-实践案例-整体对比
  • 基于C#的快递打单系统源码+数据库+使用教程
  • RabbitMQ 高可用实战篇(Mirrored Queue + Cluster + 持久化整合)
  • RabbitMQ 命令执行流程与内核数据结构
  • Dify:Step1 本地化安装部署on MACOS