首页 > 代码库 > 期末测试:程序设计(10’)
期末测试:程序设计(10’)
期末测试:用某种语言设计一个简易的班级通讯录管理显示各位同学的学号、姓名、练习电话和性别。 (分值10‘)
方法一:(使用vector)代码如下:
// Test.cpp : Defines the entry point for the console application.
#include "stdafx.h" //头文件stdafx.h引入了项目中需要的一些通用的头文件
#include "iostream" //包含cout、endl、cin等标识符,需在文档头声明
using namespace std; //使用空白的名字空间
#include "vector" //标准库Vector类型,Vector 是一个类模板,不是一种数据类型
/*Vector对象最重要的几种操作
1. v.push_back(t) 在数组的最后添加一个值为t的数据
2. v.size() 当前使用数据的大小
3. v.empty() 判断vector是否为空*/
struct Student
/*定义结构体Student,打包封装,把一些有共同特征(
比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,
通过一定方法访问修改内部变量。*/
{
char id[20];
char name[10];
char tel[15];
char sex[4];
};
class StuList
{
//默认为private
vector<Student> data; // vector<int> A; 创建一个空的的容器
public:
StuList() //构造函数
{
}
~StuList() //析构函数 ~vector()销毁容器对象并回收了所有分配的内存
{
}
void InsertStudent(Student x) //定义没有返回值的InsertStudent()方法,传入的参数类型为Student类型
{
data.push_back(x); //在容器的最后一个位置插入元素x,如果size值大于capacity值,则将重新分配空间
}
void ShowAll() //定义没有返回值ShowAll()方法
{
if(data.size() == 0) // vector::size() 返回容器中元素个数
cout<<"没有您所要查询的信息\n";
for(int ii = 0; ii < data.size(); ii ++)
{
cout<<"学号:"<<data[ii].id<<"\n"<<"姓名:"<<data[ii].name<<"\n"<<"电话:"<<data[ii].tel<<"\n"<<"性别:"<<data[ii].sex<<endl;
}
}
};
int _tmain(int argc, _TCHAR* argv[]) //_tmain主函数入口
{
printf("学生信息管理系统\n");
StuList GisStu2014; // 调用构造函数StuList(),声明GisStu2014对象,该对象可访问Student类型的属性
int x = 1 ;
while(x != 0)
{
printf("请输入以下选项:\n");
printf("1:信息浏览\n");
printf("2:插入信息\n");
printf("0:退出程序\n");
cin >> x ; //输入数字
switch(x) //使用switch语句做输出显示
{
case 1:
{
GisStu2014.ShowAll(); //信息浏览
}
break;
case 2:
{
Student newStudent; //声明一个Student对象:newStudent
cout<<"ID:"<<endl; //提示输入学号
cin>>newStudent.id; //输入学号
cout<<"Name:"<<endl; //提示输入姓名
cin>>newStudent.name; //输入姓名
cout<<"TEL:"<<endl; //提示输入电话
cin>>newStudent.tel; //输入电话
cout<<"SEX:"<<endl; //提示输入性别
cin>>newStudent.sex; // 输入性别
GisStu2014.InsertStudent(newStudent);
//调用GisStu2014对象的InsertStudent()方法,将newStudent对象的指插入GisStu2014
}
break;
case 0:
{
}
break;
default:
{
printf("您所输入值无效\n");
}
break;
}
}
return 0;
}
方法二,不使用vector,代码如下:
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
struct Student
{
char id[20];
char name[10];
char tel[15];
char sex[4];
};
class StuList
{
Student data[100];
int iCurrent;
public:
StuList()
{
iCurrent = 0;
}
~StuList()
{
}
void InsertStudent(Student x)
{
data[iCurrent] = x;
iCurrent ++;
}
void ShowAll()
{
if(iCurrent == 0) c
out<<"没有您所要查询的信息\n";
for(int ii = 0 ; ii < iCurrent; ii ++)
{
cout<<"学号:"<< data[ii].id<<"\n"<<"姓名:"<<data[ii].name<<"\n"<<"电话:"<<data[ii].tel<<"\n"<<"性别:"<<data[ii].sex<<endl;
}
}
};
int _tmain(int argc, _TCHAR* argv[])
{
printf("学生信息管理系统\n");
StuList GisStu2014;
int x = 1;
while(x != 0)
{
printf("请输入以下选项:\n");
printf("1:信息浏览\n");
printf("2:插入信息\n");
printf("0:退出程序\n");
cin >> x;
switch(x)
{
case 1:
{
GisStu2014.ShowAll();
}
break;
case 2:
{
Student newSudent;
cout<<"ID:"<<endl;
cin>>newSudent.id;
cout<<"Name:"<<endl;
cin>>newSudent.name;
cout<<"TEL:"<<endl;
cin>>newSudent.tel;
cout<<"SEX:"<<endl;
cin>>newSudent.sex;
GisStu2014.InsertStudent(newSudent);
}
break;
case 0:
{
}
break;
default:
{
printf("您所输入值无效\n");
}
break;
}
}
return 0;
}
期末测试:程序设计(10’)