C++学生信息管理系统实验报告-示例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
ﻩint i,n;
system("cls");
ﻩcout<<" 请输入学生信息条数"<<endl;
ﻩcin〉>n;
ﻩcout<〈” 请输入学生信息\n”<<endl;
cout<<"姓名 性别 学号 班级 联系电话”<〈endl;
ﻩfstream fs;
fs、open(”c:\\item、txt”,ios::out);
流程图如图7所示:
图7学号查询函数流程图
(7)姓名查询函数流程图:
由用户输入需要查询得成员得姓名,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“姓名为XX得学生不存在!”信息.
流程图如图8所示:
图8姓名查询函数流程图
(8)班级查询函数流程图:
由用户输入需要查询得成员得班级,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“班级为XX得学生不存在!”信息。
经过一个星期得不断上机实践练习我对c有了更进一步得认识与了解学好它重在实践要通过不断得上机操作不断得进行操作与试运行才能更好地掌握它通过这次实践我发现了自己得许多不足
课程设计报告
课程设计题目:学生信息管理系统
学生姓名:张鹏
专业: 软件工程(嵌入式)
班级:
指导教师:高永平
2017年6月9日
一、需求分析:2
流程图如图9所示:
图9班级查询函数流程图
(9)按班级统计函数流程图:
由用户输入需要查询得成员得班级,在现有得学生信息中查询就是否有此学生信息得存在,查到即对该班级人数进行统计,没查到则输出“班级为XX得学生不存在!”信息。
流程图如图10所示:
图10按班级统计函数流程图
四、测试结果。
(1)程序运行主菜单如图11所示:
ﻩcout<〈t[i];
ﻩtemp=i;}
}
if(temp==-1000)
cout<〈endl<<endl<〈”姓名为 "〈<na〈〈” 得学生不存在!"<〈endl;
getchar();
}
void sort(student t[],int n)
ﻩcout<<" 输入您得菜单选项编号(0—8):”<<endl;
ﻩcout<〈” Designed by Peng"<<endl;
for(;;)
ﻩ{
gets(s);
c=atoi(s);
ﻩif(c〉8)
ﻩcout<〈"输入错误,请重新输入!:”;
else
ﻩbreak;
}
ﻩreturn c;
}
int enter(student t[])
ﻩfor(i=0;i<n;i++)
{
ﻩcin>〉t[i];
ﻩfs〈<t[i];
}
fs、close();
ﻩgetchar();
return n;
}
void search_num(student t[],int n)
{
ﻩint i,nu,temp=—1000;
ﻩsystem("cls”);
ﻩcout〈<"请输入查找学生得学号:"<<endl;
流程图如图5所示:
图5信息修改函数流程图
(5)信息删除函数流程图:
由用户输入需要删除得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到删除该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息。
流程图如图6所示:
图6信息删除函数流程图
(6)学号查询函数流程图:
由用户输入需要查询得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息。
3、按学号对学生信息进行修改;
4、按学号对学生信息进行删除;
5、按学号对学生信息进行查询;
6、按姓名对学生信息进行查询;
7、按班级对学生信息进行查询;
8、结束当前程序;
等8大功能,系统主要定义了1个类与16个函数以实现各个功能:
(1)主函数main():调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理。
ﻩ{
ﻩﻩstrcpy(sex,se);
ﻩﻩstrcpy(name,na);
ﻩstrcpy(tel,t);
ﻩ}
friend istream & operator 〉>(istream & is,student & s)
{
ﻩis>>s、name>〉s、sex〉>s、num〉〉s、ban〉〉s、tel;
ﻩﻩreturn is;
(7)获取函数getname():方便在类外对类中得私有成员name得数据进行调用.
(8)获取函数getban():方便在类外对类中得私有成wk.baidu.comban得数据进行调用。
(9)录入函数 enter():从键盘输入学生个人信息,并保存到文件中。
(10)查找函数 search_num():按学号查找学生个人信息。
cin〉>nu;
for(i=0;i<n;i++)
ﻩ{
ﻩif(nu==t[i]、getnum())
ﻩ{
ﻩﻩcout<〈”该学生信息为:”〈<endl〈<"姓名 性别 学号 班级 联系电话”<<endl;
ﻩcout<<t[i];
ﻩﻩtemp=i;
ﻩ}
}
if(temp==-1000)
ﻩcout〈<endl〈<endl〈<"学号为 "<〈nu〈<” 得学生不存在!”<<endl;
ﻩ}
ﻩfriend ostream & operator <<(ostream & os,student & s)
{
ﻩos〈<s、name<<" "<<s、sex〈<" ”<<s、num<〈” "〈<s、ban<〈" "〈〈s、tel〈〈endl;
return os;
ﻩ}
int getnum()
{
ﻩreturn num;
for(i=0;i〈n;i++)
ﻩ{
ﻩﻩif(ba==t[i]、getban())
ﻩcout〈<t[i];
temp=i;
}
if(temp==—1000)
cout<<endl〈<endl<<"班级为 "〈<ba<〈" 得学生不存在!"〈〈endl;
ﻩgetchar();
}
void search_name(student t[],int n)
(11)查找函数 search_name():按姓名查找学生个人信息。
(12)查找函数 search_ban():按班级查找学生个人信息。
(13)修改函数 changr():按学号修改学生个人信息,保存得文件中。
(14)删除函数 del():按学号删除学生个人信息,保存到文件中。
(15)排序函数sort():按学号对学生个人信息进行排序。
{
int i,temp=—1000;
ﻩchar na[20];
ﻩsystem("cls”);
ﻩcout<<"请输入查找学生得姓名:”<<endl;
ﻩcin>>na;
ﻩfor(i=0;i〈n;i++)
{
ﻩif(strcmp(na,t[i]、getname())==0)
ﻩ{
ﻩﻩcout<〈”该学生信息为:"<〈endl〈<"姓名 性别 学号 班级 联系电话”〈<endl;
{
ﻩchar s[80];
int c;
cout〈<”************************** 主 菜 单 ***************************"<〈endl〈〈endl;
cout<<” | 0、退出当前程序 | \n"<〈endl;
ﻩcout<<” | 1、输入学生信息 | \n"<<endl;
图11
(2)从键盘上输入学生人数与学生信息如图12所示:
图12
(3)按学号修改如图13所示:
图13
(4)按学号删除如图14:
图14
(5)按学号查找如图15:
图15
(6)按姓名查找如图16:
图16
(7)按班级查找如图17:
图17
(8)按班级统计人数如图18:
图18
(9)按学号进行排序如图19:
如图19
(2)定义类class student:用于定义成员结构体数组.
(3)类中构造函数student():对类中各项私有成员进行传值。
(4)类中输入运算符重载函数operator>>():方便对类得对象输入。
(5)类中输出运算符重载函数operator <<():方便对类得对象输出。
(6)获取函数getnum():方便在类外对类中得私有成员num得数据进行调用.
ﻩcout<〈” | 2、根据学号查询 | \n”〈〈endl;
cout〈<" | 3、根据姓名查询 | \n”〈<endl;
ﻩcout<〈" | 4、根据班级查询 | \n"<<endl;
ﻩcout<<” | 5、根据学号排序 | \n”〈〈endl;
ﻩcout<<” | 6、按班级计人数 | \n"〈<endl;
3、能根据学生得学号进行排序;
4、能根据学生得学号对学生得信息进行修改;
5、能根据学生得学号对学生得信息进行删除;
6、能根据学生得学号、姓名与班级等对学生信息进行查询;
7、能根据班级对学生人数进统计。
二、总体设计:
根据以上分析,本系统主要包括:
1、从键盘录入学生个人信息,并保存到文件中;
2、按学号对学生信息进行排序
ﻩ}
ﻩint getban()
ﻩ{
ﻩﻩreturn ban;
}
char *getsex()
ﻩ{
ﻩchar *s=new char[strlen(sex)];
ﻩs=sex;
ﻩﻩreturn s;
}
ﻩchar *getname()
{
char *p=new char[strlen(name)];
ﻩp=name;
七、代码:
#include〈iostream>
#include〈fstream>
#include<cstring〉
#define M 5000
using namespace std;
class student
{
public:
ﻩstudent(){}
student(char na[10],char se[10],int n,int b,char t[12]):num(n),ban(b)
五、软件操作使用说明书。
本软件采用命令行对话方式进行操作,运行后出现主界面如上图所示,然后按菜单提示操作即可。
六、总结.
经过一个星期得不断上机实践练习,我对c++有了更进一步得认识与了解,学好它重在实践,要通过不断得上机操作不断得进行操作与试运行才能更好地掌握它,通过这次实践,我发现了自己得许多不足:我对各种循环得理解深度还不够,对字符成员调用还不就是很熟练,对指针得理解还就是不透彻,以及对解决问题得想法不够全面。这些不足,在这次实践中都有所提高,并且对这些不足我都会在后续得学习中努力补足。
图2主函数流程图
(2)键盘输入函数流程图:
从键盘输入学生个人信息,并保存到文件中。
流程图如图3所示:
图3键盘输入函数流程图
(3)排序函数流程图:
按学号对学生个人信息进行排序。
流程图如图4所示:
图4排序函数流程图
(4)信息修改函数流程图:
由用户输入需要修改得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息.
(16)统计函数count():按班级对学生人数进行统计.
程序功能结构图如图1所示:
图1程序功能结构图如图
三、详细设计.
本系统有一个主函数,8个功能模块,每个功能模块函数都就是由主函数调用,分别说明如下:
(1)主函数main():
调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理。
主函数流程图如图2所示:
四、测试结果。ﻩ12
五、软件操作使用说明书。ﻩ17
六、总结。17
七、代码:ﻩ17
一、需求分析:
根据对学生信息管理得需要,建立一个“学生信息管理系统",以方便对学生信息数据得录入、修改、删除与查询功能。、
要求完:
1、有菜单界面可以对功能进行选择;
2、能录入姓名、性别、学号、班级与电话号码等学生信息并保存到文件中;
ﻩgetchar();
}
void search_ban(student t[],int n)
{
ﻩint i,ba,temp=—1000;
system("cls”);
cout〈<"请输入查找学生得班级号:”〈<endl;
cin>>ba;
cout〈<"该学生信息为:”〈<endl〈<”姓名 性别 学号 班级 联系电话"〈<endl;
cout<<" | 7、根据学号删除 | \n"〈<endl;
ﻩcout<<” | 8、根据学号修改 | \n"〈<endl;
cout〈〈"-------————---——-——-—--—-——-——----—---———---—-——--—--—-----——----——----——----”<<endl;
ﻩreturn p;
ﻩ}
char *gettel()
{
char *t=new char[strlen(tel)];
ﻩt=tel;
ﻩﻩreturn t;
ﻩ}
private:
ﻩchar name[10];
ﻩchar sex[10];
ﻩint num,ban;
char tel[12];
};
int menu()
ﻩint i,n;
system("cls");
ﻩcout<<" 请输入学生信息条数"<<endl;
ﻩcin〉>n;
ﻩcout<〈” 请输入学生信息\n”<<endl;
cout<<"姓名 性别 学号 班级 联系电话”<〈endl;
ﻩfstream fs;
fs、open(”c:\\item、txt”,ios::out);
流程图如图7所示:
图7学号查询函数流程图
(7)姓名查询函数流程图:
由用户输入需要查询得成员得姓名,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“姓名为XX得学生不存在!”信息.
流程图如图8所示:
图8姓名查询函数流程图
(8)班级查询函数流程图:
由用户输入需要查询得成员得班级,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“班级为XX得学生不存在!”信息。
经过一个星期得不断上机实践练习我对c有了更进一步得认识与了解学好它重在实践要通过不断得上机操作不断得进行操作与试运行才能更好地掌握它通过这次实践我发现了自己得许多不足
课程设计报告
课程设计题目:学生信息管理系统
学生姓名:张鹏
专业: 软件工程(嵌入式)
班级:
指导教师:高永平
2017年6月9日
一、需求分析:2
流程图如图9所示:
图9班级查询函数流程图
(9)按班级统计函数流程图:
由用户输入需要查询得成员得班级,在现有得学生信息中查询就是否有此学生信息得存在,查到即对该班级人数进行统计,没查到则输出“班级为XX得学生不存在!”信息。
流程图如图10所示:
图10按班级统计函数流程图
四、测试结果。
(1)程序运行主菜单如图11所示:
ﻩcout<〈t[i];
ﻩtemp=i;}
}
if(temp==-1000)
cout<〈endl<<endl<〈”姓名为 "〈<na〈〈” 得学生不存在!"<〈endl;
getchar();
}
void sort(student t[],int n)
ﻩcout<<" 输入您得菜单选项编号(0—8):”<<endl;
ﻩcout<〈” Designed by Peng"<<endl;
for(;;)
ﻩ{
gets(s);
c=atoi(s);
ﻩif(c〉8)
ﻩcout<〈"输入错误,请重新输入!:”;
else
ﻩbreak;
}
ﻩreturn c;
}
int enter(student t[])
ﻩfor(i=0;i<n;i++)
{
ﻩcin>〉t[i];
ﻩfs〈<t[i];
}
fs、close();
ﻩgetchar();
return n;
}
void search_num(student t[],int n)
{
ﻩint i,nu,temp=—1000;
ﻩsystem("cls”);
ﻩcout〈<"请输入查找学生得学号:"<<endl;
流程图如图5所示:
图5信息修改函数流程图
(5)信息删除函数流程图:
由用户输入需要删除得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到删除该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息。
流程图如图6所示:
图6信息删除函数流程图
(6)学号查询函数流程图:
由用户输入需要查询得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息。
3、按学号对学生信息进行修改;
4、按学号对学生信息进行删除;
5、按学号对学生信息进行查询;
6、按姓名对学生信息进行查询;
7、按班级对学生信息进行查询;
8、结束当前程序;
等8大功能,系统主要定义了1个类与16个函数以实现各个功能:
(1)主函数main():调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理。
ﻩ{
ﻩﻩstrcpy(sex,se);
ﻩﻩstrcpy(name,na);
ﻩstrcpy(tel,t);
ﻩ}
friend istream & operator 〉>(istream & is,student & s)
{
ﻩis>>s、name>〉s、sex〉>s、num〉〉s、ban〉〉s、tel;
ﻩﻩreturn is;
(7)获取函数getname():方便在类外对类中得私有成员name得数据进行调用.
(8)获取函数getban():方便在类外对类中得私有成wk.baidu.comban得数据进行调用。
(9)录入函数 enter():从键盘输入学生个人信息,并保存到文件中。
(10)查找函数 search_num():按学号查找学生个人信息。
cin〉>nu;
for(i=0;i<n;i++)
ﻩ{
ﻩif(nu==t[i]、getnum())
ﻩ{
ﻩﻩcout<〈”该学生信息为:”〈<endl〈<"姓名 性别 学号 班级 联系电话”<<endl;
ﻩcout<<t[i];
ﻩﻩtemp=i;
ﻩ}
}
if(temp==-1000)
ﻩcout〈<endl〈<endl〈<"学号为 "<〈nu〈<” 得学生不存在!”<<endl;
ﻩ}
ﻩfriend ostream & operator <<(ostream & os,student & s)
{
ﻩos〈<s、name<<" "<<s、sex〈<" ”<<s、num<〈” "〈<s、ban<〈" "〈〈s、tel〈〈endl;
return os;
ﻩ}
int getnum()
{
ﻩreturn num;
for(i=0;i〈n;i++)
ﻩ{
ﻩﻩif(ba==t[i]、getban())
ﻩcout〈<t[i];
temp=i;
}
if(temp==—1000)
cout<<endl〈<endl<<"班级为 "〈<ba<〈" 得学生不存在!"〈〈endl;
ﻩgetchar();
}
void search_name(student t[],int n)
(11)查找函数 search_name():按姓名查找学生个人信息。
(12)查找函数 search_ban():按班级查找学生个人信息。
(13)修改函数 changr():按学号修改学生个人信息,保存得文件中。
(14)删除函数 del():按学号删除学生个人信息,保存到文件中。
(15)排序函数sort():按学号对学生个人信息进行排序。
{
int i,temp=—1000;
ﻩchar na[20];
ﻩsystem("cls”);
ﻩcout<<"请输入查找学生得姓名:”<<endl;
ﻩcin>>na;
ﻩfor(i=0;i〈n;i++)
{
ﻩif(strcmp(na,t[i]、getname())==0)
ﻩ{
ﻩﻩcout<〈”该学生信息为:"<〈endl〈<"姓名 性别 学号 班级 联系电话”〈<endl;
{
ﻩchar s[80];
int c;
cout〈<”************************** 主 菜 单 ***************************"<〈endl〈〈endl;
cout<<” | 0、退出当前程序 | \n"<〈endl;
ﻩcout<<” | 1、输入学生信息 | \n"<<endl;
图11
(2)从键盘上输入学生人数与学生信息如图12所示:
图12
(3)按学号修改如图13所示:
图13
(4)按学号删除如图14:
图14
(5)按学号查找如图15:
图15
(6)按姓名查找如图16:
图16
(7)按班级查找如图17:
图17
(8)按班级统计人数如图18:
图18
(9)按学号进行排序如图19:
如图19
(2)定义类class student:用于定义成员结构体数组.
(3)类中构造函数student():对类中各项私有成员进行传值。
(4)类中输入运算符重载函数operator>>():方便对类得对象输入。
(5)类中输出运算符重载函数operator <<():方便对类得对象输出。
(6)获取函数getnum():方便在类外对类中得私有成员num得数据进行调用.
ﻩcout<〈” | 2、根据学号查询 | \n”〈〈endl;
cout〈<" | 3、根据姓名查询 | \n”〈<endl;
ﻩcout<〈" | 4、根据班级查询 | \n"<<endl;
ﻩcout<<” | 5、根据学号排序 | \n”〈〈endl;
ﻩcout<<” | 6、按班级计人数 | \n"〈<endl;
3、能根据学生得学号进行排序;
4、能根据学生得学号对学生得信息进行修改;
5、能根据学生得学号对学生得信息进行删除;
6、能根据学生得学号、姓名与班级等对学生信息进行查询;
7、能根据班级对学生人数进统计。
二、总体设计:
根据以上分析,本系统主要包括:
1、从键盘录入学生个人信息,并保存到文件中;
2、按学号对学生信息进行排序
ﻩ}
ﻩint getban()
ﻩ{
ﻩﻩreturn ban;
}
char *getsex()
ﻩ{
ﻩchar *s=new char[strlen(sex)];
ﻩs=sex;
ﻩﻩreturn s;
}
ﻩchar *getname()
{
char *p=new char[strlen(name)];
ﻩp=name;
七、代码:
#include〈iostream>
#include〈fstream>
#include<cstring〉
#define M 5000
using namespace std;
class student
{
public:
ﻩstudent(){}
student(char na[10],char se[10],int n,int b,char t[12]):num(n),ban(b)
五、软件操作使用说明书。
本软件采用命令行对话方式进行操作,运行后出现主界面如上图所示,然后按菜单提示操作即可。
六、总结.
经过一个星期得不断上机实践练习,我对c++有了更进一步得认识与了解,学好它重在实践,要通过不断得上机操作不断得进行操作与试运行才能更好地掌握它,通过这次实践,我发现了自己得许多不足:我对各种循环得理解深度还不够,对字符成员调用还不就是很熟练,对指针得理解还就是不透彻,以及对解决问题得想法不够全面。这些不足,在这次实践中都有所提高,并且对这些不足我都会在后续得学习中努力补足。
图2主函数流程图
(2)键盘输入函数流程图:
从键盘输入学生个人信息,并保存到文件中。
流程图如图3所示:
图3键盘输入函数流程图
(3)排序函数流程图:
按学号对学生个人信息进行排序。
流程图如图4所示:
图4排序函数流程图
(4)信息修改函数流程图:
由用户输入需要修改得成员得学号,在现有得学生信息中查询就是否有此学生信息得存在,查到输出该学生得全部信息,没查到则输出“学号为XX得学生不存在!”信息.
(16)统计函数count():按班级对学生人数进行统计.
程序功能结构图如图1所示:
图1程序功能结构图如图
三、详细设计.
本系统有一个主函数,8个功能模块,每个功能模块函数都就是由主函数调用,分别说明如下:
(1)主函数main():
调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理。
主函数流程图如图2所示:
四、测试结果。ﻩ12
五、软件操作使用说明书。ﻩ17
六、总结。17
七、代码:ﻩ17
一、需求分析:
根据对学生信息管理得需要,建立一个“学生信息管理系统",以方便对学生信息数据得录入、修改、删除与查询功能。、
要求完:
1、有菜单界面可以对功能进行选择;
2、能录入姓名、性别、学号、班级与电话号码等学生信息并保存到文件中;
ﻩgetchar();
}
void search_ban(student t[],int n)
{
ﻩint i,ba,temp=—1000;
system("cls”);
cout〈<"请输入查找学生得班级号:”〈<endl;
cin>>ba;
cout〈<"该学生信息为:”〈<endl〈<”姓名 性别 学号 班级 联系电话"〈<endl;
cout<<" | 7、根据学号删除 | \n"〈<endl;
ﻩcout<<” | 8、根据学号修改 | \n"〈<endl;
cout〈〈"-------————---——-——-—--—-——-——----—---———---—-——--—--—-----——----——----——----”<<endl;
ﻩreturn p;
ﻩ}
char *gettel()
{
char *t=new char[strlen(tel)];
ﻩt=tel;
ﻩﻩreturn t;
ﻩ}
private:
ﻩchar name[10];
ﻩchar sex[10];
ﻩint num,ban;
char tel[12];
};
int menu()