问题遇到的现象和发生背景
运行结果与预期不符
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<stdlib.h>
#include<stdlib.h>
#include<string.h>
#define max 1000
typedef struct{
char no[6];//学号
char name[6];//姓名
char dor[6];//宿舍号
char bed[6];//床位号
char tel[6];//电话号码
}student;
typedef struct{
student *elem0;
int value;
}dor;
typedef struct{
dor *elem;
int length;
}sqlist;
sqlist L;
dor D;
void initsqlist(sqlist &L)
{//初始化
L.elem = new dor[max];
L.length = 0;
}
void initdor(dor &D)
{//初始化
D.elem0 = new student[max];
D.value = 0;
}
void Menu();
void Adddor();
void Save();
void Menu()
{//菜单函数
printf("\t\t======欢迎使用学生宿舍管理系统======\n\n");
printf("\t[1]录用学生信息\t");
printf("\t[2]修改学生信息\n\n");
printf("\t[3]删除学生信息\t");
printf("\t[4]输入学号查询学生信息\n\n");
printf("\t[5]输入姓名查询学生信息\t");
printf("[6]查询学生总人数\n\n");
printf("\t[7]进入报修系统\t");
printf("\t[8]查看需要报修项目\n\n");
printf("\t[9]添加未返校学生\t");
printf("[10]查询未返校学生\n\n");
printf("\t[11]查看所有学生信息\t");
printf("[0]保存并退出系统\n\n");
printf("\t\t请输入您的选择:");
}
void Adddor()
{//录用宿舍信息
printf("\t\t======欢迎使用学生宿舍管理系统======\n");
int i=L.length;
int j=0;
printf("\t=====请录用%d号宿舍学生信息(一个宿舍只能有6人)=====\n",i);
for(j;j<6;j++){
printf("请输入第%d位学生信息\n",j+1);
printf("\t请输入学号:");
scanf("%s",L.elem[i].elem0[j].no);
printf("\t请输入姓名:");
scanf("%s",L.elem[i].elem0[j].name);
printf("\t请输入宿舍号:");
scanf("%s",L.elem[i].elem0[j].dor);
printf("\t请输入床位号:");
scanf("%s",L.elem[i].elem0[j].bed);
printf("\t请输入电话号码:");
scanf("%s",L.elem[i].elem0[j].tel);
printf("\t录用成功!");
}
L.length++;
Save();
system("cls");
}
void Save()
{
FILE *fp;
int i;
int j=L.length;
if((fp=fopen("Student.txt","w"))==NULL)
{
printf("\t不能打开此文件\n");
exit(0);
}
fprintf(fp,"==========%d号宿舍学生信息==========\n",L.length);
fprintf(fp,"学号\t姓名\t\t宿舍号\t床位号\t电话号码\n");
for(i=0;i<6;i++)
{
fprintf(fp,"%s\t%s\t%s\t\t%s\t\t%s\n",L.elem[j].elem0[i].no,\
L.elem[j].elem0[i].name,L.elem[j].elem0[i].dor,\
L.elem[j].elem0[i].bed,L.elem[j].elem0[i].tel);
}
fclose(fp);
}
void main()
{
int s;
initsqlist(L);
initdor(D);
while(1){
Menu();
scanf("%d",&s);
switch(s){
case 0:Save();return;
case 1:Adddor();break;
/*case 2:Modifystudent();break;
case 3:Deletestudent();break;
case 4:Findstudentno();break;
case 5:Findstudentname();break;
case 6:Numberstudent();break;
case 7:Repairsystem();break;
case 8:Findrepair();break;
case 9:Addnotback();break;
case 10:Findnotback();break;
case 11:Showstudent();break;*/
}
}
}
运行结果及报错内容
我想要达到的结果
输入学号后就结束了 ,我希望将函数运行完