#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<conio.h>
#include<time.h>
#include <windows.h>
#pragma comment(lib, "Winmm.lib")
#define len sizeof(struct ADJ)
typedef struct ADJ
{
long xuehao,jxueji;
char name[20],daoshi[20]
,zhuanye[30],xianjiufx[50],sushe[10];
char sex[10];
struct ADJ *next;
}stu;
stu head;//将头节点定义为全局变量
void displayMenu();//显示菜单
int menuchoose();//获取用户菜单选择
stu *getupaddr(long xuehao); //返回指定学号的上一个节点指针
stu * creat();//创建一个节点
int add(stu *p1);//将节点加入链表
void displayall();//显示所有信息
int rencount();//统计总人数
void xiugai(stu *p);//修改信息
stu * xhaofind(long xh);//按学号进行查找,返回该学号上一个节点指针
int question(const char *pstr);//获取判断
void del(stu *p);//删除信息
void choose(int n);//功能选择
void delall();//删除所有研究生信息
int display(stu *p);//单个显示
void Load();//载入数据
void Save();//保存信息到文件
stu *namefind(char *mz);//按姓名查找,返回所查找姓名的上一个节点指针
void daos(char *dao);//按导师查找
void sefind(char *se);//按宿舍号查找
void xhaorank();//冒泡排序法
void namerank();//按姓名首字母排序
void daosrank();//按导师首字母排序
void zyrank();//按专业首字母排序
void yecount();//按专业统计人数
void dscount();//按导师统计奖学金
void yemoney();//按专业统计奖学金
void home();//欢迎界面
void login();//登陆验证
void music();//播放音乐
void offmusic();//关闭音乐
void tui();//退出音效
void hello();//问候音
void dqsj();//显示当前时间
int main()
{
hello();
home();
login();
choose(menuchoose());
return 0;
}
void choose(int n)//功能选择
{
int count=0,a;//a为选择变量
char mz[20],dao[20],se[10];
long b;
while(1)
{
switch(n)
{
case 1:Load();system("pause");choose(menuchoose());break;//载入信息
case 2:displayall();rencount();//显示全部信息
if(question("是否返回主菜单?")) choose(menuchoose());break;
case 3:do//添加信息
{
add(creat());
count++;
}while(question("是否继续输入?"));
printf("一共添加了%d条信息!\n",count);
if(question("是否返回主菜单?")) choose(menuchoose());break;
case 4:printf("您的查找方式?\n1为学号查找,2为姓名查找,3为导师查找,4为宿舍号查找\n您的选择是:");//查找信息
fflush(stdin);//清空输入缓冲区
scanf("%d",&a);
while(a!=1&&a!=2&&a!=3&&a!=4)//防止输入错误
{
printf("您的输入有误,请重新输入:");
scanf("%d",&a);
fflush(stdin);//清空输入缓冲区
}
if(a==1)//学号查找
{
printf("请输入您要查找的学号:");
scanf("%ld",&b);
if(display(xhaofind(b)))
{
printf("您想对该数据进行何种操作?\n");
printf("1删除 2修改 3返回主菜单\n请做出您的选择:");
}
else
{
if(question("是否返回主菜单?")) choose(menuchoose());
else choose(4);
}
fflush(stdin);//清空输入缓冲区
scanf("%d",&a);
while(a!=1&&a!=2&&a!=3)//防止输入错误
{
printf("您的输入有误,请重新输入:");
scanf("%d",&a);
fflush(stdin);//清空输入缓冲区
}
if(a==1)//删除该信息
{
del(xhaofind(b));
if(question("是否返回主菜单?")) choose(menuchoose());
}
else if(a==2)//修改该信息
{
xiugai(xhaofind(b));
if(question("是否返回主菜单?")) choose(menuchoose());
}
else//返回主菜单
choose(menuchoose());
}
else if(a==2)//姓名查找
{
printf("请输入您要查找的姓名:");
scanf("%s",mz);
if(display(namefind(mz)))//判断信息是否存在
{
printf("您想对该数据进行何种操作?\n");
printf("1删除 2修改 3返回主菜单\n请做出您的选择:");
}
else
{
if(question("是否返回主菜单?")) choose(menuchoose());
else choose(4);
}
fflush(stdin);//清空输入缓冲区
scanf("%d",&a);
while(a!=1&&a!=2&&a!=3)//防止输入错误
{
printf("您的输入有误,请重新输入:");
scanf("%d",&a);
fflush(stdin);//清空输入缓冲区
}
if(a==1)//删除
{
del(namefind(mz));
if(question("是否返回主菜单?")) choose(menuchoose());
}
else if(a==2)//修改
{
xiugai(namefind(mz));
if(question("是否返回主菜单?")) choose(menuchoose());
}
else//返回主菜单
choose(menuchoose());
}
else if(a==3)//按导师查找
{
printf("请输入您要查找的导师姓名:");
scanf("%s",dao);
daos(dao);if(question("是否返回主菜单?")) choose(menuchoose());
}
else
{
printf("请输入您要查找的宿舍号:");
scanf("%s",se);
sefind(se);if(question("是否返回主菜单?")) choose(menuchoose());
}
break;
case 5:printf("您的排序方式?\n1按学号排序,2按姓名排序,3按导师排序,4按专业排序\n您的选择是:");
fflush(stdin);//清空输入缓冲区
scanf("%d",&a);
while(a!=1&&a!=2&&a!=3&&a!=4)
{
printf("您的输入有误,请重新输入:");
scanf("%d",&a);
fflush(stdin);//清空输入缓冲区
}
if(a==1)
{
xhaorank();choose(2);
}
else if(a==2)
{
namerank();choose(2);
}
else if(a==3)
{
daosrank();choose(2);
}
else
zyrank();choose(2);
break;
case 6:printf("您的统计方式?\n1按专业统计人数,2按导师统计奖学金总金额,3按专业统计奖学金总金额\n您的选择是:");
scanf("%d",&a);
while(a!=1&&a!=2&&a!=3)//防止输入错误
{
printf("您的输入有误,请重新输入:");
scanf("%d",&a);
fflush(stdin);//清空输入缓冲区
}
if(a==1)
{
yecount();if(question("是否返回主菜单?")) choose(menuchoose());
}
else if(a==2)
{
dscount();if(question("是否返回主菜单?")) choose(menuchoose());
}
else
yemoney()
研究生信息管理系统(C语言课设)
最新推荐文章于 2022-09-13 21:50:33 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)