1000分跪求C#高手写一个简单论坛程序代码。
解决时间 2021-05-04 17:50
- 提问者网友:無理詩人
- 2021-05-03 19:06
前台网页由我提供,要求程序员三天内完成。
要求实现论坛的简单功能。(注册,登陆,发帖,回帖,个人信息设置,会员管理,帖子管理,以及基本的权限设置)
有意向的和我联系。做完给分,不给的死全家。
最佳答案
- 五星知识达人网友:十鸦
- 2021-05-03 19:28
呵呵 交你个好方法你上书店去找一个带光盘的C#书,看看有没有带论坛活类似的企业网站的,一般都会有这样类似的实例的。这是有问题提问题的地方,实在不行你上CSDN上去找高手解决吧!
希望能给你带来些帮助!!!
全部回答
- 2楼网友:北城痞子
- 2021-05-03 19:37
只定义了最基本的数据结构和发贴的函数(整个代码写成一个DLL,便于调试)
主要的数据结构是一个十字链,十字链的纵向是话题链表,横向是某个话题的帖子链表,帖子的内容目前临时用一个堆来保存
<!-- CETagParser ~code
<br><table cellpadding=0 cellspacing=0 border=0 WIDTH=94% bgcolor='#000066' align=center><tr><td><table width=100% cellpadding=5 cellspacing=1[/img]<TR><TD BGCOLOR='#f4f4f4'>#include <windows.h>
typedef struct UserInfoStruct{
char UserName[16];
char Password[12];
unsigned long PostCount;
unsigned long QQNum;
char *OffsetCustomFace;
char *OffsetSignature;
char *Email;
char *Location;
char *MSN;
unsigned short int RegDate;
unsigned short int BirthDate;
BYTE UserFaceID;
BYTE Reserved;
short int Reserved2;
}USERINFO;
typedef struct PostInfoStruct{
unsigned long UserID;
unsigned short int CreationDate;
unsigned short int CreationTime;
char *Text;
struct PostInfoStruct *Next;
}POSTINFO;
typedef struct ThreadInfoStruct{
POSTINFO *FirstPost;
POSTINFO *LastPost;
unsigned long ViewCount;
struct ThreadInfoStruct *Next;
BYTE ThreadAttrib;
}THREADINFO;
USERINFO UserList[100];
POSTINFO *PostQueueHead=NULL;
THREADINFO *ThreadQueueHead=NULL;
char TextHeap[65536];
char *ptrFreeHeap=0;
POSTINFO *NewThread()
{
THREADINFO *p;
POSTINFO *q;
p=malloc(sizeof(THREADINFO));
p->Next=ThreadQueueHead;
p->ViewCount=0;
ThreadQueueHead=p;
q=malloc(sizeof(POSTINFO));
q->Next=NULL;
p->FirstPost=q;
p->LastPost=q;
return(q);
}
POSTINFO *NewPost(THREADINFO *p)
{
POSTINFO *q;
q=malloc(sizeof(POSTINFO));
p->LastPost->Next=q;
p->LastPost=q;
return(q);
}
char *SaveText (char *Text)
{
char *ptr;
strcpy((char*)((long)ptrFreeHeap+(long)TextHeap),Text);
ptr=ptrFreeHeap;
ptrFreeHeap+=strlen(Text);
return(ptr);
}
void Init(){ }
BOOL WINAPI __declspec(dllexport) LibMain(HINSTANCE hDLLInst, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
{
Init();
break;}
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
__declspec(dllexport) STDCALL long SubmitThread(int UserID, char *Text)
{
POSTINFO *q;
q=NewThread();
q->UserID=UserID;
q->Text=SaveText(Text);
return((long)q);
}
__declspec(dllexport) STDCALL long SubmitPost(THREADINFO *p,int UserID, char *Text)
{
POSTINFO *q;
q=NewPost(p);
q->UserID=UserID;
q->Text=SaveText(Text);
return((long)q);
}<!-- CETagParser ~/code
</td></tr></table></td></tr></table><br>
应该还算清楚把!希望能够帮到你!
我要举报
大家都在看
推荐资讯