这段程序为什么在vc6.0可以运行在vs2010反而各种报错?

#include <stdio.h>

#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
#define N 58

int reads1(struct dormitory dor[N]);//学生信息
void save1(struct dormitory dor[N],int n);//学生信息
int reads2(struct dormitory dor[N]);//晚归信息
void save2(struct dormitory dor[N],int n);//晚归信息
int reads3(struct visitors vi[N]);//访客信息
void save3(struct visitors vi[N],int n);//访客信息

void welcome();//欢迎页
void mainmenu1();//管理员菜单
void mainmenu2();//学生菜单
void open();//入住注册
void change1();//宿舍调整
void change2();//宿舍卫生修改
void delet();//老生迁出
void visitor();//访客登记
void visitor_delet();//访客删除
void postgraduate();//考研登记
void late();//晚归登记
void see_health();//宿舍卫生查询
void see_message();//个人信息查询
void see_late();//晚归查询
struct dormitory
{
char no[20];//学号
char name[58];//学生姓名
int age;//年龄
char sex[10];//性别
int sec;//密码
char faculty[20];//院系
int lou;//宿舍楼号
int su;//宿舍号
char health[100];//卫生情况
char later[100];//晚归
};
struct visitors
{
char visitor[20];//访客
char sex[10];//性别
int lou;//宿舍楼号
int su;//宿舍号
};
void welcome()
{
printf("\n");
printf("\n 欢迎进入包头医学院宿舍管理系统 \n “);
printf(”\n *******************************************************************\n");
printf(" \n 1.管理员系统 \n");
printf("\n *******************************************************************\n");
printf("\n 2.学生系统 \n");
printf("\n *******************************************************************\n");
printf("\n 0.退出系统 \n");
printf("\n *******************************************************************\n");
}
int main()
{
int choice;
int i;
int id;
int password;
printf("%s\n",TIME);
while(1)
{

welcome();
printf(" 请输入您的选择:");
scanf("%d",&choice);
switch(choice)
{
case 1:
for(i=0; i<3; i++){
printf(“\n");
printf(" 请输入管理员账号:\n");
scanf("%d",&id);
printf("
\n”);
printf(" 请输入管理员密码:\n");
scanf("%d",&password);
if((id2019040509)&&(password123456))
mainmenu1();
else
{
if (i < 2)
printf(“用户名或密码错误,请重新输入!\n”);
else
{printf(“用户名或密码错误,达到输入上限,退出系统!\n”);exit(0);}
}
}
case 2:
mainmenu2();
case 0:
printf(“谢谢您使用本系统,欢迎您再次使用,再见。。。\n”);exit(0);
default:
printf(“输入有误!请重新输入:\n”);
main();
}
}
return 0;
}
void mainmenu1()
{
int choice;
while(1)
{
printf("\n");
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”);
printf(“请输入您的选择:”);
scanf("%d", &choice);
printf("\n");
printf("\n");
switch(choice)
{
case 0:
main();
case 1:
open();
mainmenu1();
case 2:
change1();
mainmenu1();
case 3:
delet();
mainmenu1();
case 4:
visitor();
mainmenu1();
case 5:
visitor_delet();
mainmenu1();
case 6:
postgraduate();
mainmenu1();
case 7:
late();
mainmenu1();
case 8:
change2();
mainmenu1();
default:
printf(“输入错误,请重新输入。”);
mainmenu1();

}
}
}
void mainmenu2()
{
int choice;
while(2)
{
printf("\n");
printf("\n");
printf(“±----------------------------------+\n”);
printf("| 1.身份信息查询 |\n");
printf("| 2.宿舍卫生情况查询 |\n");
printf("| 3.晚归情况查询 |\n");
printf("| 0.返回主菜单 |\n");
printf(“±----------------------------------+\n”);
printf(“请输入您的选择:”);
scanf("%d", &choice);
printf("\n");
printf("\n");
switch(choice)
{
case 0:
main();
case 1:
see_message();
mainmenu2();
case 2:
see_health();
mainmenu2();
case 3:
see_late();
mainmenu2();
default:
printf(“输入错误,请重新输入。”);
mainmenu2();

}
}
}
int reads1(struct dormitory dor[N]) // 读取学生信息内容
{
FILE *fp1;
int i=0;
if((fp1=fopen(“d:\file1.txt”,“r”))==NULL)
{
printf(“文件打开失败!\n”);
return 0;
}
else
{
for(i=0;!feof(fp1);i++)
{
fscanf(fp1, “\n%s”,dor[i].no);
fscanf(fp1, “\n%s”,dor[i].name);
fscanf(fp1, “\n%d”,&dor[i].age);
fscanf(fp1, “\n%s”,dor[i].sex);
fscanf(fp1, “\n%s”,dor[i].faculty);
fscanf(fp1, “\n%d”,&dor[i].sec);
fscanf(fp1, “\n%d”,&dor[i].lou);
fscanf(fp1, “\n%d”,&dor[i].su);
fscanf(fp1, “\n%s”,dor[i].health);
}
}
fclose(fp1);
return i;
}
void save1(struct dormitory dor[N],int n) // 学生修改后信息
{
FILE *fp1;
int i=0;
if((fp1=fopen(“d:\file1.txt”,“w”))==NULL)
{
printf(“文件打开失败!\n”);
return;
}
else
{
for(i=0;i<n-1;i++)
{
fprintf(fp1, “\n%s\n”,dor[i].no);
fprintf(fp1, “\n%s\n”,dor[i].name);
fprintf(fp1, “\n%d\n”,dor[i].age);
fprintf(fp1, “\n%s\n”,dor[i].sex);
fprintf(fp1, “\n%s\n”,dor[i].faculty);
fprintf(fp1, “\n%d\n”,dor[i].sec);
fprintf(fp1, “\n%d\n”,dor[i].lou);
fprintf(fp1, “\n%d\n”,dor[i].su);
fprintf(fp1, “\n%s\n”,dor[i].health);
}
}
fclose(fp1);
}
int reads2(struct dormitory dor[N]) // 读取晚归情况
{
FILE *fp2;
int i=0;
if((fp2=fopen(“d:\file2.txt”,“r”))==NULL)
{
printf(“文件打开失败!\n”);
return 0;
}
else
{
for(i=0;!feof(fp2);i++)
{
fscanf(fp2, “\n%s”,dor[i].no);
fscanf(fp2, “\n%s”,dor[i].name);
fscanf(fp2, “\n%s”,dor[i].faculty);
fscanf(fp2, “\n%d”,&dor[i].lou);
fscanf(fp2, “\n%d”,&dor[i].su);
fscanf(fp2, “\n%s”,dor[i].later);
}
}
fclose(fp2);
return i;
}
void save2(struct dormitory dor[N],int n) // 晚归情况
{
FILE *fp2;
int i=0;
if((fp2=fopen(“d:\file2.txt”,“w”))==NULL)
{
printf(“文件打开失败!\n”);
return;
}
else
{
for(i=0;i<n-1;i++)
{
fprintf(fp2, “\n%s\n”,dor[i].no);
fprintf(fp2, “\n%s\n”,dor[i].name);
fprintf(fp2, “\n%s\n”,dor[i].faculty);
fprintf(fp2, “\n%d\n”,dor[i].lou);
fprintf(fp2, “\n%d\n”,dor[i].su);
fprintf(fp2, “\n%s\n”,dor[i].later);
}
}
fclose(fp2);
}
int reads3(struct visitors vi[N]) // 读取访客内容
{
FILE *fp3;
int i=0;
if((fp3=fopen(“d:\file3.txt”,“r”))==NULL)
{
printf(“文件打开失败!\n”);
return 0;
}
else
{
for(i=0;!feof(fp3);i++)
{
fscanf(fp3,"\n%s",vi[i].visitor);
fscanf(fp3,"\n%s",vi[i].sex);
fscanf(fp3,"\n%d",&vi[i].lou);
fscanf(fp3,"\n%d",&vi[i].su);
}
}
fclose(fp3);
return i;
}
void save3(struct visitors vi[N],int n) // 访客修改后信息
{
FILE *fp3;
int i=0;
if((fp3=fopen(“d:\file3.txt”,“w”))==NULL)
{
printf(“文件打开失败!\n”);
return;
}
else
{
for(i=0;i<n-1;i++)
{
fprintf(fp3,"\n%s\n",vi[i].visitor);
fprintf(fp3,"\n%s\n",vi[i].sex);
fprintf(fp3,"\n%d\n",vi[i].lou);
fprintf(fp3,"\n%d\n",vi[i].su);
}
}
fclose(fp3);
}

//考研登记
void postgraduate()
{
struct dormitory dor[N];
int n,i,t;
char number[20];
printf(“请输入学生的学号和密码,并按回车确认:”);
scanf("%s%d",&number,&t);
n=reads1(dor);
for(i=0;i<n;i++)
if(strcmp(number,dor[i].no)0 && tdor[i].sec)
break;
if(i>n||t!=dor[i].sec)
{
printf("\n没有该学生信息或密码输入错误\n");
return;
}
else
{
printf("\n请输入考研学生的学号,并以回车确认:");
scanf("%s",dor[i].no);
}
save1(dor,n);
printf("\n登记成功\n");
}

void open()//入住注册
{
FILE *fp1;
struct dormitory * dor;
if((fp1=fopen(“d:\file1.txt”,“a”))==NULL)//如果文件存在,可以追加学生的信息
{
if((fp1=fopen(“d:\file1.txt”,“a”))==NULL)//文件不存在时,创建新文件,输入学生的信息
{
printf(“用户不存在!\n”);
return;
}
}
dor=(dormitory *) malloc(sizeof(struct dormitory));
printf("\n请输入学生学号,并以回车键确认:\n");
scanf("%s",dor->no);
fprintf(fp1,"\n%s\n",dor->no);
printf("\n请输入学生姓名,并以回车键确认:\n");
scanf("%s",dor->name);
fprintf(fp1,"\n%s\n",dor->name);
printf("\n请输入学生年龄,并以回车键确认:\n");
scanf("%d",&dor->age);
fprintf(fp1,"\n%d\n",dor->age);
printf("\n请输入学生性别,按回车键确认:\n");
scanf("%s",dor->sex);
fprintf(fp1,"\n%s\n",dor->sex);
printf("\n请输入学生院系,按回车键确认:\n");
scanf("%s",dor->faculty);
fprintf(fp1,"\n%s\n",dor->faculty);
printf("\n请输入学生密码,按回车键确认:\n");
scanf("%d",&dor->sec);
fprintf(fp1,"\n%d\n",dor->sec);
printf("\n请输入学生宿舍楼号,按回车键确认:\n");
scanf("%d",&dor->lou);
fprintf(fp1,"\n%d\n",dor->lou);
printf("\n请输入学生宿舍号,按回车键确认:\n");
scanf("%d",&dor->su);
fprintf(fp1,"\n%d\n",dor->su);
printf("\n请输入学生宿舍卫生的情况,按回车键确认:\n");
scanf("%s",dor->health);
fprintf(fp1,"\n%s\n",dor->health);

printf("\n**注册成功\n");
fclose(fp1);
}
//老生迁出
void delet()
{
struct dormitory dor[N];
char student[20];
int n,i,j;
n=reads1(dor);
printf("\n请输入要迁出的学生的学号:");
scanf("%s",student);
for(i=0;i<n;i++)
if(strcmp(student,dor[i].no)==0)
break;
if(i>=n)
{
printf(“没有找到该学生的信息\n”);
return;
}
else{
for(j=i+1;j<n;j++)
dor[j-1]=dor[j];
}
save1(dor,n-1);
printf(“迁出成功\n”);
}
//宿舍调整
void change1()
{
struct dormitory dor[N];
int n,i;
int t;
char number[20];
printf("\n请输入学生的学号和密码,并以回车键确认:");
scanf("%s%d",&number,&t);
n=reads1(dor);
for(i=0;i<n;i++)
if(strcmp(number,dor[i].no)0)
break;
if(i>=n)
{
printf("\n无此学生信息\n");
return;
}
else
{
printf("\n请输入修改后宿舍号,并以回车键确认:\n");
scanf("%d",&dor[i].su);
}
save1(dor,n);
printf("\n修改成功\n");
}
//宿舍卫生修改
void change2()
{
struct dormitory dor[N];
int n,i;
int t;
int su;
printf("\n请输入卫生需要修改的宿舍号,并以回车键确认:");
scanf("%d",&su);
n=reads1(dor);
for(i=0;i<n;i++)
if(dor[i].su
su)
break;
if(i>=n)
{
printf("\n无此学生信息\n");
return;
}
else
{
printf("\n请输入卫生情况的修改,并以回车键确认:\n");
scanf("%s",dor[i].health);
}
save1(dor,n);
printf("\n修改成功\n");
}

//卫生情况查询
void see_health()
{
struct dormitory dor[N];
int n,i;
int se;
printf("\n请输入学生的宿舍号,并以回车键确认:");
scanf("%d",&se);
n=reads1(dor);
for(i=0;i<n;i++)
if(dor[i].su==se)
break;
if(i>=n)
{
printf("\n无此宿舍的信息\n");
return;
}
else
{
printf("\n|-------------|-------------|---------------|");
printf("\n| 宿舍楼号 | 宿舍号 | 卫生情况 |");
printf("\n|-------------|-------------|---------------|");
printf("\n| %d | %d | %s |" ,dor[i].lou,dor[i].su,dor[i].health);
printf("\n|-------------|-------------|---------------|");
}
save1(dor,n);
printf("\n查询成功\n");
}
void visitor()//访客登记
{
FILE fp3;
struct visitors * vi;
if((fp3=fopen(“d:\file3.txt”,“a”))==NULL)//如果文件存在,可以追加用户信息
{
if((fp3=fopen(“d:\file3.txt”,“w”))==NULL)//文件不存在时,创建新文件,输入用户信息
{
printf(“访客不存在!\n”);
return;
}
}
vi=(visitors )malloc(sizeof(struct visitors));
printf(“请输入你的姓名:\n”);
scanf("%s",vi->visitor);
fprintf(fp3,"\n%s\n",vi->visitor);
printf(“请输入你的性别:\n”);
scanf("%s",vi->sex);
fprintf(fp3,"\n%s\n",vi->sex);
printf(“请输入你所在的宿舍楼号:\n”);
scanf("%d",&vi->lou);
fprintf(fp3,"\n%d\n",vi->lou);
printf(“请输入你所要访问的宿舍号:\n”);
scanf("%d",&vi->su);
fprintf(fp3,"\n%d\n",vi->su);
printf("\n
登记成功\n");
fclose(fp3);

}

void visitor_delet()//访客删除
{
struct visitors vi[N];
char name[20];
int n,i,j;
n=reads3(vi);
printf("\n请输入要要删除的访客的姓名:");
scanf("%s",name);
for(i=0;i<n;i++)
if(strcmp(name,vi[i].visitor)==0 )
{
break;
}
if(i>=n||strcmp(name,vi[i].visitor)!=0)
{
printf(“没有找到该访客的信息\n”);
return;
}
else{
for(j=i+1;j<n;j++)
vi[j-1]=vi[j];
}
save3(vi,n-1);
printf(“删除成功\n”);
}

void see_message()//个人信息查询
{
struct dormitory dor[N];
int n,i;
int t;
char number[20];
printf("\n请输入学号,密码,并以回车键确认:");
scanf("%s %d",number,&t);
n=reads1(dor);
for(i=0;i<n;i++)
if(strcmp(number,dor[i].no)0 && tdor[i].sec)
break;
if(i>=n||strcmp(number,dor[i].no)!=0||t!=dor[i].sec)
{
printf("\n无此储户信息\n");
return;
}
else
{
printf(" 学号 姓名 年龄 性别 院系 楼号 宿舍号 \n");
printf("| %s | %s | %d | %s | %s | %d | %d |\n",dor[i].no,dor[i].name,dor[i].age,dor[i].sex,dor[i].faculty,dor[i].lou,dor[i].su);}
save1(dor,n);
printf("\n查询成功\n");
}
void late()//晚归登记
{
FILE fp2;
struct dormitory * dor ;
float time;
int len;
char c1[]=“晚归”,c2[]=“考研生”,c3[]=“无晚归”;
if((fp2=fopen(“d:\file2.txt”,“a”))==NULL)//如果文件存在,可以追加用户信息
{
if((fp2=fopen(“d:\file2.txt”,“w”))==NULL)//文件不存在时,创建新文件,输入用户信息
{
printf(“访客不存在!\n”);
return;
}
}
dor=(dormitory )malloc(sizeof(struct dormitory));
printf("\n请输入学生学号,并以回车键确认:\n");
scanf("%s",dor->no);
fprintf(fp2,"\n%s\n",dor->no);
len=strlen(dor->no);//读取学号的长度
printf("\n请输入学生姓名,并以回车键确认:\n");
scanf("%s",dor->name);
fprintf(fp2,"\n%s\n",dor->name);
printf("\n请输入学生院系,按回车键确认:\n");
scanf("%s",dor->faculty);
fprintf(fp2,"\n%s\n",dor->faculty);
printf("\n请输入学生宿舍楼号,按回车键确认:\n");
scanf("%d",&dor->lou);
fprintf(fp2,"\n%d\n",dor->lou);
printf("\n请输入学生宿舍号,按回车键确认:\n");
scanf("%d",&dor->su);
fprintf(fp2,"\n%d\n",dor->su);
tm t;
_getsystime(&t);
if((t.tm_hour<6 || t.tm_hour>23) && len<11)
{
strcpy(dor->later,c1);
}
else if((0<t.tm_hour<6 || t.tm_hour>23) && len>=11)
{
strcpy(dor->later,c2);
}
else
{
strcpy(dor->later,c3);
}
fprintf(fp2,"\n%s\n",dor->later);
printf("\n
登记成功\n");
fclose(fp2);
}
void see_late()//晚归查询
{
struct dormitory dor[N];
int i=0,n;
char number[20];
printf("\n请输入你要查询的学生的学号,并以回车键确认:");
scanf("%s",number);
n=reads2(dor);
for(i=0;i<n;i++)
if(strcmp(number,dor[i].no)==0)
break;
if(i>=n||strcmp(number,dor[i].no)!=0)
{
printf("\n无此储户信息\n");
return;
}
else
{
printf(" 学号 姓名 院系 楼号 宿舍号 晚归情况\n");
printf("| %s | %s | %s | %d | %d | %s |\n",dor[i].no,dor[i].name,dor[i].faculty,dor[i].lou,dor[i].su,dor[i].later);
}
save2(dor,n);
printf("\n查询成功\n");
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值