//////////////////////////简单的学生管理系统///////////////////
#include
#define max 5
using namespace std;
struct student//////////定义数组结构体
{
int xuehao; //学号
char name[10]; //姓名
char sex; //性别
int age; //年龄
}stu[max];
//////定义数型
char a; //全局函数a(操作数)
int i; //全局函数i(循环操作数)
//////////函数列表
void display(); //屏显函数
void init(); //数组结构体初始化函数
void xuanze(); //选择操作数函数
void sys(char a); //根据操作数执行函数
void addf(); //增加数据的函数
void delf(); //删除数据的函数
void inqf(); //查询数据的函数
//////////////////////屏显
void display()
{
cout<<" ==========Welcome to Student Manager System!=========="<
}
/////////////////////////////信息初始化
void init()
{
for(i=0;i
stu[i].name[10]='\0';
stu[i].sex='\0'; //初始化所有的sex为'\0'
stu[i].age=0;
}
}
////////////////////////操作选择
void xuanze()
{
cout<<"input your choose:"<
if(a=='A'||a=='D'||a=='I'||a=='Q')
sys(a); //选择相应的操作数执行函数
else
{
cout<<"Error chooseing!"<
}
}
/////////////////////相应操作数对应函数
void sys(char a)
{
switch(a)
{
case 'A':addf();
case 'D':delf();
case 'I':inqf();
case 'Q':exit(0); //退出
}
}
/////////////添加数据的函数
void addf()
{
int k=0,j,g;
for(i=0;i
if(stu[i].sex=='\0')k++;
}
cout<<"剩余 "<
{
cout<<"请输入你要添加的记录的个数,但是记录个数不能超过 "<
if(j>k)
{
cout<<"Error number!"<
}
else
{
for(i=0;i
for(int h=0;h
if(stu[h].sex=='\0') //判断sex是否为'\0' 如果是则执行写入操作
{
cout<<"input the NO"< cin>>stu[h].xuehao;
///判断数据非法与否
for(g=0;g
if((stu[g].xuehao==stu[h].xuehao)&&g!=h)
{
cout<<"Duplicate number!"<
}
}/////////判断学号是否相同
if(stu[h].xuehao<1||stu[h].xuehao>10000)
{
cout<<"Error number!"<
}
cout<<"input the NO"< cin>>stu[h].name;
cout<<"input the NO"< cin>>stu[h].sex;
///判断数据非法与否
if(stu[h].sex!='f'&&stu[h].sex!='m')
{
stu[h].sex='\0'; //恢复sex的初始值,以便下次写入产生遗漏
cout<<"Error sex!"<
}
cout<<"input the NO"< cin>>stu[h].age;
///判断数据非法与否
if(stu[h].age<1||stu[h].age>100)
{
stu[h].sex='\0'; //恢复sex的初始值,以便下次写入产生遗漏
cout<<"Error age!"<
}
break; //跳出本层循环
}
}
}
display(); //返回
}
}
else
{
cout<<"No space to add new student!"<
}
}
////////////////删除数据的函数
void delf()
{
int d,s=0;
cout<<"Please input the number of the student you want to delete:"<
if(d<1||d>10000)
{
cout<<"Error number!"<
}
else
{
for(i=0;i
if(stu[i].xuehao==d)
{
s++; //是否实行删除的标志位
stu[i].xuehao=-1;
stu[i].name[10]='\0';
stu[i].sex='\0';
stu[i].age=0;
cout<<"Delete successfully!"<
}
}
if(s==0)
{
cout<<"Not exist!"<
}
}
}
/////////////查询数据的函数
void inqf()
{
int d,s=0;
cout<<"Please input the number of the student you want to inquiry(0 for all):"<
cout<
{
for(i=0;i
if(stu[i].sex!='\0')
cout<
cout<
}
else
{
if(d<1||d>10000)
{
cout<<"Error number!"<
}
else
{
for(i=0;i
if(stu[i].xuehao==d)
{
s++; //是否存在该数字的标志
cout<
}
}
if(s==0)
{
cout<<"Not exist!"<
}
}
}
}//ingf
//////////////主函数
void main()
{
init(); //初始化
display(); //屏显(主界面)
}
用了我整整三个小时啊,如果你还有什么问题,或者调试的过程中发现了什么问题,又或者你想实现文件的读取存储功能的可以留下你的QQ,我会主动联系你的了.这两天我都有时间.....
确实很简单的一个程序.复杂度基本等于1.
直接拿你们的教程都可以拼凑出来这样一个模块。呵呵
可用数学归纳法
来管理啊
自己编程,太难了。用蓝点通用管理系统来做吧
目前我手里有一个图书管理系统的,不知道对你有没有用.或许可以借鉴一下.