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;
}
}
}