问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

设计一个简单的学生信息管理系统

发布网友 发布时间:2022-04-19 23:06

我来回答

5个回答

热心网友 时间:2022-04-09 15:11

//////////////////////////简单的学生管理系统///////////////////
#include<iostream>
#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!=========="<<endl;
cout<<endl;
cout<<" A: Add new student"<<endl;
cout<<" D: Delete a student"<<endl;
cout<<" I: Inquiry a student"<<endl;
cout<<" Q: Quit"<<endl;
cout<<endl;
xuanze();
}

/////////////////////////////信息初始化
void init()
{
for(i=0;i<max;i++)
{
stu[i].name[10]='\0';
stu[i].sex='\0'; //初始化所有的sex为'\0'
stu[i].age=0;
}
}

////////////////////////操作选择
void xuanze()
{
cout<<"input your choose:"<<endl;
cin>>a;
if(a=='A'||a=='D'||a=='I'||a=='Q')
sys(a); //选择相应的操作数执行函数
else
{
cout<<"Error chooseing!"<<endl;
cout<<endl;
display();
}
}

/////////////////////相应操作数对应函数
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<max;i++)
{
if(stu[i].sex=='\0')k++;
}
cout<<"剩余 "<<k<<" 个记录可以添加!"<<endl; //输出剩余的可添加记录数目
if(k!=0)
{
cout<<"请输入你要添加的记录的个数,但是记录个数不能超过 "<<k<<endl;
cin>>j;
if(j>k)
{
cout<<"Error number!"<<endl;
cout<<endl; //显示美观需要
display();
}
else
{
for(i=0;i<j;i++)
{
for(int h=0;h<max;h++)
{
if(stu[h].sex=='\0') //判断sex是否为'\0' 如果是则执行写入操作
{
cout<<"input the NO"<<i+1<<" 's xuehao:"<<endl;
cin>>stu[h].xuehao;
///判断数据非法与否
for(g=0;g<max;g++)
{
if((stu[g].xuehao==stu[h].xuehao)&&g!=h)
{
cout<<"Duplicate number!"<<endl;
cout<<endl;
display();
}
}/////////判断学号是否相同
if(stu[h].xuehao<1||stu[h].xuehao>10000)
{
cout<<"Error number!"<<endl;
cout<<endl;
display();
}
cout<<"input the NO"<<i+1<<" 's name:"<<endl;
cin>>stu[h].name;
cout<<"input the NO"<<i+1<<" 's sex:('f' for female,'m' for male)"<<endl;
cin>>stu[h].sex;
///判断数据非法与否
if(stu[h].sex!='f'&&stu[h].sex!='m')
{
stu[h].sex='\0'; //恢复sex的初始值,以便下次写入产生遗漏
cout<<"Error sex!"<<endl;
cout<<endl;
display();
}
cout<<"input the NO"<<i+1<<" 's age:(1-100)"<<endl;
cin>>stu[h].age;
///判断数据非法与否
if(stu[h].age<1||stu[h].age>100)
{
stu[h].sex='\0'; //恢复sex的初始值,以便下次写入产生遗漏
cout<<"Error age!"<<endl;
cout<<endl;
display();
}
break; //跳出本层循环
}
}
}
display(); //返回
}
}
else
{
cout<<"No space to add new student!"<<endl;
cout<<endl;
display();
}
}

////////////////删除数据的函数
void delf()
{
int d,s=0;
cout<<"Please input the number of the student you want to delete:"<<endl;
cin>>d;
if(d<1||d>10000)
{
cout<<"Error number!"<<endl;
cout<<endl;
display();
}
else
{
for(i=0;i<max;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!"<<endl;
cout<<endl;
display();
}
}
if(s==0)
{
cout<<"Not exist!"<<endl;
cout<<endl;
display();
}
}

}

/////////////查询数据的函数
void inqf()
{
int d,s=0;
cout<<"Please input the number of the student you want to inquiry(0 for all):"<<endl;
cin>>d;
cout<<endl;
if(d==0)
{
for(i=0;i<max;i++)
{
if(stu[i].sex!='\0')
cout<<stu[i].xuehao<<","<<stu[i].name<<","<<stu[i].sex<<","<<stu[i].age<<endl;
}
cout<<endl;
display();
}
else
{
if(d<1||d>10000)
{
cout<<"Error number!"<<endl;
cout<<endl;
display();
}
else
{
for(i=0;i<max;i++)
{
if(stu[i].xuehao==d)
{
s++; //是否存在该数字的标志
cout<<stu[i].xuehao<<","<<stu[i].name<<","<<stu[i].sex<<","<<stu[i].age<<endl;
display();
}
}
if(s==0)
{
cout<<"Not exist!"<<endl;
cout<<endl;
display();
}
}
}
}//ingf

//////////////主函数
void main()
{
init(); //初始化
display(); //屏显(主界面)
}

用了我整整三个小时啊,如果你还有什么问题,或者调试的过程中发现了什么问题,又或者你想实现文件的读取存储功能的可以留下你的QQ,我会主动联系你的了.这两天我都有时间.....

热心网友 时间:2022-04-09 16:29

确实很简单的一个程序.复杂度基本等于1.
直接拿你们的教程都可以拼凑出来这样一个模块。呵呵

热心网友 时间:2022-04-09 18:04

可用数学归纳法
来管理啊

热心网友 时间:2022-04-09 19:55

自己编程,太难了。用蓝点通用管理系统来做吧

热心网友 时间:2022-04-09 22:03

目前我手里有一个图书管理系统的,不知道对你有没有用.或许可以借鉴一下.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 C语言 学生信息管理系统设计 3.学生信息管理系统设计(用C语言编写) 如何c++设计一个学生信息管理系统?具体要求如下。 用c语言设计一个学生信息管理系统,急啊.谢谢 学生信息管理系统设计与实现 学生信息管理系统毕业论文设计怎么做? 题目:学生信息管理系统设计 学生信息管理系统设计 (来帮忙) 设计一个简易学生信息管理系统该怎么做 学生信息管理系统程序设计的需求分析的大概内容和格式 设计一个学生信息管理系统 学生管理信息系统总体设计怎么写? 学生信息管理系统设计 学美容有什么前途? 美容的真相是什么? 美容是做什么呢? 什么是美容? win10怎么修改输入法快捷键 win10怎么更改输入切换中英文 windows10怎么更改键盘语言切换 如何做学生信息管理系统战略规划 C语言课程设计学生信息管理系统 学生信息管理系统设计(C语言) 设计一个学生管理系统能够添加和查询学生信息 设计一个学生信息管理系统,要求实现以下的基本功能: 你认为新入职的教师需要提升哪些方面的能力? 新教师培训内容有哪些? 新教师上岗前应具备的知识技能有哪些? 教学上从哪些方面培训新上岗教师 新入职教师最急培训的内容以及如何组织开展培训 在教学中,新教师如何提高课堂教学能力?有什么捷... 新任职教师,如何打好基础和能力? 如何提高高校青年教师教学能力 作为新时期一名合格的教师,应该具备哪些基本能力 新教师培训的内容包括哪些 教师应具备哪些教育教学能力 新时期教师应具备哪些基本能力 如何培养新上岗的青年教师 作为刚入职的小学数学教师,怎样提升自己的讲课技能? 新教师如何提升自己的能力