91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 429KB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2021-08-12
  • 語言: 其他
  • 標簽: 服務器??TCP協議??

資源簡介

~內容詳細值得借鑒和下載~設計文檔(員工信息管理系統概要設計、pthread多線程并發)和可使用的完整程序源碼。實現的功能:當用戶登錄后,根據用戶名判斷用戶是否為管理員。如果為管理員,則進入管理員目錄,如果為普通員工,則進入員工目錄。在管理員目錄,可以查看任意員工的信息,還可修改員工的信息,包括工資、評級,添加或刪除用戶。在員工目錄,可以查看自己的信息,不能查看其他人的信息,可以修改自己的電話,地址等個人信息,但不能修改工資等管理員權限信息。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“client.h“


int?main(int?argc?const?char?*argv[])
{
int?sockfd;
struct?sockaddr_in??serveraddr;
MSG??msg;

if((sockfd?=?socket(AF_INET?SOCK_STREAM?0))? {
perror(“socket“);
exit(1);
}

bzero(&serveraddr?sizeof(serveraddr));
serveraddr.sin_family?=?AF_INET;
serveraddr.sin_port?=?htons(atoi(argv[2]));
serveraddr.sin_addr.s_addr?=?inet_addr(argv[1]);

if(connect(sockfd?(struct?sockaddr*)&serveraddr?sizeof(serveraddr))? {
perror(“connect“);
exit(1);
}

while(1)
{
puts(“------------------------------------“);
puts(“----------Login?^_^??^_^-------------“);
puts(“------------------------------------“);

/*
?*??輸入登錄信息
?*/
printf(“please?input?your?name?>“);
fgets(msg.name?N?stdin);
msg.name[strlen(msg.name)?-?1]?=?‘\0‘;

printf(“please?input?your?password?>“);
fgets(msg.passwd?N?stdin);
msg.passwd[strlen(msg.passwd)?-?1]?=?‘\0‘;
msg.type?=?LOAD;


send(sockfd?&msg?sizeof(MSG)?0);//發送消息給服務器,進行登錄驗證。
printf(“---load?type?%d\n“?msg.type);
recv(sockfd?&msg?sizeof(MSG)?0);//接收服務器的反饋消息。

if(msg.sign?==??FAILED)//登錄失敗
{
printf(“%s\n“?msg.data);
continue;
}

if(msg.sign?==?SUCCESS)//登錄成功?
{
if(msg.info.type?==?STAFF)
{
goto?User;//進入普通用戶界面
}
else?if(msg.info.type?==?ADM)
{
goto?Admin;//?進入管理員界面?
}
}
}

/*普通用戶界面*/
User:
while(1)
{
/*普通用戶權限*/
puts(“----------------------------------------------------“);
puts(“-------1:?select?info?2:modify?passwd?3:exit?--------“);
puts(“-----------------------------------------------------“);
printf(“please?input?you?command?>“);

/*
?*輸入命令錯誤處理
?*/
int?command;
char?clear[N];
if(scanf(“%d“&command)?==?0)
{
fgets(clear?N?stdin);
continue;
}

switch(command)
{
case?1:
msg.type?=?READ;
strcpy(msg.info.name??msg.name);?
msg.info.no?=?0;

send(sockfd?&msg?sizeof(MSG)?0);//發送查詢消息
recv(sockfd?&msg?sizeof(MSG)?0);//接收服務器的反饋消息
printf(“?---------recv?sign?%d\n“?msg.sign);
/*打印用戶自身信息*/

printf(“姓名????地址??????????????????年齡????級別\n“);
printf(“%s?%s?%d?%d?\n“msg.info.name?msg.info.addr?msg.info.age?msg.info.level);
printf(“編號????工資????電話??????用戶類型\n“);
printf(“%d?%lf?%s?%d?\n“msg.info.no?msg.info.salary?msg.info.phone?msg.info.type);

break;
case?2:
getchar();
printf(“please?input?your?new?password?>“);
getchar();
fgets(msg.passwd?N?stdin);
msg.passwd[strlen(msg.passwd)?-?1]?=?‘\0‘;?
msg.type?=?CHANGE;
send(sockfd?&msg?sizeof(MSG)?0);//發送修改密碼的消息
break;

case?3:
msg.type?=?QUIT;
send(sockfd?&msg?sizeof(MSG)?0);
goto?Exit;//退出程序
}
}


/*管理員界面*/
Admin:
while(1)
{
/*管理員的權限*/
puts(“--------------------------------------------------------------------“);
puts(“-----1:add?user?2:delete?user??3:modify?inf

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-11-02?09:31??員工管理系統項目\
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\client\
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\client\.svn\
?????文件?????????370??2014-06-20?15:42??員工管理系統項目\client\.svn\all-wcprops
?????文件?????????638??2014-06-20?15:42??員工管理系統項目\client\.svn\entries
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\client\.svn\prop-base\
?????文件??????????53??2014-06-20?15:42??員工管理系統項目\client\.svn\prop-base\client.svn-base
?????目錄???????????0??2016-07-06?14:02??員工管理系統項目\client\.svn\props\
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\client\.svn\text-base\
?????文件????????9698??2014-06-20?15:42??員工管理系統項目\client\.svn\text-base\client.c.svn-base
?????文件????????1134??2014-06-20?11:22??員工管理系統項目\client\.svn\text-base\client.h.svn-base
?????文件???????16119??2014-06-20?15:42??員工管理系統項目\client\.svn\text-base\client.svn-base
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\client\.svn\tmp\
?????目錄???????????0??2016-07-06?14:02??員工管理系統項目\client\.svn\tmp\prop-base\
?????目錄???????????0??2016-07-06?14:02??員工管理系統項目\client\.svn\tmp\props\
?????目錄???????????0??2016-07-06?14:02??員工管理系統項目\client\.svn\tmp\text-base\
?????文件???????16119??2014-06-20?15:42??員工管理系統項目\client\client
?????文件????????9698??2016-06-17?09:22??員工管理系統項目\client\client.c
?????文件????????1134??2014-06-20?10:37??員工管理系統項目\client\client.h
?????文件???????94208??2014-06-19?21:26??員工管理系統項目\pthread多線程并發.doc
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\server\
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\server\.svn\
?????文件?????????468??2014-06-20?15:42??員工管理系統項目\server\.svn\all-wcprops
?????文件?????????794??2014-06-20?15:42??員工管理系統項目\server\.svn\entries
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\server\.svn\prop-base\
?????文件??????????53??2014-06-20?15:42??員工管理系統項目\server\.svn\prop-base\info.dat.svn-base
?????文件??????????53??2014-06-20?15:42??員工管理系統項目\server\.svn\prop-base\user.dat.svn-base
?????目錄???????????0??2016-07-06?14:02??員工管理系統項目\server\.svn\props\
?????目錄???????????0??2017-11-01?14:41??員工管理系統項目\server\.svn\text-base\
?????文件????????1017??2014-06-20?15:42??員工管理系統項目\server\.svn\text-base\head.h.svn-base
?????文件????????4104??2014-06-20?15:42??員工管理系統項目\server\.svn\text-base\info.dat.svn-base
............此處省略14個文件信息

評論

共有 條評論