资源简介

是安徽工业大学的Linux程序设计这门课的课程设计,实现qq通信的功能的源码,希望对大家有所帮助。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 

#define MAX_BUF_SIZE 1024

struct message {
char from[20];
        char passwd[20];
        char to[20];
char buf[MAX_BUF_SIZE];
};
char buf1[MAX_BUF_SIZE];
           int i;
  char passwd1[20];
  char name1[20];
void udp_client(int sockfd struct sockaddr_in *addr)
{
int ni;
int pid;
struct message sendmsg;
struct message rcvmsg;
char sel;
        system(“clear“);
printf(“========炫聊1.0========\n“);
printf(“====  小组成员:   ====\n“);
printf(“=    组长:王义龙     =\n“);
printf(“=    成员:张  建     =\n“);
printf(“=    成员:欧阳露     =\n“);
printf(“=    成员:尹  艳     =\n“);
printf(“=    组长:张文天     =\n“);
printf(“=  next  [ENTER]=>“);
 while(getchar()){
       printf(“press any key to next:“);
       getchar();
       system(“clear“);
       system(“date“);
printf(“**0--login  1--registe q--quit**\n>“);
        scanf(“%c“&sel);
       switch(sel)
       {
        case ‘0‘:
           printf(“user_name:“);
           scanf(“%s“sendmsg.from);
           printf(“password:“);
           scanf(“%s“sendmsg.passwd);
         strcpy(sendmsg.tosendmsg.from);
   strcpy(sendmsg.buf“login“);
           break;
        case ‘1‘:
           printf(“new user_name:“);
           scanf(“%s“sendmsg.from);
           printf(“new password:“);
           scanf(“%s“sendmsg.passwd);
           printf(“again new password:“);
           scanf(“%s“passwd1);
          if(strcmp(passwd1sendmsg.passwd))
           {
             printf(“please input the same passwd!\n“);
             exit(0);
           }
           strcpy(sendmsg.tosendmsg.from);
           strcpy(sendmsg.buf“register“);
           break;
         case ‘q‘:
           exit(0);
         default: 
           printf(“错误的输入!“);
           exit(0);
       }

n = sendto(sockfd (struct message *)&sendmsg sizeof(struct message) 0 (struct sockadrr *)addr sizeof(struct sockaddr));
n = recvfrom(sockfd (struct message *)&rcvmsg sizeof(struct message) 0 NULL NULL);
       if(!strcmp(rcvmsg.buf“注册成功!“))
       {
             printf(“%s\n“rcvmsg.buf);
             continue;
       }
       if(!strcmp(rcvmsg.buf“登陆成功“))
       { 
            system(“clear“);
            strcpy(name1rcvmsg.from);
            system(“date“);
            printf(“用户: %s 很高兴您使用本软件!\n“rcvmsg.from);
            printf(“规范须知:\n“);
            printf(“* user_namemessage--send the message to user_name\n“);
            printf(“* allmessage--send the message to all online users\n“);
            printf(“* online--display online users list\n“);
            printf(“* exit--make all online user know that it quit:\n“);
            printf(“** ‘’很重要,不能忘记,不能写错:\n“);
            break;
       }
       else
         {
            printf(“%s\n“rcvmsg.buf);
            continue;
         }
   }
       if((pid = fork()) < 0) 
       {
  perror(“create process error!\n“);
  exit(0);
       }
for(;;){
   if(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4838  2009-06-30 15:46  linux课程设计\qqc2.c

     文件       6598  2009-06-30 09:39  linux课程设计\qqs.c

     文件       8956  2009-06-30 17:11  linux课程设计\qqs1.c

     目录          0  2009-06-30 22:14  linux课程设计

----------- ---------  ---------- -----  ----

                20392                    4


评论

共有 条评论