废话不多说
上图:
----------------------------------------------------------------------------------------------------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
struct students
{
int id;
int age;
char name[10];
char xin[10];
int yu,shu,yin,com,sum;
}stu[100];
int i=0,j=0; //i循环添加信息变量 j显示全部信息循环变量
int menu(void) //主界面
{
int a;
printf("\t*** ╭□════■□■□══╮ ***\n");
printf("\t* │ 学生信息管理系统 │ *\n");
printf("\t* ╰═■□■□══════■╯ *\n");
printf("\t* ┌───────────┐ *\n");
printf("\t* │1.添加信息 2.修改信息│ *\n");
printf("\t* │ │ *\n");
printf("\t* │3.查询信息 4.删除信息│ *\n");
printf("\t* │ │ *\n");
printf("\t* │5.数据排序 6.保存读取│ *\n");
printf("\t* │ │ *\n");
printf("\t* │7.退出系统 │ *\n");
printf("\t* └───────────┘ *\n");
printf("\t************************************\n");
printf("\t请输入你的选择(1~7):");
scanf("%d", &a);
while (a<1 || a>7)
{
printf("\t输入范围为1~7:");
scanf("%d", &a);
}
if (a == 1)
ID();
if (a == 2)
xiugai();
if (a == 3)
chaxun();
if (a == 4)
shanchu();
if (a == 5)
paixu();
if (a == 6)
menufile();
if (a == 7)
printf("\n\t\t\t\t退出系统中...");
Sleep(3000);
exit(0);
return 0;
}
//**********************
//**********************
//**********************
int ID(void) //添加信息
{
int a,k,j,x,one;
do
{
printf("\n----------------------------------------------------\n");
printf("\t ———添加信息———\n\n");
fflush(stdin);
printf("学号:");
scanf("%d", &x);
while ( x<1 || x>100)
{
printf("输入范围为1~100:");
scanf("%d", &x);
}
one=0;
for(j=0;j<i;j++)
{
if(x==stu[j].id)
{
one=1;
printf("\n记录中已有此人!不得重复添加...");
getch();
system("cls");
menu();
}
}
if(one==0)
{
stu[i].id=x;
}
printf("姓名:");
getchar();
gets(stu[i].name);
printf("性别:");
gets(stu[i].xin);
while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
{
printf("性别只限男女:");
gets(stu[i].xin);
}
printf("年龄:");
scanf("%d", &stu[i].age);
while (stu[i].age <= 0 || stu[i].age>100)
{
printf("年龄只限1~100:");
scanf("%d", &stu[i].age);
}
printf("语文:");
scanf("%d", &stu[i].yu);
while (stu[i].yu<0 || stu[i].yu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yu);
}
printf("数学:");
scanf("%d", &stu[i].shu);
while (stu[i].shu<0 || stu[i].shu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].shu);
}
printf("英语:");
scanf("%d", &stu[i].yin);
while (stu[i].yin<0 || stu[i].yin>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yin);
}
printf("专业:");
scanf("%d", &stu[i].com);
while (stu[i].com<0 || stu[i].com>100)
{
printf("输入只限1~100:");
scanf("%d", &stu[i].com);
}
stu[i].sum=0;
stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
i++;
printf("\n添加完毕! 目前共有%d名学生!\n按1回到主界面!按2继续添加信息!按其他键退出程序! ",i);
scanf("%d", &a);
}while(a==2);
if (a == 1)
{
system("cls");
menu();
}
if (a != 1)
{
printf("\n退出系统中...");
Sleep(3000);
exit(0);
}
return 0;
}
//*********************
//*********************
//*********************
int xiugai(void) //修改信息
{
int a;
printf("\n----------------------------------------------------\n");
printf("\t ───修改信息───\n\n");
printf("\t ┌──────┐\n");
printf("\t │1.按学号修改│\n");
printf("\t │ │\n");
printf("\t │2.按姓名修改│\n");
printf("\t │ │\n");
printf("\t │3.返回 │\n");
printf("\t └──────┘\n");
printf("\t 请选择修改方式:");
scanf("%d", &a);
while (a<1 || a>3)
{
printf("输入错误~请重新输入:");
scanf("%d", &a);
}
if (a == 1)
{
idxiugai(); //按学号方式修改
}
if (a == 2)
{
namexiugai(); //按姓名方式修改
}
if (a == 3)
{
system("cls");
menu();
}
return 0;
}
//**************************
//**************************
//**************************
int chaxun(void) //查询信息
{
int a;
printf("----------------------------------------------------\n");
printf("\t ───查询信息───\n");
printf("\t ┌─────────────┐ \n");
printf("\t │1.按学号查询 2.按姓名查询│ \n");
printf("\t │ │ \n");
printf("\t │3.全部显示 4.返回 │ \n");
printf("\t └─────────────┘ \n");
printf("\t 请输入你的选择:");
scanf("%d", &a);
while(a<1||a>3)
{
printf("\t 请输入你的选择:");
scanf("%d",&a);
}
if (a == 1)
{
idchaxun(); //按学号方式查询
}
if (a == 2)
{
namechaxun(); //按姓名方式查询
}
if (a == 3)
{
quanbuxianshi(); //全部显示
}
if (a == 4)
{
system("cls");
menu();
}
}
//******************************
//******************************
//******************************
int idchaxun(void) //按学号查询
{
int i,j,a;
printf("\t 请输入需要查询的学号:");
scanf("%d",&a);
j=0;
for(i=0;i<100;i++)
{
if(stu[i].id==a)
{
j=1; //节点
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
break;
}
}
if(j==0) //节点没变说明没有查询到结果
{
printf("\t 对不起,记录中没有此人!\n");
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a==1)
{
system("cls");
menu();
}
if(a!=1)
{
printf("\n\t\t\t\t退出系统中...");
Sleep(3000);
exit(0);
}
return 0;
}
//******************************
//******************************
//******************************
int namechaxun(void) //按姓名查询
{
char num[10];
int i,j,a;
printf("\t 请输入需要查询的姓名:");
scanf("%s",num);
j=0;
for(i=0;i<10;i++)
{
if(strcmp(num,stu[i].name)==0)
{
j=1;
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
break;
}
}
if(j==0)
{
printf("\t 对不起,记录中没有此人!");
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a!=1)
{
printf("\n\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
if(a==1)
{
system("cls");
menu();
}
return 0;
}
//******************************
//******************************
//******************************
int quanbuxianshi(void) //全部显示
{
int a;
printf("\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
for(j=0;j<i;j++)
{
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[j].id, stu[j].name, stu[j].xin, stu[j].age,
stu[j].yu, stu[j].shu, stu[j].yin, stu[j].com, stu[j].sum);
}
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
scanf("%d", &a);
if (a == 1)
{
system("cls");
menu();
}
if (a != 1)
{
printf("\n\t\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
return 0;
}
//**************************
//**************************
//**************************
int idxiugai(void) //按学号修改
{
int i,a,j;
printf("\t 请输入需要修改的学号信息:");
scanf("%d",&a);
while(a>100&&a<1)
{
printf("\t 输入范围为1~100:");
scanf("%d",&a);
}
j=0;
for(i=0;i<100;i++)
{
if(a==stu[i].id)
{
j=1;
printf("请输入修改后新的信息:\n");
printf("学号:");
scanf("%d", &stu[i].id);
while (stu[i].id<1 || stu[i].id>100)
{
printf("输入范围为1~100:");
scanf("%d", &stu[i].id);
}
printf("姓名:");
getchar();
gets(stu[i].name);
printf("性别:");
gets(stu[i].xin);
while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
{
printf("性别只限男女:");
gets(stu[i].xin);
}
printf("年龄:");
scanf("%d", &stu[i].age);
while (stu[i].age <= 0 || stu[i].age>100)
{
printf("年龄只限1~100:");
scanf("%d", &stu[i].age);
}
printf("语文:");
scanf("%d", &stu[i].yu);
while (stu[i].yu<0 || stu[i].yu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yu);
}
printf("数学:");
scanf("%d", &stu[i].shu);
while (stu[i].shu<0 || stu[i].shu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].shu);
}
printf("英语:");
scanf("%d", &stu[i].yin);
while (stu[i].yin<0 || stu[i].yin>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yin);
}
printf("专业:");
scanf("%d", &stu[i].com);
while (stu[i].com<0 || stu[i].com>100)
{
printf("输入只限1~100:");
scanf("%d", &stu[i].com);
}
stu[i].sum=0;
stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
printf("\n修改完毕!\n\n按1返回主界面,按其他键退出程序! ");
}
}
if(j==0)
{
printf("\t 对不起,记录中没有此人!");
printf("\n\n按1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a==1)
{
system("cls");
menu();
}
if(a!=1)
{
printf("\n\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
return 0;
}
//**************************
//**************************
//**************************
int namexiugai(void) //按姓名修改
{
int a,i,j;
char num[10];
printf("\t 请输入需要修改的名称信息:");
scanf("%s",num);
j=0;
for(i=0;i<100;i++)
{
if(strcmp(num,stu[i].name)==0)
{
j=1;
printf("请输入修改后新的信息:\n");
printf("学号:");
scanf("%d", &stu[i].id);
。。。。。。。。
。。。。。。。。
。。。。。。。。
需要全部代码请扫描下方二维码,关注公众号:“绿粥不coding”,后台回复“c语言学生管理系统”即可获得。
更多干货
【干货分享】自学编程的小伙伴可以前往我的 Github 仓库(持续更新中...):
📕【Java学习指南】从java基础、计算机基础到后端常用框架的教程,涵盖后端大部分必备知识(学习指南 + 技术文章 + 资源分享)
Github仓库地址(来个Star吧~):https://github.com/MujieJava/JavaStudy