学生证信息管理系统
C++实现
-
录入学生的学生信息
-
给定学号显示学生的信息和给定班级显示全班
-
给定某位学生的学号,修改该学生的学生证信息
-
给定某位学生的学号,删除该学生的学生证信息
-
统计每班的某个号次
-
代码
#include<iostream>
#include<cstdio>
#include <stdlib.h>
#include<cstring>
#include<conio.h>
# define N 70
using namespace std;
void welcome(); //定义欢迎界面函数;
void entrance(); //定义进入界面;
void add(); //定义录入学生信息的函数;
void find(); //定义按学号查询信息函数和按班级查询信息函数;
void modify(); //定义修改函数;
void del(); //定义删除函数;
void statistics(); //定义一个统计函数;statistics 统计;
int tex=10;
struct student
{
char sno[9]; //学号
char name[20]; //姓名
char classes[5]; //班级
}stu[N]={
{"18180001","卫庄","0001"},
{"18180002","盖聂 ","0002"},
{"18180004","大司命 ","0001"},
{"18180006","少司命","0002"},
{"18180007","张良","0003"},
{"18180008","红莲 ","0003"},
{"18180011","紫女","0004"},
{"18180022","雪女","0001"},
{"18180021","项羽 ","0005"},
{"18180032","虞姬 ","0005"}};
int main()
{
welcome(); //进入欢迎界面;
}
/***************判断密码************/
/***************欢迎************************/
void welcome()
{
system("cls");
cout<<"\n";
cout<<"\t\t\t 欢迎进入学生成绩管理系统\n";
cout<<"\t\t******************************************\n";
cout<<"\t\t\t请选择业务:\n";
cout<<"\n";
cout<<"\t\t\t1.录入学生的学生信息\n";
cout<<"\t\t\t2.给定学号显示学生的信息和给定班级显示全班\n";
cout<<"\t\t\t3.给定某位学生的学号,修改该学生的学生证信息\n";
cout<<"\t\t\t4.给定某位学生的学号,删除该学生的学生证信息\n";
cout<<"\t\t\t5.统计每班的某个号次\n";
cout<<"\t\t\t6.退出\n";
cout<<"\t\t\t请选择:";
entrance();
}
/***************进入**************************/
void entrance()
{
int a;
scanf("%d",&a);
system("cls");
switch(a)
{
case 1: //录入信息
cout<<"\n\n\n";
cout<<"\t\t\t欢进入记录显示界面\n";
add();
break;
case 2: //给定学号,显示某学生信息和给定班号,显示全班学生
cout<<"\n\n\n";
cout<<"\t\t\t欢迎进入查询界面\n";
find();
break;
case 3: //进入修改界面
cout<<"\n\n\n";
cout<<"\t\t\t欢迎进入修改记录界面\n";
modify();
break;
case 4: //进入删除界面
cout<<"\n\n\n";
cout<<"\t\t\t欢迎进入删除记录界面\n";
del();
case 5: //退出
statistics();
break;
default:
cout<<"输入错误!\n";
welcome();
break;
}
}
/*************添加学生信息********************/
void add()
{
int figure;//定义要输入信息的学生的个数
int j;
char h,m;
//fflush(stdin);
system("cls");
cout<<"你要输入多少个学生的信息? ";
scanf("%d",&figure);
cout<<"您确定要输入%d个学生的信息么?\n",figure;
fflush(stdin);
cout<<"<按Y开始N返回>";
scanf("%c",&h);
if(h=='Y'||h=='y')
{
for(j=0;j<figure;j++)
{
cout<<"请输入第%d个学生的信息:\n",j+1;
cout<<"学号:";
scanf("%s",&stu[tex].sno);
cout<<"姓名:";
scanf("%s",&stu[tex].name);
cout<<"班级:";
scanf("%s",&stu[tex].classes);
tex++;
}
}
else
{
add();
}
cout<<"添加成功!\n";
cout<<"是否现在查看所有记录?y/n";
fflush(stdin);
scanf("%c",&m);
if(m=='y'||m=='Y')
{
system("cls");
find();
}
else
{
system("cls");
welcome();
}
}
/****************给定学号,显示某位学生学生证信息********************/
/****************给定班级,显示全班学生信息********************/
void find()
{
int a,i;
char sno[9];
char classes[5];
char t=' ';
system("cls");
cout<<"\t\t您可以:\n";
cout<<"\t\t1.按学号查询!\n";
cout<<"\t\t2.按班号查询!\n";
scanf("%d",&a);
switch(a)
{
case 1:
cout<<"请输入学号:";
scanf("%s",sno);
cout<<"\t\t 学号 \t姓名 \t班级 \n";
for(i=0;i<tex;i++)
{
if(strcmp(sno,stu[i].sno)==0)
{
cout<<"\t\t %s\t%s\t%s\t%",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
break;
}
}
if(i==tex)
{
cout<<"没有找到!\n";
}
cout<<"按Y返回!\n";
while(t!='Y'&&t!='y')
{
fflush(stdin);
scanf("%c",&t);
}
welcome();
break;
case 2:
cout<<"请输入班级:";
scanf("%s",classes);
cout<<"\t\t 学号 \t姓名 \t班级 \n";
for(i=0;i<tex;i++)
{
if(strcmp(classes,stu[i].classes)==0)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
}
}
cout<<"按Y返回!\n";
while(t!='Y'&&t!='y')
{
fflush(stdin);
scanf("%c",&t);
}
welcome();
break;
default:
find();
break;
}
}
/****************修改信息****************/
void modify()
{
int i;
char numb[9];
char h;
system("cls");
cout<<"\t\t 学号 \t姓名 \t班级 \n";
for(i=0;i<tex;i++)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
}
printf("请输入您要修改的学生的学号:");
scanf("%s",numb);
for(i=0;i<tex;i++)
{
if(strcmp(numb,stu[i].sno)==0)
{
cout<<"\t\t 学号 \t姓名 \t班级 \n";
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
}
break;
}
cout<<"\n";
cout<<"请输入该学生的信息:\n";
cout<<"学号:";
scanf("%s",&stu[i].sno);
cout<<"姓名:";
scanf("%s",&stu[i].name);
cout<<"班级:";
scanf("%s",&stu[i].classes);
cout<<"修改成功!\n";
cout<<"\t\t 学号 \t姓名 \t班级 \n";
for(i=0;i<tex;i++)
{
if(strcmp(stu[i].sno,"")!=0)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
}
}
cout<<"按Y返回!\n";
fflush(stdin);
scanf("%c",&h);
while(h=='y'||h=='Y')
{
welcome();
}
}
/****************删除记录****************/
void del()
{
int i,j;
int k=0;
char numb[9];
char h,ft;
system("cls");
for(i=0;i<tex;i++)
{
if(strcmp(stu[i].sno,"")!=0)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
}
}
cout<<"请输入要删除的学号:";
fflush(stdin);
scanf("%s",numb);
cout<<"\t\t 学号 \t姓名 \t班级 \n";
for(i=0;i<tex;i++)
{
if(strcmp(numb,stu[i].sno)==0)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
break;
}
}
cout<<"是否确定删除:y/n?";
fflush(stdin);
scanf("%c",&h);
j=tex;
if(h=='y'||h=='Y')
{
for(;i<tex-1;i++)
{
strcpy(stu[i].sno,stu[i+1].sno);
strcpy(stu[i].name,stu[i+1].name);
strcpy(stu[i].classes,stu[i+1].classes);
strcpy(stu[tex].sno,"");
strcpy(stu[tex].name,"");
strcpy(stu[tex].classes,"");
}
tex--;
cout<<"删除成功!\n";
for(i=0;i<tex;i++)
{
if(strcmp(stu[i].sno,"")!=0)
{
cout<<"\t\t %s\t%s\t%s\t",stu[i].sno,stu[i].name,stu[i].classes;
cout<<"\n";
}
}
cout<<"按Y继续,按N返回: ";
fflush(stdin);
scanf("%c",&ft);
if(ft=='Y'||ft=='y')
{
del();
}
else
{
welcome();
}
}
else
{
del();
}
}
/****************统计每班的某个号次****************/
void statistics()
{
int i,j;
char h;
int x=(0,1,2,3,4,5,6,7,8,9);
cout<<"您可以选择:\n";
cout<<"1.统计每班的一号:\n";
cout<<"2.统计每班的二号:\n";
scanf("%d",&j);
switch(j)
{
case 1:
cout<<"每班的一号学生有:";
for(i=0;i<tex;i++)
{
//xxxx******//
if(stu[i].sno[7] == '1')
{
cout<<"\t%s",stu[i].name;
}
}
cout<<"\n按Y继续按N返回:";
fflush(stdin);
scanf("%c",&h);
if(h=='N'||h=='n')
{
welcome();
}
else
{
statistics();
}
break;
case 2:
cout<<"每班的二号学生有:";
for(i=0;i<tex;i++)
{
if(stu[i].sno[7] == '2')
{
cout<<"\t%s",stu[i].name;
}
}
cout<<"\n按Y继续按N返回:";
fflush(stdin);
scanf("%c",&h);
if(h=='N'||h=='n')
{
welcome();
}
else
{
statistics();
}
break;
default:
statistics();
break;
}
}