C语言做一个简单的聊天工具界面

已经做好了前面一部分,现在只差增加/删除好友功能、好友分组功能和时钟功能了求大神帮忙补充,好的话有加分!一楼是我的代码... 已经做好了前面一部分,现在只差增加/删除好友功能、好友分组功能 和时钟功能了 求大神帮忙补充,好的话有加分!一楼是我的代码 展开
 我来答
余惜海kh
推荐于2018-03-29
知道答主
回答量:2
采纳率:0%
帮助的人:3028
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//定义用户名最大长度
#define P 20
//定义密码最大长度
#define Q 20
//定义用户最大数量
#define N 100

//定义用户属性的结构体
struct user
{
char user_name[P]; //用户名
char user_code[Q]; //密码
int friend_num; //好友数量
int user_friend[N]; //好友名单
};

void main()
{
int p = 0; //操作步骤
int n = 0; //用户数量
int i = 0; //过程操作数
int j = 0; //过程操作数
int log_id; //合格登陆号码
char log_name[P]; //用户名临时存储
char log_code[Q]; //密码临时存储
user my_user[N]; //定义用户
while(1)
{
switch(p)
{
case 0: //注册登陆选择界面
printf("请选择功能:\n");
printf("1.登陆\n");
printf("2.注册\n");
scanf("%d",&i); //过程数i记录接收数据
if(i ==1 || i == 2)
{
p = i;
}
else
{
printf("输入错误!\n");
p = 0;
}
i = 0; //过程数i清零
break;
case 1: //登陆界面
printf("请输入用户名:\n");
scanf("%s", &log_name);
printf("请输入密码:\n");
scanf("%s", &log_code);
for(i=0;i<n;i++) //验证登陆用户,过程数i作为循环变量
{
if(strcmp(my_user[i].user_name, log_name) == 0) //验证用户名
{
if(strcmp(my_user[i].user_code, log_code) == 0) //验证密码
{
printf("登陆成功!\n");
log_id = i; //记录合格登陆号码
p = 3;
j = 1; //过程数j作为操作步骤变化标识
}
else
{
printf("密码错误!\n");
p = 1;
j = 1;
}
}
}
i = 0; //过程数i清零
j = 0; //过程数j清零
break;
case 2: //注册界面
printf("请输入用户名:\n");
scanf("%s", &log_name);
printf("请输入密码:\n");
scanf("%s", &log_code);
strcpy(my_user[n].user_name, log_name); //保存用户名
strcpy(my_user[n].user_code, log_code); //保存密码
n++; //记录注册用户数
printf("注册成功!\n");
p = 0;
break;
case 3: //用户界面
printf("当前登陆用户:%s\n", my_user[log_id].user_name);
printf("请选择其他操作:\n");
printf("1.显示好友名单\n");
printf("2.增加好友\n");
printf("3.删除好友\n");
printf("4.好友分组\n");
printf("5.自选功能\n");
printf("6.登出\n");
scanf("%d",&i); //过程数i记录接收数据
if(i >=1 && i <= 6)
{
p = i+3;
}
else
{
printf("输入错误!\n");
p = 3;
}
i = 0; //过程数i清零
break;
case 4: //显示好友名单
printf("好友名单:\n");
for(i=0;i<my_user[log_id].friend_num;i++)
{
j = my_user[log_id].user_friend[i]; //过程数j记录用户好友号码
printf("%s\n", my_user[j].user_name);
}

p = 3;
i = 0;
j = 0;
break;
case 5: //增加好友,未实现
p = 3;
break;
case 6: //删除好友,未实现
p = 3;
break;
case 7: //好友分组,未实现
p = 3;
break;
case 8: //自选功能,未实现
p = 3;
break;
case 9: //登出
for(i=0;i<20;i++)
{
log_name[i] = 0; //清除用户名临时存储
log_code[i] = 0; //清除密码临时存储
}
p = 0; //返回初始页面
i = 0; //过程数i清零
break;
default:
p = 0;
break;
}
}
}
匿名用户
2014-10-06
展开全部
可以参考:
https://github.com/jiangxincode/gchat
完全用C语言写的,使用GTK+做的简单界面
包括了所有的源码,可以参考,但不要完全照搬。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaaaa112q920
2014-06-08
知道答主
回答量:1
采纳率:0%
帮助的人:1366
展开全部
我可以帮你改代码!
追问
楼下是我的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潮凝安8
2014-06-08
知道答主
回答量:26
采纳率:0%
帮助的人:5.9万
展开全部
你的代码呢?
追问
看楼下 那个是我的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式