学生通讯录
来源:互联网 发布:装修平面图设计软件 编辑:程序博客网 时间:2024/04/29 11:16
问题及代码:
运行结果:
/****************************************************** *版权所有(c)2015.烟台大学计算机与控制工程学院 * *文件名称:main.cpp *文件标示:无 *内容摘要:该代码用于满足后缀要求的第一个文件 *其他说明:无 *当前版本:V1.0 *作者:刘慧超 *完成日期:2015.7.17 * *修改记录: *修改日期: *版本号:V1.0 *修改人: *修改内容: *********************************************************/ #include <fstream>#include <iostream>#include <cstdlib>using namespace std;int N;class Netbook{private: int num; string name; int age; char sex; string birth; string add; string phone; string email;public: void input (); void increas (); void decreas(); void lookup ();};/********************************功能描述:学生信息输入输入参数:无输出参数:无返回值:无其他说明:无*********************************/void Netbook::input(){ Netbook *t; t=new Netbook[N]; int i=0; for(; i<N; i++) { cout<<"请输入第"<<i+1<<"名学生信息:"<<endl; cout<<" num:"; cin>>t[i].num; cout<<" name:"; cin>>t[i].name; cout<<" age:"; cin>>t[i].age; cout<<" sex:"; cin>>t[i].sex; cout<<" birth:"; cin>>t[i].birth; cout<<" add:"; cin>>t[i].add; cout<<" phone:"; cin>>t[i].phone; cout<<" email:"; cin>>t[i].email; } ofstream outfile("Netbook.txt",ios::out); for(i=0; i<N; i++) { outfile<<t[i].num<<" "<<t[i].name<<" "<<t[i].age<<" "<<t[i].sex<<" "; outfile<<t[i].birth<<" "<<t[i].add<<" "<<t[i].phone<<" "<<t[i].email<<endl; } outfile.close(); delete []t; cout<<"通讯录建立完毕!"<<endl;}/********************************功能描述:增加学生信息输入参数:无输出参数:无返回值:无其他说明:无*********************************/void Netbook::increas(){ Netbook *q; int i=0,t; cout<<"请输入要增加的学生通讯录人数:"; cin>>t; N+=t; q=new Netbook[t]; cout<<"请输入要增加的学生信息:"<<endl; for(; i<t; i++) { cout<<" num:"; cin>>q[i].num; cout<<" name:"; cin>>q[i].name; cout<<" age:"; cin>>q[i].age; cout<<" sex:"; cin>>q[i].sex; cout<<" birth:"; cin>>q[i].birth; cout<<" add:"; cin>>q[i].add; cout<<" phone:"; cin>>q[i].phone; cout<<" email:"; cin>>q[i].email; } ofstream outfile("Netbook.txt",ios::app); for(i=0; i<t; i++) { outfile<<q[i].num<<" "<<q[i].name<<" "<<q[i].age<<" "<<q[i].sex; outfile<<" "<<q[i].birth<<" "<<q[i].add<<" "<<q[i].phone<<" "<<q[i].email<<endl; } outfile.close(); delete []q; cout<<"录入完成,现通讯录总人数为:"<<N<<"人。"<<endl;}/********************************功能描述:学生信息删除输入参数:无输出参数:无返回值:无其他说明:无*********************************/void Netbook::decreas(){ cout<<"请输入要删除的学生的学号:"; int n,i=0,j=0; Netbook *q,*p; p=new Netbook[N]; ifstream infile("Netbook.txt",ios::in); for(; i<N; i++) { infile>>p[i].num>>p[i].name>>p[i].age>>p[i].sex; infile>>p[i].birth>>p[i].add>>p[i].phone>>p[i].email; } infile.close(); cin>>n; i=0; while(i<N) { if(p[i].num==n) { N--; q=new Netbook[N]; for(; j<i; j++) { q[j]=p[j]; } for(j=i; j<N; j++,i++) q[j]=p[i++]; cout<<"学生通讯信息删除完毕!剩余人数为:"<<N<<"人。"<<endl; ofstream outfile("Netbook.txt",ios::out); for(i=0; i<N; i++) { outfile<<q[i].num<<" "<<q[i].name<<" "<<q[i].age<<" "<<q[i].sex; outfile<<" "<<q[i].birth<<" "<<q[i].add<<" "<<q[i].phone<<" "<<q[i].email<<endl; } outfile.close(); delete []q; delete []p; break; } i++; } if(j==0) cout<<"通讯录中无该学生信息!"<<endl;}/********************************功能描述:学生信息查找输入参数:无输出参数:无返回值:无其他说明:无*********************************/void Netbook::lookup(){ cout<<"请输入要查询的学生的学号:"; Netbook *p; int n,i=0,j=0; cin>>n; p=new Netbook[N]; ifstream infile("Netbook.txt",ios::in); for(; i<N; i++) { infile>>p[i].num>>p[i].name>>p[i].age>>p[i].sex; infile>>p[i].birth>>p[i].add>>p[i].phone>>p[i].email; } infile.close(); while(j<N) { if(p[j].num==n) { i=0; cout<<"该学生的信息为:"<<endl; cout<<" num:"<<p[j].num<<endl; cout<<" name:"<<p[j].name<<endl; cout<<" age:"<<p[j].age<<endl; cout<<" sex:"<<p[j].sex<<endl; cout<<" birth:"<<p[j].birth<<endl; cout<<" add:"<<p[j].add<<endl; cout<<" phone:"<<p[j].phone<<endl; cout<<" email:"<<p[j].email<<endl; break; } j++; } delete []p; if(i!=0) cout<<"无该学生信息!"<<endl;}/********************************功能描述:菜单输出输入参数:无输出参数:无返回值:无其他说明:无*********************************/void output(){ cout<<" 1.增加学生通讯录。"<<endl; cout<<" 2.删除学生通讯录。"<<endl; cout<<" 3.查找学生通讯录。"<<endl; cout<<" 4.退出。"<<endl; cout<<"请输入您要进行的操作:";}/********************************功能描述:通讯录操作输入参数:无输出参数:无返回值:无其他说明:无*********************************/void menu(){ Netbook stu; int t; cout<<" 1.增加学生通讯录。"<<endl; cout<<" 2.删除学生通讯录。"<<endl; cout<<" 3.查找学生通讯录。"<<endl; cout<<" 4.退出。"<<endl; cout<<"请输入您要进行的操作:"; while(cin>>t&&t!=4) { if(t>4||t<1) { cout<<"请不要瞎按!;"<<endl; output(); } else { switch(t) { case 1: stu.increas(); output(); continue; case 2: stu.decreas(); output(); continue; case 3: stu.lookup(); output(); continue; } } }}int main(){ Netbook Stu; cout<<"现通讯录为空,先建立通讯录,请输入人数:"; cin>>N; Stu.input(); menu(); return 0;}
运行结果:
0 0
- 学生通讯录
- 学生通讯录管理系统
- 学生通讯录 课程设计
- 学生通讯录 课程设计
- STL实现学生通讯录
- 学生通讯录管理系统-ArrayList
- 学生管理系统(通讯录)
- C语言课程设计--学生通讯录1.0
- 用c++写的简易学生通讯录
- 用Python做的简单学生通讯录
- 一个简单C++学生通讯录系统
- C++程序设计——学生通讯录管理系统
- C 语言课程设计 最终答辩版 学生通讯录管理系统
- 2015.7.23 简陋的学生通讯录管理系统
- C++实现学生通讯录管理系统
- C语言 学生电子通讯录管理系统(修正版)
- 通讯录
- 通讯录
- Mongodb亿级数据量的性能测试
- iOS中的几种数据持久化方案
- 【SpringMVC框架】前端控制器源代码分析
- 链表做的一元多项式表示及相加
- android工程adt无法启动的问题
- 学生通讯录
- Map容器的使用总结
- Sublime Text 3插件安装方法
- iar项目目录说明
- 静态数据竞争检测工具之LOCKSMITH-安装和使用
- PCA的数学原理
- 如果生活可以说到做到,谁都是任何人
- Cannot refer to a non-final variable file inside an inner class defined in a different method
- 利用PEB结构体实现反调试