#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<string.h>
#define N 20
struct student
{
char num[8];
char major[8];
int clas[8];
char name[20];
char sex[2];
int both[10];
char dnum[10];
int phone[20];
char family[50];
char snum[8];
int data[10];
char bt[50];
int data2[10];
int data3[10];
int score[5];
};
void menu()
{
printf(" **欢迎使用大学生寝室管理系统** \n");
printf("-------------------------------------------------------------\n");
printf(" 1、寝室卫生分数录入 \n");
printf(" 2、寝室卫生情况查询 \n");
printf(" 3、学生信息录入 \n");
printf(" 4、学生信息查询 \n");
printf(" 5、寝室管理员信息录入 \n");
printf(" 6、寝室管理员信息查询 \n");
printf(" 7、寝室物品损坏信息录入 \n");
printf(" 8、寝室物品损坏信息查询 \n");
printf(" 0、退出系统 \n");
printf("-------------------------------------------------------------\n");
}
int scoreadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入检查日期(20140312):");
scanf("%d",&stu[len1].data3);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入总分:");
scanf("%d",&stu[len1].score);
len1++;
return len1;
}
}
void serach2(student stu[],int len1)
{
int choice,i=0;
char num[10];
system("cls");
printf("请输入栋号、寝室号(a25011):");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].dnum,num)==0)
{
printf("检查日期::%d\n",stu[i].data3);
printf("栋号、寝室号(a25011):%s\n",stu[i].dnum);
printf("总分:%d\n",stu[i].score);
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int STUadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入学号(输入 '0' 返回菜单):");
scanf("%s",&num);
if(strcmp(num,"0")==0)
return len1;
for(i=0;i<len1;i++)
{
if(strcmp(stu[i].num,num)==0)
{
printf("学号已存在,重试(y/n):");
scanf("%s",&ch);
if(ch=='y'||ch=='Y')
break;
else
{
printf("按任意键返回");
getchar();
return len1;
}
}
}
if(i==len1)
break;
}
strcpy(stu[len1].num,num);
printf("输入专业:");
scanf("%s",&stu[len1].major);
printf("输入班级:");
scanf("%d",&stu[len1].clas);
printf("输入姓名:");
scanf("%s",&stu[len1].name);
printf("输入性别:");
scanf("%s",&stu[len1].sex);
printf("输入出生年月(如19931231):");
scanf("%d",&stu[len1].both);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入联系电话:");
scanf("%d",&stu[len1].phone);
printf("输入家庭住址:");
scanf("%s",&stu[len1].family);
len1++;
return len1;
}
void serach4(student stu[],int len1)
{
int choice,i=0;
char num[8];
system("cls");
printf("请输入学号:");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].num,num)==0)
{
printf("学号:%s\n",stu[i].num);
printf("专业:%s\n",stu[i].major);
printf("班级:%d\n",stu[i].clas);
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("出生年月(19931231):%d\n",stu[i].both);
printf("栋号、寝室号(a25011):%S\n",stu[i].dnum);
printf("联系电话:%d\n",stu[i].phone);
printf("家庭住址:%s\n",stu[i].family);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int MNadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入员工号(输入 '0' 返回菜单):");
scanf("%s",&num);
if(strcmp(num,"0")==0)
return len1;
for(i=0;i<len1;i++)
{
if(strcmp(stu[i].num,num)==0)
{
printf("员工号已存在,重试(y/n):");
scanf("%s",&ch);
if(ch=='y'||ch=='Y')
break;
else
{
printf("按任意键返回");
getchar();
return len1;
}
}
}
if(i==len1)
break;
}
printf("输入姓名:");
scanf("%s",&stu[len1].name);
printf("输入性别:");
scanf("%s",&stu[len1].sex);
printf("输入出生年月(如19931231):");
scanf("%d",&stu[len1].both);
printf("输入联系电话:");
scanf("%d",&stu[len1].phone);
printf("输入家庭住址:");
scanf("%s",&stu[len1].family);
len1++;
return len1;
}
void serach6(student stu[],int len1)
{
int choice,i=0;
char num[8];
system("cls");
printf("请输入员工号:");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].num,num)==0)
{
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("出生年月(19931231):%d\n",stu[i].both);
printf("联系电话:%d\n",stu[i].phone);
printf("家庭住址:%s\n",stu[i].family);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int brokadd(student stu[],int len1)
{
int i;
int data;
system("cls");
while(1)
{
printf("输入报修日期(20140312):");
scanf("%d",&stu[len1].data);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入损坏说明:");
scanf("%s",&stu[len1].bt);
printf("输入处理时间(20140312):");
scanf("%d",&stu[len1].data2);
len1++;
return len1;
}
}
void serach8(student stu[],int len1)
{
int choice,i=0;
char dnum[10];
system("cls");
printf("输入栋号、寝室号(a25011):");
scanf("%s",&dnum);
for(i=0;i<len1;i++)
if(strcmp(stu[i].dnum,dnum)==0)
{
printf("报修日期(20140312):%d\n",stu[len1].data);
printf("栋号、寝室号(a25011):%s\n",stu[len1].dnum);
printf("损坏说明:%s\n",stu[len1].bt);
printf("处理时间(20140312):%d\n",stu[len1].data2);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
void save(student stu[],int len1)
{
FILE *fp;
fp=fopen("c:\\student","wb");
if(fp==NULL)
{
cout<<"\n文件打开失败,按任意键返回!\n";
getchar();
return;
}
for(int i=0;i<len1;i++)
fwrite(&stu[i],sizeof(student),1,fp);
if(len1>0)
{
cout<<"\n保存成功,文件中记录数为:"<<len1<<endl;
cout<<"按任意键继续"<<endl;
getchar();
}
else
{
system("cls");
cout<<"无记录被保存,按任意键继续\n";
getchar();
}
fclose(fp);
}
int readfile(student stu[])
{ FILE *fp;
int i=0,len1=0;
fp=fopen("c:\\student","ab+");
if(fp==NULL)
{cout<<"无法打开文件 student\n";
exit(0);
}
while(!feof(fp))
{ if(fread(&stu[i],sizeof(student),1,fp)==1)
i++;
}
len1=i;
fclose(fp);
cout<<"文件中学生记录数为:"<<len1<<endl;
cout<<"按任意键返回!"<<endl;
getchar();
return len1;
}
void main()
{
struct student stu[N];
int len1,choice;
char ch;
len1=readfile(stu);
menu();
while(1)
{
system("cls");
menu();
printf("请输入菜单选择项(0-8):");
scanf("%d",&choice);
if(choice==0)
{
cout<<"\n保存到文件?(y/n):"<<endl;
cin>>ch;
if(ch=='y'||ch=='Y')
save(stu,len1);
cout<<"\n欢迎再次使用,按任意键退出"<<endl;
getchar();
break;
}
switch(choice)
{
case 1:scoreadd(stu,len1);break;
case 2:serach2(stu,len1);break;
case 3:STUadd(stu,len1);break;
case 4:serach4(stu,len1);break;
case 5:MNadd(stu,len1);break;
case 6:serach6(stu,len1);break;;break;
case 7:brokadd(stu,len1);break;
case 8:serach8(stu,len1);break;;break;
default:
cout<<"\n输入错误,按任意键继续"<<endl;
getchar();
}
}
}
#include<stdlib.h>
#include<iostream.h>
#include<string.h>
#define N 20
struct student
{
char num[8];
char major[8];
int clas[8];
char name[20];
char sex[2];
int both[10];
char dnum[10];
int phone[20];
char family[50];
char snum[8];
int data[10];
char bt[50];
int data2[10];
int data3[10];
int score[5];
};
void menu()
{
printf(" **欢迎使用大学生寝室管理系统** \n");
printf("-------------------------------------------------------------\n");
printf(" 1、寝室卫生分数录入 \n");
printf(" 2、寝室卫生情况查询 \n");
printf(" 3、学生信息录入 \n");
printf(" 4、学生信息查询 \n");
printf(" 5、寝室管理员信息录入 \n");
printf(" 6、寝室管理员信息查询 \n");
printf(" 7、寝室物品损坏信息录入 \n");
printf(" 8、寝室物品损坏信息查询 \n");
printf(" 0、退出系统 \n");
printf("-------------------------------------------------------------\n");
}
int scoreadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入检查日期(20140312):");
scanf("%d",&stu[len1].data3);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入总分:");
scanf("%d",&stu[len1].score);
len1++;
return len1;
}
}
void serach2(student stu[],int len1)
{
int choice,i=0;
char num[10];
system("cls");
printf("请输入栋号、寝室号(a25011):");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].dnum,num)==0)
{
printf("检查日期::%d\n",stu[i].data3);
printf("栋号、寝室号(a25011):%s\n",stu[i].dnum);
printf("总分:%d\n",stu[i].score);
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int STUadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入学号(输入 '0' 返回菜单):");
scanf("%s",&num);
if(strcmp(num,"0")==0)
return len1;
for(i=0;i<len1;i++)
{
if(strcmp(stu[i].num,num)==0)
{
printf("学号已存在,重试(y/n):");
scanf("%s",&ch);
if(ch=='y'||ch=='Y')
break;
else
{
printf("按任意键返回");
getchar();
return len1;
}
}
}
if(i==len1)
break;
}
strcpy(stu[len1].num,num);
printf("输入专业:");
scanf("%s",&stu[len1].major);
printf("输入班级:");
scanf("%d",&stu[len1].clas);
printf("输入姓名:");
scanf("%s",&stu[len1].name);
printf("输入性别:");
scanf("%s",&stu[len1].sex);
printf("输入出生年月(如19931231):");
scanf("%d",&stu[len1].both);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入联系电话:");
scanf("%d",&stu[len1].phone);
printf("输入家庭住址:");
scanf("%s",&stu[len1].family);
len1++;
return len1;
}
void serach4(student stu[],int len1)
{
int choice,i=0;
char num[8];
system("cls");
printf("请输入学号:");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].num,num)==0)
{
printf("学号:%s\n",stu[i].num);
printf("专业:%s\n",stu[i].major);
printf("班级:%d\n",stu[i].clas);
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("出生年月(19931231):%d\n",stu[i].both);
printf("栋号、寝室号(a25011):%S\n",stu[i].dnum);
printf("联系电话:%d\n",stu[i].phone);
printf("家庭住址:%s\n",stu[i].family);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int MNadd(student stu[],int len1)
{
int i;
char num[8],ch;
system("cls");
while(1)
{
printf("输入员工号(输入 '0' 返回菜单):");
scanf("%s",&num);
if(strcmp(num,"0")==0)
return len1;
for(i=0;i<len1;i++)
{
if(strcmp(stu[i].num,num)==0)
{
printf("员工号已存在,重试(y/n):");
scanf("%s",&ch);
if(ch=='y'||ch=='Y')
break;
else
{
printf("按任意键返回");
getchar();
return len1;
}
}
}
if(i==len1)
break;
}
printf("输入姓名:");
scanf("%s",&stu[len1].name);
printf("输入性别:");
scanf("%s",&stu[len1].sex);
printf("输入出生年月(如19931231):");
scanf("%d",&stu[len1].both);
printf("输入联系电话:");
scanf("%d",&stu[len1].phone);
printf("输入家庭住址:");
scanf("%s",&stu[len1].family);
len1++;
return len1;
}
void serach6(student stu[],int len1)
{
int choice,i=0;
char num[8];
system("cls");
printf("请输入员工号:");
scanf("%s",&num);
for(i=0;i<len1;i++)
if(strcmp(stu[i].num,num)==0)
{
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("出生年月(19931231):%d\n",stu[i].both);
printf("联系电话:%d\n",stu[i].phone);
printf("家庭住址:%s\n",stu[i].family);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
int brokadd(student stu[],int len1)
{
int i;
int data;
system("cls");
while(1)
{
printf("输入报修日期(20140312):");
scanf("%d",&stu[len1].data);
printf("输入栋号、寝室号(a25011):");
scanf("%s",&stu[len1].dnum);
printf("输入损坏说明:");
scanf("%s",&stu[len1].bt);
printf("输入处理时间(20140312):");
scanf("%d",&stu[len1].data2);
len1++;
return len1;
}
}
void serach8(student stu[],int len1)
{
int choice,i=0;
char dnum[10];
system("cls");
printf("输入栋号、寝室号(a25011):");
scanf("%s",&dnum);
for(i=0;i<len1;i++)
if(strcmp(stu[i].dnum,dnum)==0)
{
printf("报修日期(20140312):%d\n",stu[len1].data);
printf("栋号、寝室号(a25011):%s\n",stu[len1].dnum);
printf("损坏说明:%s\n",stu[len1].bt);
printf("处理时间(20140312):%d\n",stu[len1].data2);
printf("按任意键继续\n");
getchar();
getchar();
return;
}
printf("\n未找到该记录,按任意键继续\n");
getchar();
getchar();
return ;
}
void save(student stu[],int len1)
{
FILE *fp;
fp=fopen("c:\\student","wb");
if(fp==NULL)
{
cout<<"\n文件打开失败,按任意键返回!\n";
getchar();
return;
}
for(int i=0;i<len1;i++)
fwrite(&stu[i],sizeof(student),1,fp);
if(len1>0)
{
cout<<"\n保存成功,文件中记录数为:"<<len1<<endl;
cout<<"按任意键继续"<<endl;
getchar();
}
else
{
system("cls");
cout<<"无记录被保存,按任意键继续\n";
getchar();
}
fclose(fp);
}
int readfile(student stu[])
{ FILE *fp;
int i=0,len1=0;
fp=fopen("c:\\student","ab+");
if(fp==NULL)
{cout<<"无法打开文件 student\n";
exit(0);
}
while(!feof(fp))
{ if(fread(&stu[i],sizeof(student),1,fp)==1)
i++;
}
len1=i;
fclose(fp);
cout<<"文件中学生记录数为:"<<len1<<endl;
cout<<"按任意键返回!"<<endl;
getchar();
return len1;
}
void main()
{
struct student stu[N];
int len1,choice;
char ch;
len1=readfile(stu);
menu();
while(1)
{
system("cls");
menu();
printf("请输入菜单选择项(0-8):");
scanf("%d",&choice);
if(choice==0)
{
cout<<"\n保存到文件?(y/n):"<<endl;
cin>>ch;
if(ch=='y'||ch=='Y')
save(stu,len1);
cout<<"\n欢迎再次使用,按任意键退出"<<endl;
getchar();
break;
}
switch(choice)
{
case 1:scoreadd(stu,len1);break;
case 2:serach2(stu,len1);break;
case 3:STUadd(stu,len1);break;
case 4:serach4(stu,len1);break;
case 5:MNadd(stu,len1);break;
case 6:serach6(stu,len1);break;;break;
case 7:brokadd(stu,len1);break;
case 8:serach8(stu,len1);break;;break;
default:
cout<<"\n输入错误,按任意键继续"<<endl;
getchar();
}
}
}