C语言宿舍管理系统课设附源码.docx
- 文档编号:576458
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:35
- 大小:343.59KB
C语言宿舍管理系统课设附源码.docx
《C语言宿舍管理系统课设附源码.docx》由会员分享,可在线阅读,更多相关《C语言宿舍管理系统课设附源码.docx(35页珍藏版)》请在冰豆网上搜索。
C语言宿舍管理系统课设附源码
C语言宿舍管理系统课设
项目说明
本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEVC++等均可运行。
(书生)
项目运行截图
代码运行界面截图
完整源码
#include
#include
#include
#defineHEADprintf("\t|%-10s%-8s%-9s%-5s%-10s%-5s%-5s%-5s%-5s%-12s%-5s|\n","学号","姓名","专业","班级","公寓名","宿舍","床位","性别","年纪","手机号","级别")
/*
密码登录
管理登录信息
*/
typedefstructEN{//存用户和密码
charuserName1[10];
charpassWorld1[10];
}EN;
voidenter();
voidencryption(charpassWorld[])//加密
{
inti;
for(i=0;i { passWorld[i]+=20; } } voidsign_in(charuserName[],charpassWorld[])//注册 { FILE*fp; intflag=0; charuserName1[10]; charpassWorld1[10]; printf("\t注册(用户名密码最多9位)\n"); printf("\t用户名: "); fflush(stdin); gets(userName); printf("\t密码: "); gets(passWorld); if((fp=fopen("enter.txt","rt"))==NULL) { exit(0); } while(! feof(fp)) { fscanf(fp,"%s%s",userName1,passWorld1); if(! strcmp(userName,userName1)) { printf("用户名重复\n"); flag=1; break; } } fclose(fp); if(flag==1) enter(); else { if((fp=fopen("enter.txt","at"))==NULL) exit(0); encryption(passWorld);//加密 fprintf(fp,"%s%s\n",userName,passWorld); } fclose(fp); enter(); } voidalter()//删除不合法用户 { FILE*fp; intn=0; ENen[1000]; fp=fopen("enter.txt","rt"); if(fp==NULL) { printf("\t打开文件失败\n"); exit(0); } while(! feof(fp)) { fscanf(fp,"%s%s",en[n].userName1,en[n].passWorld1); n++; } //printf("大小%d\n",--n); printf("\t%-8s\t%-8s\n","用户名","密码"); inti; for(i=0;i { printf("\t%-8s\t%-8s\n",en[i].userName1,en[i].passWorld1); } fclose(fp); printf("\t输入你要删除的用户名\n"); printf("\t用户名: "); charch[10]; printf("\t"); scanf("%s",ch); for(i=0;strcmp(ch,en[i].userName1);i++){} intk=i; for(i=k;i { en[i]=en[i+1]; } n--; //for(i=0;i //{ //printf("%-8s\t%-8s\n",en[i].userName1,en[i].passWorld1); //} fp=fopen("enter.txt","wt"); if(fp==NULL) { printf("\t打开文件失败\n"); exit(0); } for(i=0;i { fprintf(fp,"%s%s\n",en[i].userName1,en[i].passWorld1); } fclose(fp); } voidenter()//登录入口 { printf("\t=================================\n"); printf("\t|\t登录: \t\t\t|\n"); printf("\t=================================\n"); FILE*fp; inti; printf("\t1.管理员\t2.登录\n"); charuserName[10]; charpassWorld[10]; charuserName1[10]; charpassWorld1[10]; intchoice; printf("\t"); scanf("%d",&choice); intflag=0; switch(choice) { case1: {//管理员,注册用户和删除 charadm[10]; printf("\t输入权限码\n"); printf("\t"); scanf("%s",adm); if(strcmp(adm,"12")) { printf("\t权限码错误\n"); enter(); } printf("\t"); printf("1.注册\t2.修改\n"); intj; printf("\t"); scanf("%d",&j); switch(j) { case1: { sign_in(userName,passWorld); break; } case2: { intflag1=0; do { alter(); flag1=0; printf("\t是否继续删除: 1.是2.否\n"); printf("\t"); scanf("%d",&flag1); } while(flag1==1); enter(); break; } default: { break; } } break; } case2: {//用户登录 printf("\t登录\n"); printf("\t用户名: "); fflush(stdin); printf("\t"); gets(userName); printf("\t密码: "); printf("\t"); gets(passWorld); if((fp=fopen("enter.txt","rt"))==NULL) { exit(0); } while(! feof(fp)) { fscanf(fp,"%s%s",userName1,passWorld1); encryption(passWorld);//加密 if(! strcmp(userName,userName1)&&! strcmp(passWorld,passWorld1)) { flag=1; break; } } if(flag==0) { printf("\t输入用户名密码不匹配或者错误\n"); enter(); } printf("\t成功\n"); break; } default: { printf("输入选择不符合格式\n"); break; } } } /* 存储数据 操作数据 */ typedefstructstu{//宿舍信息 chardorm[50]; intdorm_num; intdorm_num_id; charid[10]; charname[10]; intbanji; charmajor[20]; intage; intenUniversity; charnumber[12]; charsex[3]; structstu*next; }stu; voidprint(stu*head); voidinterface()//主界面 { printf("\n\n"); printf("\t---------------------------------------------------------\n"); printf("\t|\t\t欢迎使用宿舍信息管理系统\t\t|\n"); printf("\t---------------------------------------------------------\n"); /* 数据录入 */ printf("\t|\t\t\t1-录入数据\t\t\t|\n"); /* 数据增删改查 */ printf("\t|\t\t\t2-数据增加\t\t\t|\n"); printf("\t|\t\t\t3-数据删除\t\t\t|\n"); printf("\t|\t\t\t4-数据修改\t\t\t|\n"); printf("\t|\t\t\t5-数据查询\t\t\t|\n"); /* 数据统计 */ printf("\t|\t\t\t6-数据统计\t\t\t|\n"); /* 报表 */ printf("\t|\t\t\t7-数据报表\t\t\t|\n"); printf("\t---------------------------------------------------------\n"); } intfind_id(charid[],stu*head)//学号查重,重复返回0,否则1 { stu*i; for(i=head->next;i! =NULL;i=i->next) { if(strcmp(id,i->id)==0) { printf("\t学号重复\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 宿舍 管理 系统 课设附 源码