记录一下我作为初学者的第一个过百的代码——成绩管理系统
ps.本人今年大一,学习c语言大概两个月左右,有不当之处勿喷,欢迎大佬评论指点
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
using namespace std;
struct luo {
int num;
string name;
float c, web, english, morality, mentality, math, computer, policy, total;
};
// c:C语言 web:web前端 english:英语 morality:思想道德 mentality:心理健康 math:数学 computer:计算机基础 policy:形势与政策 total:总分
struct luo l[49];
int g;
void chaxun();
void tongji();
void tianjia();
void shanchu();
void xiugai();
void dayin();
void paiming();
//主函数
int main()
{
char code[99], x;
int i = 0, j;
cout << "请输入密码:";
while ((x = _getch()) != 13)
{
if (x == 8)
{
if (i > 0)
{
cout << x << " " << x;
code[i--] = '\0';
}
}
else
{
if (i < 20)
{
cout << "*";
code[i] = x;
i++;
}
}
}
cout << endl;
if ((strcmp(code, "2005") == 0))
{
while (1)
{
system("cls");
int menu;
cout << "*************************************************欢迎使用学期管理系统**************************************************" << endl;
cout << endl;
cout << "1.添加\n" << "2.统计\n" << "3.查询\n" << "4.删除\n" << "5.修改\n" << "6.打印\n" << "7.排名\n" << "0.退出系统\n" << endl;
cout << "请输入你想使用的板块的编号:";
cin >> menu;
cout << endl;
switch (menu)
{
case 1:
{
cout << "请输入要添加的学生的个数:";
cin >> g;
tianjia();
}break;
case 2: tongji(); break;
case 3: chaxun(); break;
case 4:
{
shanchu();
g = g - 1;
}break;
case 5: xiugai(); break;
case 6: dayin(); break;
case 7: paiming(); break;
case 0: return 0;
default: cout << "请重新输入" << endl;
}
system("pause");
}
}
else
cout << "请重新输入" << endl;
return 0;
}
//录入并记录学生信息
void tianjia()
{
int i;
for (i = 0; i < g; i++)
{
system("cls");
cout << "学号:";
cin >> l[i].num;
cout << "姓名:";
cin >> l[i].name;
cout << "C语言:";
cin >> l[i].c;
cout << "web前端:";
cin >> l[i].web;
cout << "计算机基础:";
cin >> l[i].computer;
cout << "数学:";
cin >> l[i].math;
cout << "英语:";
cin >> l[i].english;
cout << "思想道德:";
cin >> l[i].morality;
cout << "心理健康:";
cin >> l[i].mentality;
cout << "形势与政策:";
cin >> l[i].policy;
l[i].total = l[i].c + l[i].web + l[i].computer + l[i].math + l[i].english + l[i].morality + l[i].mentality + l[i].policy;
cout << "总分:" << l[i].total << endl;
system("pause");
}
}
//统计及格人数
void tongji()
{
int i, j, k;
int a = 0;
int b = 0;
int c = 0;
cout << "----------优秀:----------\n";
for (i = 0; i < g; i++)
{
if (l[i].total > 640 && l[i].total <= 800)
{
cout << "学号:" << l[i].num << endl;
cout << "姓名:" << l[i].name << endl;
cout << "总分:" << l[i].total << endl;
cout << endl;
a++;
}
}
cout << "优秀的同学有:" << a << "名\n";
cout << endl;
cout << "----------合格:----------\n";
for (j = 0; j < g; j++)
{
if ( l[j].total >= 480 && l[j].total <= 640 )
{
cout << "学号:" << l[j].num << endl;
cout << "姓名:" << l[j].name << endl;
cout << "总分:" << l[j].total << endl;
cout << endl;
b++;
}
}
cout << "合格的同学有:" << b << "名\n";
cout << endl;
cout << "----------不合格:----------\n";
for (k = 0; k < g; k++)
{
if (l[k].total >= 0 && l[k].total < 480)
{
cout << "学号:" << l[k].num << endl;
cout << "姓名:" << l[k].name << endl;
cout << "总分:" << l[k].total << endl;
cout << endl;
c++;
}
}
cout << "不合格的同学有:" << c << "名\n";
cout << endl;
}
//查询学生信息
void chaxun()
{
int a, i;
cout << "请输入要查询的同学的学号:";
cin >> a;
for (i = 0; i < g; i++)
{
if (l[i].num == a)
{
cout << "学号:";
cout << l[i].num << endl;
cout << "姓名:";
cout << l[i].name << endl;
cout << "C语言:";
cout << l[i].c << endl;
cout << "web前端:";
cout << l[i].web << endl;
cout << "计算机基础:";
cout << l[i].computer << endl;
cout << "数学:";
cout << l[i].math << endl;
cout << "英语:";
cout << l[i].english << endl;
cout << "思想道德:";
cout << l[i].morality << endl;
cout << "心理健康:";
cout << l[i].mentality << endl;
cout << "形势与政策:";
cout << l[i].policy << endl;
cout << "总分:";
cout << l[i].total << endl;
}
else
{
cout << "查无此人\n";
break;
}
}
}
//删除学生信息
void shanchu()
{
int i, a, b, j;
cout << "请输入要删除的同学的学号:";
cin >> a;
for (i = 0; i < g; i++)
{
if (l[i].num == a)
{
b = i;
break;
}
else
{
cout << "查无此人\n";
return;
}
}
for (j = b; j < g; j++)
{
l[j] = l[j + 1];
}
cout << "已删除\n";
}
//修改学生信息
void xiugai()
{
int i, a, n, b, c;
cout << "请输入你想修改信息的学生的学号:";
cin >> n;
cout << endl;
for (i=0; i<g; i++)
{
if (l[i].num == n)
{
a = i;
cout << "学号:";
cout << l[i].num << endl;
cout << "姓名:";
cout << l[i].name << endl;
cout << "C语言:";
cout << l[i].c << endl;
cout << "web前端:";
cout << l[i].web << endl;
cout << "计算机基础:";
cout << l[i].computer << endl;
cout << "数学:";
cout << l[i].math << endl;
cout << "英语:";
cout << l[i].english << endl;
cout << "思想道德:";
cout << l[i].morality << endl;
cout << "心理健康:";
cout << l[i].mentality << endl;
cout << "形势与政策:";
cout << l[i].policy << endl;
cout << "总分:";
cout << l[i].total << endl;
cout << endl;
}
else
{
cout << "查无此人\n";
break;
}
cout << "1.学号:\n";
cout << "2.C语言:\n";
cout << "3.web前端:\n";
cout << "4.计算机基础:\n";
cout << "5.数学:\n";
cout << "6.英语:\n";
cout << "7.思想道德:\n";
cout << "8.心理健康:\n";
cout << "9.形势与政策:\n";
cout << endl;
cout << "请选择改动数据类型的编号:";
cin >> b;
cout << "改动为:";
cin >> c;
switch (b)
{
case 1:l[a].num = c; break;
case 2:l[a].c = c; break;
case 3:l[a].web = c; break;
case 4:l[a].computer = c; break;
case 5:l[a].math = c; break;
case 6:l[a].english = c; break;
case 7:l[a].morality = c; break;
case 8:l[a].mentality = c; break;
case 9:l[a].policy = c; break;
}
l[a].total = l[a].c + l[a].web + l[a].computer + l[a].math + l[a].english + l[a].morality + l[a].mentality + l[a].policy;
cout << "学号:";
cout << l[i].num << endl;
cout << "姓名:";
cout << l[i].name << endl;
cout << "C语言:";
cout << l[i].c << endl;
cout << "web前端:";
cout << l[i].web << endl;
cout << "计算机基础:";
cout << l[i].computer << endl;
cout << "数学:";
cout << l[i].math << endl;
cout << "英语:";
cout << l[i].english << endl;
cout << "思想道德:";
cout << l[i].morality << endl;
cout << "心理健康:";
cout << l[i].mentality << endl;
cout << "形势与政策:";
cout << l[i].policy << endl;
cout << "总分:";
cout << l[i].total << endl;
}
}
//按学号从低到高打印所有的学生的信息
void dayin()
{
int i, j, a;
struct luo t;
for (i = 1; i < g; i++)
{
for (j = 0; j < g - i; j++)
{
if (l[j].num > l[j + 1].num)
{
t = l[j];
l[j] = l[j + 1];
l[j + 1] = t;
}
}
}
for (i = 0; i < g; i++)
{
cout << "学号:";
cout << l[i].num << endl;
cout << "姓名:";
cout << l[i].name << endl;
cout << "C语言:";
cout << l[i].c << endl;
cout << "web前端:";
cout << l[i].web << endl;
cout << "计算机基础:";
cout << l[i].computer << endl;
cout << "数学:";
cout << l[i].math << endl;
cout << "英语:";
cout << l[i].english << endl;
cout << "思想道德:";
cout << l[i].morality << endl;
cout << "心理健康:";
cout << l[i].mentality << endl;
cout << "形势与政策:";
cout << l[i].policy << endl;
cout << "总分:";
cout << l[i].total << endl;
cout << endl;
}
cout << "一共" << g << "名同学" << endl;
}
// 按总成绩排名
void paiming()
{
int i, j, a = 1;
struct luo t;
for (i = 1; i < g; i++)
{
for (j = 0; j < g - i; j++)
{
if (l[j].total < l[j + 1].total)
{
t = l[j];
l[j] = l[j + 1];
l[j + 1] = t;
}
}
}
for (i = 0; i < g; i++)
{
cout << "第" << a++ << "名" << endl;
cout << "学号:";
cout << l[i].num << endl;
cout << "姓名:";
cout << l[i].name << endl;
cout << "总分:";
cout << l[i].total << endl;
cout << endl;
}
}