有主菜单,和四个功能子菜单!功能强大!!!
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<windows.h>
#include<stdlib.h>
#include<conio.h>
#define SIZE 40/*符号常量:班级人数*/
//学生结构
struct student
{
int sno;
char sname[20];
char sex[10];
char Dept[100];
int age;
};
//学生自然信息结构
struct Node_s
{
student data;
Node_s *next;
};
//课程结构
struct course
{
int cno;
char cname[30];
int credit;
};
//学生课程信息结构
struct Node_c
{
course data;
Node_c *next;
};
//学生选课成绩结构
struct sc
{
int sno;
int cno;
float grade;
};
struct Node_sc
{
sc data;
Node_sc *next;
};
Node_s *create_s();//建立学生自然信息链表1
Node_c *create_c();//建链课程链表2
Node_sc *create_sc();//建立学生选课成绩链表3
void traversal(Node_s *phead_s);//遍历1
void traversal(Node_c *phead_c);//遍历2
void traversal(Node_sc *phead_sc);//遍历3
void fileOutput_new(Node_s *phead_s);//存盘 4
void fileOutput_new(Node_c *phead_c);//存盘 5
void fileOutput_new(Node_sc *phead_sc);//存盘 6
void fileOutput(Node_s *phead_s);//存盘 1
void fileOutput(Node_c *phead_c);//存盘 2
void fileOutput(Node_sc *phead_sc);//存盘 3
Node_s *fileInput_s();//读盘 1
Node_c *fileInput_c();//读盘 2
Node_sc *fileInput_sc();//读盘 3
void query(Node_s *phead);//4按学号查询学生自然信息
void query(Node_sc *phead);//5按学号和课程号查询学生成绩
void query_all(Node_sc *phead);//6按学号查询学生的成绩明细
void faildata(Node_s*phead_s,Node_sc*phead_sc);//不及格学生数据统计
void findage(Node_s *phead);//统计年龄
Node_s *deletion(Node_s* phead);//删除学生数据
Node_c *deletion(Node_c* phead);//删除课程数据
Node_sc *deletion(Node_sc* phead);//删除学生单科成绩数据
Node_sc *deletion_all(Node_sc* phead);//删除学生所有成绩
Node_s *alter(Node_s* phead);// 修改学生数据
Node_c *alter(Node_c* phead);//修改课程数据
Node_sc *alter(Node_sc* phead);//修改成绩数据
void findgrade(Node_sc *phead);
void querySexnumber(Node_s* phead);//查询男女学生人数
void querySurname(Node_s *phead);//查询姓氏学生人数
void queryDept(Node_s *phead);//查询专业学生人数
void queryAge(Node_s *phead);//查询年龄学生人数
int count(Node_s *phead);//学生人数统计
int main()
{ int a,b,c,d,e;
Node_s *phead_s = NULL;
Node_c *phead_c = NULL;
Node_sc *phead_sc = NULL;
for(;;)
{
system("cls");
//system("color 5F");
printf(" \n");
printf("****************************************************\n");
printf("* *\n");
printf("* 学生信息管理系统 *\n");
printf("* *\n");
printf("* *\n");
printf("* 主菜单 *\n");
printf("* *\n");
printf("* 1.录入数据功能菜单 *\n");
printf("* 2.数据查询功能菜单 *\n");
printf("* 3.数据修改功能菜单 *\n");
printf("* 4.数据删除功能菜单 *\n");
printf("* 0. 退出 *\n");
printf("* *\n");
printf("* *\n");
printf("* 制作人: 飞宇 *\n");
printf("****************************************************\n");
printf("----------------------\n选择数字(0-4):\n");
printf("选择学生信息管理功能:");
scanf("%d",&a);//程序选项
system("cls");
switch(a)
{
case 1 :
{
while(1)
{
system("cls");
printf("****************************************************\n");
printf("* *\n");
printf("* 录入数据功能菜单 *\n");
printf("* *\n");
printf("* *\n");
printf("* 1.输入学生自然数据 *\n");
printf("* 2.输入课程数据 *\n");
printf("* 3.输入学生选课成绩数据 *\n");
printf("* 0. 返回上一菜单 *\n");
printf("* *\n");
printf("* *\n");
printf("****************************************************\n");
printf("------------------------------\n选择数字(0-3):\n");
printf("选择软件功能菜单功能:");
scanf("%d",&b);//程序选项
system("cls");
if(b == 1)
{
printf("功能 1. 学生自然数据输入开始...\n");
phead_s = create_s();
fileOutput(phead_s);
system("pause");
}
if(b == 2)
{
printf("功能 2. 课程数据输入开始...\n");
phead_c = create_c();
fileOutput(phead_c);
system("pause");
}
if(b == 3)
{
printf("功能 3. 学生选课成绩数据输入开始...\n");
phead_sc = create_sc();
fileOutput(phead_sc);
system("pause");
}
if(b == 0)
{
break;
}
}
}
break;
case 2 :
{
while(1)
{
system("cls");
printf("****************************************************\n");
printf("* *\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("* 7.统计平均分不及格学生数据 *\n");
printf("* 8.查询不同年龄对应学生人数 *\n");
printf("* 9.输出成绩明细 平均成绩及名次 *\n");
printf("* 10.查询男女学生人数 *\n");
printf("* 11.按姓氏查询学生信息 *\n");
printf("* 12.查询专业学生人数 *\n");
printf("* 13.统计学生人数总和 *\n");
printf("* 0. 返回上一菜单 *\n");
printf("* *\n");
printf("* *\n");
printf("****************************************************\n");
printf("-----------------------------------\n选择数字(0-13):\n");
printf("选择数据查询功能:");
scanf("%d",&c);//程序选项
system("cls");
if(c == 1)
{
printf("功能 1. 查询所有学生数据开始...\n");
phead_s = fileInput_s();
traversal(phead_s);
system("pause");
}
if(c == 2)
{
printf("功能 2. 查询所有课程数据开始...\n");
phead_c = fileInput_c();
traversal(phead_c);
system("pause");
}
if(c == 3)
{
printf("功能 3. 查询所有学生选课及成绩数据开始...\n");
phead_sc = fileInput_sc();
traversal(phead_sc);
system("