c语言改错题怎么运行,关于c语言问题改错 程序出了一个错运行不了 请各位帮忙...

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

关于c语言问题改错 程序出了一个错运行不了 请各位帮忙

我程序输完了有一个错误怎么都找不出来,请大神们帮忙找一下并改正,谢了!!

是关于学生籍贯信息的

每个学生信息包括:学号、姓名、性别、籍贯、年龄。

主要功能:

1、信息录入;

2、信息浏览;

3、信息查询(a 按籍贯查询   b按年龄查询(输入某个年龄,显示该年龄的学生信息))

4、信息排序(a 按年龄排序(从高到低)b 按姓名排序  )

5、信息统计(统计用户要求的某籍贯的学生人数)

6、信息删除(删除指定学号的学生籍贯信息)

7、 保存信息(把当前的结构体数组内容保存到文件student.txt中)

8、 读取信息(从文件student.txt中把结构体数组的内容读到结构体数组中,并显示)

0、 退出

#include

#include

#include

#include

#include

#define N 5

struct student

{

int number,age;

char name[20],sex[10],address[30];

}em[N];

int a=N ;int exit();

int *p=&a;

int main()

{

void search();

void search_name();

void search_age();

void search_number();

void load();

void display();

void del();

void input();

void add();

void save();

int n;

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("\n");

scanf_s("%d",&n);

switch(n)

{

case 1:printf("              ◆◆◆输入学生信息◆◆◆\n");printf("\n");input();int main();break;

case 2:printf("              ◆◆◆浏览学生信息◆◆◆\n");printf("\n");display();int main();break;

case 3:printf("              ◆◆◆查询学生信息◆◆◆\n");printf("\n");search();break;

case 4:printf("              ◆◆◆删除学生信息◆◆◆\n");printf("\n");del();break;

case 5:printf("              ◆◆◆添加学生信息◆◆◆\n");printf("\n");add();break;

case 6:exit();break;

default :break;

}

}

void input()

{

int i ;int save();

for(i=0;i

{

printf("请输入学生号: ");

scanf_s("%d",&em[i].number);

printf("请输入姓名:  ");

scanf_s("%s",em[i].name);

printf("请输入性别:  ");

scanf_s("%s",&em[i].sex);

printf("请输入年龄:  ");

scanf_s("%d",&em[i].age);

printf("请输入住址:  ");

scanf_s("%s",em[i].address);

printf("\n");

}

printf("\n创建完毕!\n");

save();

}

void save(int m)

{

int i;

FILE*fp;

if(!(fopen_s(&fp,"d://bbb.txt","w")))

{

printf("打开失败");

exit();

}

for(i=0;i

fprintf(fp,"M %8s %5s ] %8s ] %8s ?\n",em[i].number,

em[i].name,em[i].sex,em[i].age,

em[i].address);

fclose(fp);

}

void load(int b)

{

int i;

FILE*fp;

if(!(fopen_s(&fp,"d://bbb.txt","r")))

{

printf("打开失败");

exit();

}

else

for(i=0;i

fscanf_s(fp,"?%8s%5s]%8s]%8s?\n",&em[i].number,&em[i].name,&em[i].sex,&em[i].age,&em[i].address);

fclose(fp);

}

void display(int a)

{

int i,b=a;

load(b);

printf("\n学生号\t    姓名\t性别\t年龄\t  住址\n");

for(i=0;i

printf("%d\t%8s\t%s\t%d\t%8s    %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].address);

printf("\n");

}

void search()

{

int t;int number;

printf("\n按学生号查询按1\n按姓名查询请按2");

printf("\n按性别查询请按3\n返回主菜单请按4\n");

scanf_s("%d",&t);

switch(t)

{

case 1:

printf("\n按学生号查询\n");

search_number();

break;

case 2:

printf("\n按姓名查询\n");

search_name();

break;

case 3:

printf("\n按性别查询\n");

search_sex();

break;

case 4:int main();break;

default :

printf("输入错误,请重新输入!\n");

search();

break;

}

}

void search_number()

{

int i,number;

load(*p);

printf("\n请输入要查询的学生号:");

scanf_s("%d",&number);

for(i=0;i

if(number==em[i].number)

{

printf("\n该学生信息如下:\n");

printf("\n学生号\t    姓名\t性别\t年龄\t  住址\n");

printf("\n%d\t%8s\t%s\t%d\t%8s    %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].address);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

void search_name()

{

int i;

char name[20];

load(*p);

printf("\n请输入要查询的姓名:");

scanf_s("%s",name);

for(i=0;i

if(!strcmp(em[i].name,name))

{

printf("\n该学生信息如下:\n");

printf("\n学生号\t    姓名\t性别\t年龄\t  住址\n");

printf("\n%d\t%8s\t%s\t%d\t%8s    %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].address);

printf("\n");

break;

}

if(i==*p)

printf("\n查无此人\n");

search();

}

void search_sex()

{

int i,k=0,sex;

char xueli[20];

load(*p);

printf("\n请输入要查询的性别:");

scanf_s("%s",sex);

for(i=0;i

if(!strcmp(em[i].sex,sex))

{

printf("学生号\t    姓名\t性别\t年龄\t 学历\t     工资\t  住址\t  电话\n");

printf("%d\t%8s\t%s\t%d\t%8s    %d\t%s\t%d\n",em[i].number,em[i].name,em[i].sex,em[i].age,em[i].address);

}

for(i=0;i

{

if(!strcmp(em[i].sex,sex))

break;

else k++;

}

if(k==*p)

printf("\n查无此人\n");

search();

}

void del(int *b)

{

int i,t,j,m;

int a=*b;

char name[20];

printf("\n所有学生信息:\n");

display(a);

printf("\n请输入要删除学生的名字:");

scanf_s("%s",name);

for(i=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值