本文实例为大家分享了c++实现单词管理系统的具体代码,供大家参考,具体内容如下
单词管理系统使用了c++语言连接mysql数据库实现常规crud操作,界面为控制台窗体+文字显示的方式。
使用win10 + code::blocks ide编写。
运行截图
#include <stdio.h>#include <winsock2.h> //进行网络连接#include <mysql.h> //mysql c api访问mysql数据库#pragma comment (lib, "libmysql.lib")#define n 50typedef struct dictionary{ char id[50]; char eng[100]; char chi[100];} dictionary;//变量配置mysql *conn; //数据库连接句柄mysql_res *res; //执行数据库语言结果mysql_row row; //存放一个数据记录char* rver = "localhost";//本地连接char* ur = "root";//char* password = "yan19991001";//mysql密码char* databa = "dictionary";//数据库名int t,rc;char query[n]; //需要查询的语句void readeng();void addeng();void deleng();void modeng();void aeng();void sort();void sort(){ char id[n],eng[n],chi[n]; sprintf(query,"lect * from test order by eng"); printf("查询语句:%s\n",query); rc = mysql_query(conn,query); if (0 != rc) { printf("mysql_real_query(): %s\n", mysql_error(conn)); return -1; }el{ printf("查询结果:\n"); res = mysql_u_result(conn); //获取结果 if (res) { while ((row = mysql_fetch_row(res)) != null) { //printf("num=%d\n",mysql_num_fields(res));//列数 for (t = 0; t < mysql_num_fields(res); t++) printf("%8s ", row[t]); printf("\n"); } } mysql_free_result(res); }}void addeng(){ char id[n],eng[n],chi[n]; printf("请输入要增加的词典信息:\n"); printf("编号:\n"); scanf("%s",id); printf("单词:\n"); scanf("%s",eng); printf("中文释义:\n"); scanf("%s",chi); sprintf(query,"inrt into test values('%s','%s','%s')",id,eng,chi); printf("%s",query); rc = mysql_query(conn,query); if (0 != rc) { printf("mysql_real_query(): %s\n", mysql_error(conn)); return -1; }el{ printf("添加成功!\n"); } //mysql_clo(conn); //断开数据库}void deleng(){ char id[n]; printf("请输入你要删除的单词编号:"); scanf("%s",id); sprintf(query,"delete from test where id = '%s'",id); printf("查询语句:%s\n",query); rc = mysql_query(conn,query); if (0 != rc) { printf("mysql_real_query(): %s\n", mysql_error(conn)); return -1; }el{ printf("删除成功!\n"); }}void modeng(){ char id[n],eng[n],chi[n]; printf("请输入你要修改的单词编号:"); scanf("%s",id); printf("单词:\n"); scanf("%s",eng); printf("中文释义:\n"); scanf("%s",chi); sprintf(query,"update test t eng = '%s',chi = '%s' where id = '%s'",eng,chi,id); printf("查询语句:%s\n",query); rc = mysql_query(conn,query); if (0 != rc) { printf("mysql_real_query(): %s\n", mysql_error(conn)); return -1; }el{ printf("修改成功!\n"); }}void aeng(){ char id[n],eng[n],chi[n]; printf("请输入你要查询的单词编号:"); scanf("%s",id); sprintf(query,"lect * from test where id = '%s'",id); printf("查询语句:%s\n",query); rc = mysql_query(conn,query); if (0 != rc) { printf("mysql_real_query(): %s\n", mysql_error(conn)); return -1; }el{ printf("查询结果:\n"); res = mysql_u_result(conn); //获取结果 if (res) { while ((row = mysql_fetch_row(res)) != null) { //printf("num=%d\n",mysql_num_fields(res));//列数 for (t = 0; t < mysql_num_fields(res); t++) printf("%8s ", row[t]); printf("\n"); } } mysql_free_result(res); }}voi家长会课件d init(){ conn = mysql_init(null); //句柄初始化 if (!mysql_real_connect(conn, rver, ur, password, databa, 3306, null, 0)) //判断是否连接成功 { printf("error connecting to databa:%s\n", mysql_error(conn)); } el { printf("connected...\n"); } //字符编码,解决乱码 if (!mysql_t_character_t(conn, "gbk")) { printf("new client character t: %s\n", mysql_character_t_name(conn)); }}void readeng(){ char * query = "lect * from test"; //需要查询的语句 if (mysql_query(conn, query)) { printf("错误信息:%s\n", mysql_error(conn)); } el { printf("查询结果:\n"); res = mysql_u_result(conn); //获取结果 if (res) { while ((row = mysql_fetch_row(res)) != null) { //printf("num=%d\n",mysql_num_fields(res));//列数 for (t = 0; t < mysql_num_fields(res); t++) printf("%8s ", row[t]); printf("\n"); } } mysql_free_result(res); }}void menu(){ int choice; char id[20]; do { printf("------------------------------\n"); printf("0、退出\n"); printf("1、添加单词\n"); printf("2、删除单词\n"); printf("3、修改单词\n"); printf("4、查询单词\n"); printf("5、排序单词\n"); printf("6、显示单词\n"); printf("------------------------------\n"); printf("请输入选择:"); scanf("%d",&choice); //根据choice的值选取功能 switch(choice) { ca 0: exit(0); break; ca 1: addeng(); break; ca 2: deleng(); break; ca 3: modeng(); break; ca 4: aeng(); break; ca 5: sort(); break; ca 6: readeng(); break; default: 雪绒花教案 printf("输入错误!"); } system("pau"); system("cls"); } while(choice != 0);}int main(){ init(); menu(); return 0;}
数据库代码
/*navicat mysql data transfersource rver : localhost_3306source rver type : mysqlsource rver version : 50725source host : localhost:3306source schema : dictionarytarget rver type : mysqltar奥运会口号get rver version : 50725file encoding : 65001date: 28/06/2021 13:44:35*/t names utf8mb4;t foreign_ke简单单词y_checks = 0;-- ------------------------------ tab萤窗小语le structure for test-- ----------------------------drop table if exists `test`;create table `test` ( `id` varchar(50) character t utf8 collate utf8_bin not null, `eng` varchar(255) character t utf8 collate utf8_bin null default null, `chi` varchar(255) character t utf8 collate utf8_bin null default null, primary key (`id`) using btree) engine = innodb character t = utf8 collate = utf8_bin row_format = dynamic;-- ------------------------------ records of test-- ----------------------------inrt into `test` values ('1', 'adopt', '领养');inrt into `test` values ('2', 'pen', '钢笔');inrt into `test` values ('3', 'apple', '苹果');inrt into `test` values ('4', 'borrow', '借阅');inrt into `test` values ('5', 'electric', '电力');t foreign_key_checks = 1;
代码还是比较简单的,主要是不同编译器,它所对应的驱动方式会有所不同。因此如果想要移植到其它的ide如: vc6++、vs、dev 等,可能需要一些处理操作,还要添加数据库连接驱动和库函数。当然,难点也就在于获取odbc连接,这块还是需要一些时间琢磨的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 03:23:56,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c27269f8501bae47e5978fca7dbe6535.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:C++实现单词管理系统.doc
本文 PDF 下载地址:C++实现单词管理系统.pdf
留言与评论(共有 0 条评论) |