C语言在线词典项目 您所在的位置:网站首页 在线词典项目简历怎么写 C语言在线词典项目

C语言在线词典项目

2024-07-15 11:55| 来源: 网络整理| 查看: 265

C语言-在线词典项目

功能:基于Linux操作系统,网络编程和数据库实现在线词典功能,客户端可以注册,登入,查询历史信息等操作,服务器基于TCP,多进程实现多客户端的并发访问,并使用sqlite3数据库实现对用户信息的管理。 1.注册:若用户名已经注册过,重新注册 2.登录:用户名或密码错误需重新登录 3.查询:输入要查的单词,#键结束查询 4.历史:可以查询当前用户历史查找过的单词 5.退出:退出英英在线词典

在这里插入图片描述

客户端 #include #include #include #include #include #include #include #include #include #define N 20 #define SIZE 256 #define R 1 #define L 2 #define H 3 #define Q 4 typedef struct { int type; char name[N]; char data[SIZE]; }MSG; //用户注册 void do_register(int sockfd,MSG *pbuf) { pbuf->type = R; printf("用户名:"); scanf("%s",pbuf->name); printf("密 码:\033[8;33m"); scanf("%s",pbuf->data); send(sockfd,pbuf,sizeof(MSG),0); recv(sockfd,pbuf,sizeof(MSG),0); printf("\033[0m %s\n",pbuf->data); sleep(1); } //用户登录 int do_login(int sockfd,MSG *pbuf) { pbuf->type = L; printf("用户名:"); scanf("%s",pbuf->name); printf("密 码:\033[8;33m"); scanf("%s",pbuf->data); send(sockfd,pbuf,sizeof(MSG),0); recv(sockfd,pbuf,sizeof(MSG),0); if(pbuf->type == 8) { printf("\033[0m %s\n",pbuf->data); sleep(1); return 1; } else { printf("\033[0m %s\n",pbuf->data); return 0; } } //查找单词 void do_query(int sockfd,MSG *pbuf) { pbuf->type = Q; printf("请输入你要查询的单词(#结束):"); while(1) { scanf("%s",pbuf->data); getchar(); if(strcmp(pbuf->data,"#")==0) break; send(sockfd,pbuf,sizeof(MSG),0); recv(sockfd,pbuf,sizeof(MSG),0); printf("╭( ′• o •′ )╭☞就是这个意思:%s\n",pbuf->data); sleep(1); printf("请输入你要查询的单词:"); } } //查询历史单词 void do_history(int sockfd,MSG *pbuf) { pbuf->type = H; send(sockfd,pbuf,sizeof(MSG),0); while(1) { recv(sockfd,pbuf,sizeof(MSG),0); if(pbuf->data[0] == '0') //历史单词全部接受完成 break; printf("%s\n",pbuf->data); } sleep(0.2); } //二级菜单 void menu_2(int sockfd,MSG *pbuf) { while(1) { printf("\033[1;33m*******


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有