代码还不完整,排序就出现问题了,想请您帮忙修改一下
//函数声明
#include
#include
#include
void welcome();//欢迎界面
void PrimaryMenu();//进入页面,主菜单
void secondMenu();//功能菜单
void logon();//注册
void login();//登录
void get();//录入
void sort();//排序
//结构体,储存学生宿舍信息
#define N 9 //设定的所有信息的长度。之后修改所有的字符长度设定都应该与结构体的设定一样
struct student
{
char name [N];//学生名字
int num1[N];//学号
int cla[N];//班级
int dorm[N];//宿舍编号
char title[N];//宿舍名字
int num2[N];//楼号
}stu[100];
//结构体,储存用户注册信息
struct user
{
char username[20];
char password[20];
}User;
//全局变量
int sum=0;//学生总人数
//欢迎
void welcome()
{
printf("\t|——————————————————|\n");
printf("\t|------------------------------------|\n");
printf("\t|----------高校学生管理系统----------|\n");
printf("\t|************************************|\n");
printf("\t|------------版本:V1.0--------------|\n");
printf("\t|--------开发时间:2022/11/17--------|\n");
printf("\t|------------------------------------|\n");
printf("\t|——————————————————|\n");
}
//登陆菜单
void PrimaryMenu()
{
printf("\n");
printf("\t---------------1.注册-----------------\n");
printf("\t---------------2.登录-----------------\n");
}
//功能菜单
void secondMenu()
{
printf("------------------您的操作-------------------\n");
printf("------------------a.导入---------------------\n");
printf("------------------b.删除---------------------\n");
printf("------------------c.查询---------------------\n");
printf("------------------d.排序---------------------\n");
printf("------------------e.修改---------------------\n");
}
//宿管注册
void logon()
{
printf("请输入用户名:");
scanf("%s",User.username);
printf("请输入密码:");
scanf("%s",User.password);
}
//登录
void login()
{
int n=0;//记录登录次数
char username[20],password[20];
do
{
printf("请输入用户名:");
scanf("%s",username);
printf("请输入密码:");
scanf("%s",password);
if ((strcmp(username,User.username))==0&&((strcmp(password,User.password))==0))
{
printf(" 正在登陆,请稍等\n");
printf("********************************\n");
printf("登录成功!\n");
break;
}
else
{
printf("用户名名或密码错误(仅有三次机会)\n");
printf("请重新输入用户名或密码.\n");
n++;
}
}while(n<=3);
if(n>3)
{
printf("登录失败!!!\n");
}
}
//导入功能
void get()
{
int i,j;//通过i循环录入,j是每次添加的学生人数
int sum=0;//学生总人数struct student stu[100];
printf("请输入录入学生人数(少于100人):");
scanf("%d", &j);
for(i=0;i//循环录入学生信息
{
printf("请输入第%d位学生学号:",i+1);
scanf("%d", &stu[i].num1);
printf("请输入第%d位学生姓名:",i+1);
scanf("%s", stu[i].name);
printf("请输入第%d位学生的班级:",i+1);
scanf("%d",&stu[i].cla);
printf("请输入第%d位学生的宿舍编号:",i+1);
scanf("%d",&stu[i].dorm);
printf("请输入第%d位学生的宿舍名字:",i+1);
scanf("%s", stu[i].name);
printf("请输入第%d位学生的楼号:",i+1);
scanf("%d", &stu[i].num2);
printf("\n");
sum++;
}
printf("系统中总共学生人数是%d\n",sum);
printf("录入完成!\n");
}
void sort(int sum)//利用冒泡排序根据学号升序排列
{
int i,j,a;
struct student t;
printf("请再次输入数字1或2\n");
printf("输入1排序,2退出\n");
scanf("%d",&a);
switch(a)
{
case 1:printf("按学生学号排序\n");
for(i=0;i-1;i++)
for(j=i+1;jif(stu[i].num1>stu[j].num1)
{
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
}
for(i=0;iprintf("%d,%s,%d,%d,%d\n",stu[i].num1,stu[i].name,stu[i].cla,stu[i].dorm,stu[i].num2);}
case 2:printf("退出");break;
}
}
//主函数
int main()
{
welcome();//欢迎
PrimaryMenu();//进入页面
logon();//注册
login();//登录
secondMenu();//功能菜单
get();//录入
sort(stu,sum);
return 0;
}
可以看看这篇博客:http://t.csdn.cn/b9Kcg