永发信息网

c语言程序总是停止工作

答案:2  悬赏:30  手机版
解决时间 2021-01-29 01:37
  • 提问者网友:世勋超人
  • 2021-01-28 15:39
#include
#include

int strcmp(const char *str1,const char *str2)
{
while((*str1==*str2)&&*str1!='\0')
{
str1++;
str2++;
}
if(*str1=='\0'&&*str2=='\0')
return 0;
else return -1;
}

struct users
{
char id[9999];
char genger[9999];
char age[9999];
char mima[9999];
};

void zhuce();
void denglu();
void zhucaidan();
int main()
{

FILE *zFile1;
FILE *zFile2;
FILE *zFile3;
FILE *zFile4;
char id[9999];
char genger[9999];
char age[9999];
char mima[9999];

int num;

printf("欢迎您来到体育场管理系统!\n\n\n");
printf("1 注册\n2 登陆\n");
printf("请根据您的需要输入数字:");
scanf("%d",&num);
system("cls");

if(num==1)
{
zhuce();

}

if(num==2)
{
denglu();
}

system("pause");
return 0;
}

void zhuce()
{

char id[9999];
char genger[9999];
char age[9999];
char mima[9999];
void zhucaidan();
FILE *zFile1;
FILE *zFile2;
FILE *zFile3;
FILE *zFile4;

zFile1=fopen("userid.txt","a");
zFile2=fopen("xingbie.txt","a");
zFile3=fopen("nianling.txt","a");
zFile4=fopen("password.txt","a");

printf("请您输入用户ID:\n");
getchar();
gets(id);
printf("请您输入性别:\n");
gets(genger);
printf("请您输入年龄:\n");
gets(age);
printf("请您输入密码:\n");
gets(mima);
printf("恭喜您!注册成功!\n");
printf("请返回主菜单\n\n");
zhucaidan();
fprintf(zFile1,"%s\n",id);
fprintf(zFile2,"%s\n",genger);
fprintf(zFile3,"%s\n",age);
fprintf(zFile4,"%s\n",mima);
fclose(zFile1);
fclose(zFile2);
fclose(zFile3);
fclose(zFile4);
}

void denglu()
{
int m;
char id[9999];
char mima[9999];
char temp[9999];
struct users user[9999];
FILE *zFile1;
FILE *zFile4;
zFile1=fopen("userid.txt","r");
if(zFile1==NULL)
{
printf("F");
exit(1);
}
zFile4=fopen("password.txt","r");
printf("请输入用户ID:");
getchar();
gets(id);
printf("请输入密码:");
gets(mima);
for(m=0;m<9999;m++)
{
fscanf(zFile1,"%s",&(user[m].id));
fscanf(zFile4,"%s",&(user[m].mima));
if (strcmp(id,user[m].id)==0)
{
if (strcmp(mima,user[m].mima)==0)
{
printf("**验证成功!**\n");
break;
}
}
}

if (strcmp(mima,user[m].mima)!=0)
{
printf("验证失败!请返回主菜单\n\n");
zhucaidan();
}
fclose(zFile1);
fclose(zFile4);
}
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-01-28 16:57
在C-Free里面,

main函数要写成:int main(void),否则容易引起错误。这个是C-Free编译器执行代码检查,要求的,建议写成这样。。
scanf函数,正确的写法是:scanf("%c",&c);

另外,如果是错误,请确认关闭你的杀毒软件,有的杀毒软件会“截杀”控制台程序。。

打字不易,如满意,望采纳。
全部回答
  • 1楼网友:时间的尘埃
  • 2021-01-28 18:26
 int c,a[i];
你这里 数组声明的的时候必须要指定一个实际的大小啊  你的i在初始化之前就在a数组声明的时候使用了肯定会出问题的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯