C语言——学生信息管理系统(链表&菜单&最强版)

 有主菜单,和四个功能子菜单!功能强大!!!

#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("
  • 53
    点赞
  • 200
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值