c语言课程设计情人网管理系统Word文档下载推荐.docx
- 文档编号:22836427
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:42
- 大小:121.13KB
c语言课程设计情人网管理系统Word文档下载推荐.docx
《c语言课程设计情人网管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言课程设计情人网管理系统Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
登陆失败
添加功能(美女、管理员)
查询功能(姓名、婚姻状况、学历)
管理员
首页界面
2.各个模块详细的功能描述。
删除功能(美女、管理员)
修改功能(管理员密码)
修改功能(美女的漂亮指数约美女)
查询功能(姓名、婚姻状况、学历、年龄)
客
户
四.详细设计
主函数
功能函数的调用关系图
顾客
读取信息
修改管理员密码
删除管理员
增加管理员
删除美女
增加美女
查询
排序
约
会
查找
保存信息
2.各功能函数的数据流程图
a、创建txt文件
创建链表
输入数据存入缓冲区
用fprintf将数据存入磁盘
b、添加数据到磁盘
在链表尾添加数据
用scanf将磁盘的数据读取到缓冲区
清空磁盘的数据
添加成功
C、修改数据到磁盘
在链表找到要修改的数据,修改。
修改成功
C、删除数据
在链表找到要删除的数据,删除。
删除成功
3.重点设计及编码
a、将磁盘的数据读取到缓冲区,将文件的读取独立出来,减少重复代码。
b、将缓冲区的数据读取到磁盘,将文件的读取独立出来,减少重复代码。
源代码:
mm*read(charfilename[N])/*将文件读取*/
{
FILE*fp;
mm*head,*t,*end;
inti=0;
fp=fopen(filename,"
rt"
);
if(fp==NULL)
{
printf("
\n\n\n\n\n系统暂时无mm信息,请下次登录!
\n\n\n\t\t\t\t"
system("
pause"
return;
}
head=(mm*)malloc(sizeof(mm));
head->
next=NULL;
end=head;
while(!
feof(fp))
t=(mm*)malloc(sizeof(mm));
fscanf(fp,"
%s%s%s%d%d%d%d\n"
t->
good.name,t->
good.marriage,t->
good.xueli,&
t->
good.age,&
good.length,&
good.weight,&
good.beautiful);
end->
next=t;
end=t;
fclose(fp);
returnhead;
}
voidsave(charfilename[N],mm*head)/*将链表存入文件*/
{
mm*t;
w"
先生,系统暂时无mm信息,请下次登录!
"
for(t=head->
next;
t!
=NULL;
t=t->
next)
fprintf(fp,"
good.xueli,t->
good.age,t->
good.length,t->
good.weight,t->
cls"
\n欢迎使用情人网找女友系统"
\n***************************************\n\n\n"
\n操作已成功保存!
\n\n\n\t\t\t"
getch();
五.测试数据及运行结果
1.正常测试数据和运行结果
a.管理员登陆账号
c、美女姓名查找
C、美女婚姻状况查询
D、美女学历查询
E、添加美女
2.异常测试数据及运行结果
A.管理员登陆
、
B.姓名查询
六.调试情况,设计技巧及体会
1.改进方案
1.合理之处:
此程序主要是为了那些单身的大学生,瞒足市场要求,架构清晰,思路明确,加密函数增加里系统的安全性,能够更将清晰的使客户和管理员明白自己接下来的操作。
2..不足之处:
此程序模块化设计不强。
3.改进方案:
增强程序的可读性。
增加注释,注意思路,模块化编写。
2.体会
对设计及调试过程的心得体会。
本次课程设计使我很高兴,这是一次挑战,也是一次对C语言的深刻学习。
实习过程中我深刻感受到自己对C语言编程的理解不够足够深刻,尤其是链表和文件的使用,完成了本次设计,让我知道必须深刻学习和理解所学知识。
7.参考文献
《C语言程序教程》和<
贪吃蛇的代码>
.
八.附录:
源代码(电子版)
#include<
stdio.h>
stdlib.h>
string.h>
#defineN40
typedefstruct
charname[N];
/*mm的姓名管理员账号*/
charmarriage[N];
/*婚姻状况《已婚/未婚》管理员密码*/
charxueli[N];
/*学历《小学/初中/高中/大学/研究生》*/
intage;
/*年龄*/
intlength;
/*身高*/
intweight;
/*体重*/
intbeautiful;
/*漂亮指数*/
}info;
typedefstructmm
infogood;
structmm*next;
}mm;
voidwelcome();
/*欢迎函数*/
voidAmenu();
/*首页菜单*/
voidBmenu();
/*帅哥菜单*/
voidCmenu();
/*管理员菜单*/
voidmanager_key(charpassword[N]);
/*加密函数*/
mm*creat();
/*创建mm链表*/
voidsave(charfilename[N],mm*head);
/*将链表存入文件*/
voidsave_b(charfilename[N],mm*head);
mm*read(charfilename[N]);
/*将文件读取*/
voidprint(mm*t);
/*打印结点信息*/
voidsearch(charfilename[N],inti);
/*查找*/
voiddele(charfilename[N]);
/*删除信息*/
voidmanager_add(charkey[N]);
/*manager管理员信息添加*/
voidmanager_delete(charkey[N]);
/*manager管理员信息删除*/
voidmanager_change(charkey[N]);
/*manager管理员信息更改*/
intlogin(charkey[N]);
/*返回值为0,表示已登录,1表示未登陆*/
mmsort(mm*head,intk);
/*漂亮指数身高年龄体重(排序)*/
voidall(charfilename[N],inti);
/*全部显示i用于表示显示的按顺序排列(漂亮指数身高年龄体重*/
voidappointment(charfilename[N]);
/*先生约会*/
voidwelcome()
color4F"
\n\n\n\n\n\n\n\t\t\t\t欢迎来到情人网\n\n\n\n\n\n\n\n\n\n"
voidAmenu()/*首页菜单*/
\t\t\t\t\t情人网()\n\n"
\n\t\t\t\t\tby西安邮电大学网络工程1404张帅\n"
\n\n\n\t\t\t0:
退出系统\n\t\t\t1:
管理员\n"
voidBmenu()/*帅哥菜单*/
\n0:
返回首页1:
姓名查找\n"
\n2:
婚姻状况查找3:
学历查找\n"
\n4:
年龄查找5:
约美女\n"
\n6:
所有美女信息\n"
\n先生请选择:
voidCmenu()/*管理员菜单*/
退出登录1:
添加美女5:
删除美女\n"
增加管理员7:
删除管理员\n"
\n8:
修改密码9:
所有美女信息\n"
\n管理员请选择:
voidmanager_key(charpassword[N])/*加密函数*/
flushall();
password[i]=getch();
while(password[i]!
='
\r'
)
if(password[i]!
\b'
password[i]=password[i]+0;
/*加密机制*/
*"
elseif(password[i]=='
\b\b"
i--;
password[++i]=getch();
password[i]='
\0'
;
mm*creat()/*创建mm链表*/
mm*head,*new_,*end;
charch;
inti=1;
do
\n***************************************\n"
new_=(mm*)malloc(sizeof(mm));
第%d个mm\n"
i++);
mm的姓名:
/*mm的姓名*/
scanf("
%s"
new_->
good.name);
mm的婚姻状况:
/*婚姻状况《已婚/未婚》*/
good.marriage);
mm的学历:
/*学历《小学/初中/高中/大学/研究生*/
good.xueli);
mm的年龄:
%d"
&
new_->
good.age);
mm的身高:
good.length);
mm的体重:
good.weight);
mm的漂亮指数:
new_->
next=new_;
end=new_;
countinue?
<
Y/N>
%c"
ch);
}while(ch=='
Y'
||ch=='
y'
voidsave_b(charfilename[N],mm*head)/*将链表存入文件*/
a+"
voidprint(mm*t)/*打印结点信息*/
*姓名:
%s\t*婚姻状况:
%s\t*学历:
%s\t*年龄:
%d\t"
*身高:
%d\t*体重:
%d\t*漂亮指数:
%d\n\n"
voidsearch(charfilename[N],inti)/*查找*/
charname[N],marriage[N],xueli[N];
intages;
mm*t,*head;
intflag=1;
/*1表示未找到,0表示找到*/
head=read(filename);
\n***************************************\n制作bygerm\n\n"
if(i==1)
\n请输入姓名:
gets(name);
if(strcmp(t->
good.name,name)==0)/*姓名比对*/
print(t);
flag=0;
}
if(i==2)
\n请输入婚姻状况:
gets(marriage);
good.marriage,marriage)==0)/*婚姻状况比对*/
if(i==3)
\n请输入学历:
gets(xueli);
good.xueli,xueli)==0)/*学历比对*/
if(i==4)
\n请输入年龄:
ages);
if(t->
good.age==ages)/*年龄比对*/
{
if(flag==1)
\n欢迎使用情人网找女友系统"
\n***************************************\n"
\n未能找到您所需的信息,任意键返回\n"
voiddele(charfilename[N])/*删除信息*/
mm*head,*t1,*t2;
/*flag找到为0,未找到为1*/
charx;
\n***************************************\n\n\n"
\n请输入要删除mm的姓名:
t1=head;
t2=head->
if(t2==NULL)printf("
\n无mm需要删除\n"
while(t2!
=NULL)
if(strcmp(t2->
good.name,name)==0)
t1->
next=t2->
free(t2);
break;
t1=t2;
t2=t2->
cls"
\n未找到该mm,任意键返回\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 情人 网管 系统