1. c语言 编写一个智能聊天工具
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//定义用户名最大长度
#defineP20
//定义密码最大长度
#defineQ20
//定义用户最大数量
#defineN100
//定义用户属性的结构体
structuser
{
char user_name[P]; //用户名
char user_code[Q]; //密码
int friend_num; //好友数量
int user_friend[N]; //好友名单
};
voidmain()
{
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)
{
case0: //注册登陆选择界面
printf("请选择功能: ");
printf("1.登陆 ");
printf("2.注册 ");
scanf("%d",&i); //过程数i记录接收数据
if(i==1||i==2)
{
p=i;
}
else
{
printf("输入错误! ");
p=0;
}
i=0; //过程数i清零
break;
case1: //登陆界面
printf("请输入用户名: ");
scanf("%s",&log_name);
printf("请输入密码: ");
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("登陆成功! ");
log_id=i; //记录合格登陆号码
p=3;
j=1; //过程数j作为操作步骤变化标识
}
else
{
printf("密码错误! ");
p=1;
j=1;
}
}
}
i=0; //过程数i清零
j=0; //过程数j清零
break;
case2: //注册界面
printf("请输入用户名: ");
scanf("%s",&log_name);
printf("请输入密码: ");
scanf("%s",&log_code);
strcpy(my_user[n].user_name,log_name); //保存用户名
strcpy(my_user[n].user_code,log_code); //保存密码
n++; //记录注册用户数
printf("注册成功! ");
p=0;
break;
case3: //用户界面
printf("当前登陆用户:%s ",my_user[log_id].user_name);
printf("请选择其他操作: ");
printf("1.显示好友名单 ");
printf("2.增加好友 ");
printf("3.删除好友 ");
printf("4.好友分组 ");
printf("5.自选功能 ");
printf("6.登出 ");
scanf("%d",&i); //过程数i记录接收数据
if(i>=1&&i<=6)
{
p=i+3;
}
else
{
printf("输入错误! ");
p=3;
}
i=0; //过程数i清零
break;
case4: //显示好友名单
printf("好友名单: ");
for(i=0;i<my_user[log_id].friend_num;i++)
{
j=my_user[log_id].user_friend[i]; //过程数j记录用户好友号码
printf("%s ",my_user[j].user_name);
}
p=3;
i=0;
j=0;
break;
case5: //增加好友,未实现
p=3;
break;
case6: //删除好友,未实现
p=3;
break;
case7: //好友分组,未实现
p=3;
break;
case8: //自选功能,未实现
p=3;
break;
case9: //登出
for(i=0;i<20;i++)
{
log_name[i]=0; //清除用户名临时存储
log_code[i]=0; //清除密码临时存储
}
p=0; //返回初始页面
i=0; //过程数i清零
break;
default:
p=0;
break;
}
}
}