我承认我无聊了哈!!!只是写了个框。。没有判断输入条件。。。。小白大神勿喷。
#include <stdio.h>
#include <string.h>
struct student
{
char name[8] = { 0 };
int id=0;
char sex[3] = { 0 };
int age=0;
int Math;//数学
int Language;//语文
int English;//英语
int Physical;//物理
int Average;//平均分
int Total;//总成绩
}_student[20];
/*************************************************************************
*
函数
:
void input()
*
函数功能:
插入学生信息
*
*
不建议在函数内循环打印信息。简易在main函数内循环打印
*************************************************************************/
void input()
{
for (int i = 0;i < 3;i++)
{
printf("请输入学号: ");
scanf_s("%d", &_student[i].id);
printf("\n");
printf("请输入学生姓名:
");
scanf_s("%s", _student[i].name,7);
printf("\n");
printf("请输入性别: ");
scanf_s("%s", _student[i].sex,3);
printf("\n");
printf("请输入年龄:
");
scanf_s("%d", &_student[i].age);
printf("\n");
printf("请输入语文的成绩:
");
scanf_s("%d", &_student[i].Language);
printf("\n");
printf("请输入数学的成绩:
");
scanf_s("%d", &_student[i].Math);
printf("\n");
printf("请输入物理的成绩:
");
scanf_s("%d", &_student[i].Physical);
printf("\n");
printf("请输入英语的成绩:
");
scanf_s("%d", &_student[i].English);
printf("\n");
_student[i].Total = _student[i].English + _student[i].Language + _student[i].Math + _student[i].Physical;
printf("你的总成绩是: %d", _student[i].Total);
printf("\n");
_student[i].Average = _student[i].Total / 4;
printf("你的平均成绩是: %d\n", _student[i].Average);
}
}
/************************************************************************
*
函数
:
bool insert()
*
函数功能:
插入学生信息
************************************************************************/
bool insert()
{
printf("请输入要插入的学号: ");
int Id;
scanf_s("%d", &Id);
for (int i = 0;i < 20;i++)
{
if (_student[i].id ==0 && _student[i].age==0)
{
_student[i].id = Id;
printf("\n");
printf("请输入学生姓名:
");
scanf_s("%s", _student[i].name,7);
printf("\n");
printf("请输入性别: ");
scanf_s("%s", _student[i].sex,3);
printf("\n");
printf("请输入年龄:
");
scanf_s("%d", &_student[i].age);
printf("\n");
printf("请输入语文的成绩:
");
scanf_s("%d", &_student[i].Language);
printf("\n");
printf("请输入数学的成绩:
");
scanf_s("%d", &_student[i].Math);
printf("\n");
printf("请输入物理的成绩:
");
scanf_s("%d", &_student[i].Physical);
printf("\n");
printf("请输入英语的成绩:
");
scanf_s("%d", &_student[i].English);
printf("\n");
_student[i].Total = _student[i].English + _student[i].Language + _student[i].Math + _student[i].Physical;
printf("你的总成绩是: %d", _student[i].Total);
printf("\n");
_student[i].Average = _student[i].Total / 4;
printf("你的平均成绩是: %d\n", _student[i].Average);
return true;
}
}
return false;
}
/************************************************************************
*
函数
:
bool
sort()
*
函数功能:
通过学号或者总分排序
*************************************************************************/
bool sort()
{
printf("请输入排序方式:1.按学号排序
2.按总分排序
3.退出排序\n");
int _sort;
while (true)
{
printf("请输入排序方式: ");
scanf_s("%d", &_sort);
if (_sort == 1)
{
for (int i = 0;i < 3;i++)
{
for (int j = 1;j < 3;j++)
{
if (_student[j - 1].id > _student[j].id)
{
student
tem = _student[j - 1];
_student[j - 1] = _student[j];
_student[j] = tem;
}
}
}
for (int i = 0;i < 3;i++)
{
if (_student[i].age == 0 && _student[i].id == 0)
{
continue;
}
printf("\n\n");
printf("学号:%d
姓名:%s
年龄:%d
性别:%s \n ", _student[i].id, _student[i].name, _student[i].age, _student[i].sex);
printf("语文:%d
数学:%d
物理:%d
英语: %d \n", _student[i].Language, _student[i].Math, _student[i].Physical, _student[i].English);
printf("你的总成绩是: %d
你的平均成绩是:
%d\n", _student[i].Total, _student[i].Average);
printf("\n\n");
}
}
else if (_sort == 2)
{
for (int i = 0;i < 3;i++)
{
for (int j = 1;j < 3;j++)
{
if (_student[j - 1].Total < _student[j].Total)
{
student tem = _student[j - 1];
_student[j - 1] = _student[j];
_student[j] = tem;
}
}
}
for (int i = 0;i < 3;i++)
{
if (_student[i].age == 0 && _student[i].id == 0)
{
continue;
}
printf("\n\n");
printf("学号:%d
姓名:%s
年龄:%d
性别:%s
", _student[i].id, _student[i].name, _student[i].age, _student[i].sex);
printf("语文:%d
数学:%d
物理:%d
英语: %d \n", _student[i].Language, _student[i].Math, _student[i].Physical, _student[i].English);
printf("你的总成绩是: %d
你的平均成绩是:
%d\n", _student[i].Total, _student[i].Average);
printf("\n\n");
}
}
else if (_sort == 3)
{
return true;
}
}
//return false;
}
/**************************************************************************
*
函数
:
bool find()
*
函数功能:
通过姓名或者学号查找学生信息
***************************************************************************/
bool find()
{
printf("输入1按学号查找,输入2按姓名查找,输入3退出查找\n");
int n;
int ID;
char buff[8];
while (true)
{
printf("请输入查找方式: ");
scanf_s("%d", &n);
if (n == 1)
{
printf("请输入要查找的学号: ");
scanf_s("%d", &ID);
for (int i = 0;i < 3;i++)
{
if (ID == _student[i].id)
{
printf("\n\n");
printf("学号:%d
姓名:%s
年龄:%d
性别:%s\n", _student[i].id, _student[i].name, _student[i].age, _student[i].sex);
printf("语文:%d
数学:%d
物理:%d
英语: %d \n", _student[i].Language, _student[i].Math, _student[i].Physical, _student[i].English);
printf("你的总成绩是: %d
你的平均成绩是:
%d\n", _student[i].Total, _student[i].Average);
printf("\n\n");
break;
}
}
}
else if (n == 2)
{
printf("请输入要查找的姓名: ");
scanf_s("%s", buff,7);
for (int i = 0;i < 3;i++)
{
if (strcmp(_student[i].name,buff)==0)
{
printf("\n\n");
printf("学号:%d
姓名:%s
年龄:%d
性别:%s\n", _student[i].id, _student[i].name, _student[i].age, _student[i].sex);
printf("语文:%d
数学:%d
物理:%d
英语: %d \n", _student[i].Language, _student[i].Math, _student[i].Physical, _student[i].English);
printf("你的总成绩是: %d
你的平均成绩是:
%d\n", _student[i].Total, _student[i].Average);
printf("\n\n");
break;
}
}
}if (n == 3)
{
return true;
}
}
//return false;
}
/*******************************************************************
*
函数
:
bool del()
*
函数功能:
通过姓名或者学号删除学员
*********************************************************************/
bool del()
{
printf("输入1按学号删除,输入2按姓名删除,输入3退出\n");
int n;
int ID;
char buff[8];
while (true)
{
printf("请选择要删除的方式: ");
scanf_s("%d", &n);
if (n == 1)
{
printf("请输入要删除的学号: ");
scanf_s("%d", &ID);
for (int i = 0;i < 3;i++)
{
if (ID == _student[i].id)
{
memset(&_student[i], 0, sizeof(_student[i]));
break;
}
}
}
else if (n == 2)
{
printf("请输入要删除的姓名: ");
scanf_s("%s", buff,7);
for (int i = 0;i < 3;i++)
{
if (strcmp(_student[i].name, buff) == 0)
{
memset(&_student[i], 0, sizeof(_student[i]));
break;
}
}
}if (n == 3)
{
return true;
}
}
//return false;
}
/**************************************************************
*
函数
:
void output()
*
函数功能:
打印所有学生信息
***************************************************************/
void output()
{
printf("打印所有学生信息\n");
for (int i = 0;i < 3;i++)
{
if (_student[i].age == 0 && _student[i].id == 0)
{
continue;
}
printf("\n\n");
printf("学号:%d
姓名:%s
年龄:%d
性别:%s
", _student[i].id, _student[i].name, _student[i].age, _student[i].sex);
printf("语文:%d
数学:%d
物理:%d
英语: %d \n", _student[i].Language, _student[i].Math, _student[i].Physical, _student[i].English);
printf("你的总成绩是: %d
你的平均成绩是:
%d\n", _student[i].Total, _student[i].Average);
printf("\n\n");
}
}
int main(void)
{
input();
printf("\n\n");
find();
printf("\n\n");
del();
printf("\n\n");
output();
printf("\n\n");
insert();
printf("\n\n");
sort();
printf("\n\n");
output();
return 0;
}