宿舍管理系统 c语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宿舍管理系统c语言程序设计#include stdio.h//*库函数
#include stdlib.h
#include string.h
#include conio.h int m;//*控制登陆界面菜单显示项目的全局变量int num;//控制学号的全局变量
int orn;//控制日志顺序号的全局变量
int printnote(void);//日志菜单打印函数函数声明
struct note*creatnote(void);//创建日志函数
void savenote(struct note*head1);//保存日志函数
struct note*readnote(void);//从磁盘中读取日志函数
void readoutnote(void);//读取日志并显示在屏幕上的函数
void show1(void);
int searchnote(struct note*head1);//查找日志函数
int addnote(void);//添加日志函数
int deleteinfonote(void);//删除日志函数
struct node*read1(void);
void readout(void);//*链表从文件中读取并显示在屏幕上函数struct node*creat(void);//*链表的创建函数
int print1(void);
int print2(void);//*登陆菜单的打印函数
int login(void);//*登陆程序函数
void show(void);//*信息管理菜单的显示函数
void save(struct node*);//*在磁盘中保存文件的函数void choose(int);//*信息管理菜单的选择函数
int search(struct node*);//*信息查询函数
int deleteinfo(void);//*信息删除函数
int add(void);//*信息添加函数
int modify();//*信息修改函数
void total(struct node*);//*信息统计函数
struct node//*学生宿舍信息的结构体创建
{
char name[30];//*数据域
char Class[30];
char sex;
int age;
long int stunum;
int dornum;
int roomnum;
struct node*next;//*指针域
};
struct user//*登陆信息结构体创建
{
char username[15],
password[15];
}user,t;
struct note//日志结构体
{
int ordernum;
char notes[80];
int year;
int month;
int day;
struct note*next;
};
int printnote(void)//日志菜单打印函数{
int a;
printf("*\n");
printf("\n");
printf("--欢迎查看管理员日志--\n");
printf("\n");
printf("▲1.创建日志!");printf("▲2.查看日志!");printf("▲3.写日志!");printf("▲4.删除日志\n");
printf("\n");
printf("*\n");
printf("★请输入你的选择!\n");
scanf("%d",&a);
return(a);
}
struct note*creatnote(void)//*创建日志链表函数
{
struct note*head1,*p1,*p2;
int i;
char c='y';
head1=(struct note*)malloc(sizeof(struct note));//*创建头结点
head1-next=NULL;
p1=head1;
show1();
for(i=0;c=='y';)//*输入信息
{
system("cls");
p2=(struct note*)malloc(sizeof(struct note));printf("◆输入第%d条信息:\n",++i);
scanf("%d",&p2-ordernum);fflush(stdin);
gets(p2-notes);fflush(stdin);
scanf("%d",&p2-year);
scanf("%d",&p2-month);
scanf("%d",&p2-day);
p1-next=p2;
p1=p2;
printf("★还要输入信息吗,输入(y or n?)\n");
c=getch();
fflush(stdin);
system("cls");
}
p1-next=NULL;
return(head1);
}
void savenote(struct note*head1)//*保存日志文件
{
struct note*p2;
FILE*fp;
if((fp=fopen("f:/2.txt","wt"))==NULL)
{
printf("写文件出错,按任意键退出!");
getch();
exit(1);
}
for(p2=head1-next;p2!=NULL;p2=p2-next)
fprintf(fp,"%d\t%s\t\t\t%d%d%d\n",p2-ordernum,p2-notes,p2-year,p2-month,p2-day);
getch();
fclose(fp);
}
struct note*readnote(void)//从日志中文件读取出来