学生籍贯信息记录簿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《学生籍贯信息记录簿》
程序设计基础课程设计报告
专业:电子信息工程
班级:2班
姓名:***
学号:**********
指导老师:***
二00八年7月3日
目录
1 程序设计的目的………………………………………………………………
2 课程设计题目描述和要求……………………………………………………
3 课程设计原程序………………………………………………………………
4 调试与测试……………………………………………………………………
5 流程图…………………………………………………………………………
6 课程设计总结…………………………………………………………………
7 参考书目………………………………………………………………………
1.课程设计的目的
编制一个学生籍贯信息记录簿,每个学生信息包括:学号,姓名,籍贯。
2 课程设计题目描述和要求
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;
(2)读取磁盘文件并显示输出所有学生的籍贯信息;
(3)按学号或姓名查询其籍贯;
(4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息;
(6)显示输出四川籍和非四川籍学生的信息并可分别存盘
3 课程设计原程序
#include
#include
using namespace std;
class Student //建立student类
{
public:
Student(){} //无参数的构造函数
Student(int n,string nam,string home) //构造函数初始化
{
num=n;
name=nam;
hometown=home;
}
void input() //录入信息的函数
{
cout<<"请输入学号"< cin>>num; cout<<"请输入姓名"< cin>>name; cout<<"请输入籍贯"< cin>>hometown; } void display() //输出函数 {cout<<"学号:"< string get_name(){return name;} //得到的学生姓名 string get_num(){return num;} //得到学号 string get_hometown(){return hometown;} //得到籍贯 void set_num(string n){num=n;} void set_name(string nam){name=nam;} void set_hometown(string h){hometown=h;} protected: //保护成员 string num; string name; string hometown; }; void add(Student stu[30],int &sum) //添加函数参数是学生数组,sum是录入的学生数 { stu[sum++].input(); //依次输入信息 } void delet(Student stu[30],int &sum) //删除函数 { cout<<"你要删除学生的姓名:"; string name; cin>>name; for(int i=0;i { if(i { for(int j=i;j stu[j]=stu[j+1]; } break; } if(i>=sum) //若超过学生总数则报错 cout<<"无此人!"< else sum--; } void change(Student stu[30],int &sum) //修改函数 { string chose,name,home,num; cout<<"\n1修改学号2修改姓名3修改籍贯"< cin>>chose; if(chose=="1") { int i; cout<<"请输入你要修改的学生的原学号:"; //修改学号 cin>>num; for(i=0;i { cout<<"新学号:"; cin>>num; stu[i].set_num(num); cout<<"修改后的数据:"< stu[i].display(); break; } if(i>=sum) cout<<"无此学生"< } else if(chose=="2") { int i; cout<<"请输入你要修改的学生的原姓名:"; //修改姓名 cin>>name; for(i=0;i if(stu[i].get_name()==name) //通过for循环找到要修改的姓名 { cout<<"新姓名:"; cin>>name; stu[i].set_name(name); //修改数据 cout<<"修改后的数据:"< stu[i].display(); break; } if(i>=sum)cout<<"无此学生"< } else if(chose=="3") { cout<<"请输入你要修改的学生的原籍贯:"; //修改籍贯 cin>>home; } } void find(Student stu[30],int &sum) { string name; cout<<"请输入你要查找的学生的姓名:"; //修改姓名 cin>>name; for(int j=0;j {if(stu[j].get_name()==name) {stu[j].display();break;} else cout<<"无此人!\n"; }