请高手帮忙看下 那个查询模块为什么 我录入了 在查询 就是运行不了 那个也没提示错误。我是菜鸟-.-
#include<stdio.h>/*I/O函数*/ #include<stdlib.h>/*其他说明*/
#include<string.h>/*字符串函数*/
#include<conio.h>/*屏幕操作函数*/
#define PF printf
#define SF scanf
static int n,i;
struct address_book
{
char name[20];
char age[3];
int num;
char sex;
char clas[40];
char profession;
char student;
char department;
long telephone;
char addr[40];
}stud[200];
void add()
{
char j;
front1:
system("cls"); /*清屏*/
PF("\n");
PF("\n请输入要添加的姓名:");
SF("%s",stud[n].name);
PF("\n请输入要添加的年龄:");
SF("%d",&stud[n].age);
PF("\n请输入要添加的性别(F/M):");
SF("\n%c",&stud[n].sex);
PF("\n请输入要添加的学号(8位):");
SF("%d",&stud[n].num);
PF("\n请输入要添加的学籍:");
SF("%s",&stud[n].student);
PF("\n请输入要添加的系别:");
SF("%s",&stud[n].department);
PF("\n请输入要添加的专业:");
SF("%s",&stud[n].profession);
PF("\n请输入要添加的班级:");
SF("%ld",&stud[n].clas);
PF("\n请输入要添加的电话号码:");
SF("%ld",&stud[n].telephone);
PF("\n请输入要添加的地址:");
SF("%s",stud[n].addr);
getchar();
n++;
PF("是否继续(Y/N)?:");
j=getchar(); getchar();
if(j=='y'||j=='Y') goto front1; /*再输入记录*/
}
void del()
{int k=0,m,i;char j;
front2:
system("cls"); /*清屏*/
PF("\n请输入要删除的学号:");
scanf("%d",&m);
getchar();
for(i=0;i<n;i++)
if(m==stud[i].num){ k=1;break;} /*查找记录*/
if(k==1) /*删除记录*/
{ for(k=i;k<n-1;k++)
{ stud[k]=stud[k+1];
}
n--;PF("已删除\n\n");
}
else
{
PF("找不到要删除的记录!\n");
PF("按回车键返回:");
getchar();
}
PF("是否继续(Y/N)?:");
j=getchar(); getchar();
if(j=='y'||j=='Y') goto front2;
}
void find()
{int i,k,s=0; char j;
front3:
s=0;
system("cls"); /*清屏*/
PF("\n请输入要查询的学号: ");
SF("%d",&k);
for(i=0;i<n;i++)
if(k==stud[i].num)
{
PF(" 姓名 年龄 性别 学号 学籍 系别 专业 班级 电话 地址 \n");
PF(" %-10s %d %c %-20d %s %s %s %ld %-8ld %-6s\n",stud[i].name,
stud[i].age,stud[i].sex,stud[i].num,stud[i].student,stud[i].department,stud[i].profession,stud[i].clas,stud[i].telephone,
stud[i].addr);
s=1;
}
if(s==0)
PF("查无此人!\n");
getchar();
PF("是否继续查询(Y/N)?:");
j=getchar();getchar();
if(j=='y'||j=='Y') goto front3;
getchar();
}
void arrange()
{int k,i;
struct address_book t;
system("cls"); /*清屏*/
PF(" 姓名 学号 性别 班级 电话 地址 \n");
for(k=0;k<n-1;k++)
for(i=0;i<n-k-1;i++)
if(stud[i].num>stud[i+1].num)
{t=stud[i];
stud[i]=stud[i+1];
stud[i+1]=t;}
else continue;
for(i=0;i<=n-1;i++)
if(stud[k].num!=0)
PF(" %-10s%-8d %c %-20s%-8ld %-6s\n",stud[i].name,
stud[i].num,stud[i].sex,stud[i].clas,stud[i].telephone,
stud[i].addr);
PF("按回车键返回!");getchar();
getchar();
}
void change()
{int k=0,m;char j;
front5:
system("cls"); /*清屏*/
PF("\n请输入要修改记录的学号:");
SF("%d",&m);
getchar();
for(i=0;i<n;i++)
if(m==stud[i].num) { k=1;break; } /*查找*/
if(k==1) /*修改*/
{ PF("\n");
PF("\n请输入修改后的姓名:");
SF("%s",stud[i].name);
PF("\n请输入修改后的年龄:");
SF("%d",&stud[i].age);
PF("\n请输入修改后的性别(F/M):");
SF("\n%c",&stud[i].sex);
PF("\n请输入修改后的学号:");
SF("%d",&stud[i].num);
PF("\n请输入修改后的学籍:");
SF("%s",&stud[i].student);
PF("\n请输入修改后的系别:");
SF("%s",&stud[i].department);
PF("\n请输入修改后的专业:");
SF("%s",&stud[i].profession);
PF("\n请输入修改后的班级:");
SF("%s",&stud[i].clas);
PF("\n请输入修改后的电话号码:");
SF("%ld",&stud[i].telephone);
PF("\n请输入修改后的地址:");
SF("%s",stud[i].addr);
PF("修改成功\n");
getchar();
}
if(k==0)
{
PF("找不到要修改的记录!\n");
PF("按回车键返回:");
getchar();
}
getchar();
PF("是否继续(Y/N)?:");
j=getchar(); getchar();
if(j=='y'||j=='Y') goto front5;
}
void main()
{
char j;
PF("\n\n\n\n\n\n\t\t\t 欢迎使用学生学籍管理系统");
PF("\n\n\n\t\t\t\t 制作人:胡松");
PF("\n\n\n\t\t\t\t 2014年6月");
PF("\n\n\n\n\n\t按回车键进入主菜单:");
getchar();
loop:
system("cls");
PF("\n");
PF("\t\t\t\t ************\n");
PF("\t\t\t\t * 主菜单 *\n");
PF("\t\t\t\t ************\n");
PF("\t\t 1:录入学生信息 2:删除学生信息\n\n");
PF("\t\t 3:查询学生信息 4:学生信息排序\n\n");
PF("\t\t 5:修改学生信息 6:保存退出系统\n\n");
PF("\t 请选择[1/2/3/4/5/6]: ");
j=getchar();
if(j=='\n') goto loop; /*返回主菜单*/
switch(j)
{
case '1': add(); goto loop; /*返回主菜单*/
case '2': del(); goto loop;
case '3': find(); goto loop;
case '4': arrange(); goto loop;
case '5': change(); goto loop;
case '6': { FILE *fp;
fp=fopen("student.dat","w");
for(i=0;i<n;i++)
{fwrite(&stud[i],sizeof(struct address_book),1,fp);}
fclose(fp);exit(0);
}
default: goto loop;
}
}
void find()
{int i,k,s=0; char j;
front3:
s=0;
system("cls"); /*清屏*/
PF("\n请输入要查询的学号: ");
SF("%d",&k);
for(i=0;i<n;i++)
if(k==stud[i].num)
{
PF(" 姓名 年龄 性别 学号 学籍 系别 专业 班级 电话 地址 \n");
PF(" %-10s %d %c %-20d %s %s %s %ld %-8ld %-6s\n",stud[i].name,
stud[i].age,stud[i].sex,stud[i].num,stud[i].student,stud[i].department,stud[i].profession,stud[i].clas,stud[i].telephone,
stud[i].addr);
s=1;
}
if(s==0)
PF("查无此人!\n");
getchar();
PF("是否继续查询(Y/N)?:");
j=getchar();getchar();
if(j=='y'||j=='Y') goto front3;
getchar();
}
就是这个模块 一直在坑我 我真的没办法了 求大神救救我