[c++]代码库
#include<conio.h>
#include<Windows.h>
#include<fstream>
#include<iomanip>
#include<iostream>
using namespace std;
vector<car> iver;
void System::ini_interface(){
for (int i = 0; i < 10;i++){
cout << " ************************************* " << endl; cout << endl;
cout << " 欢 迎 光 临 " << endl; cout << endl;
cout << " 大 众 4 S 店 天 津 分 店 " << endl;
cout << " " << endl;
cout << " 请 按 任 意 键 进 入 店 铺 !!!!! " << endl; cout << endl;
cout << " 您 将 在" << 10 - i << "秒 后 自 动 进 入 店 铺 " << endl; cout << endl;
cout << " ************************************* " << endl;
Sleep(1000);
char keydown = 0;
if (_kbhit()){
_getch(); keydown = 1;
}
if (keydown){ i = 50; }
system("cls");
}
}
void System::list(){
system("cls");
char temp;
if (power == '1'){
cout << " 当前权限为:管理员权限 可使用所有功能。" << endl;
}
else
{
cout << " 当前权限为:普通权限 只能使用功能1,3,5,9." << endl;
}
cout << endl; cout << endl;
cout << " #************************************************************#" << endl;
cout << " #* *#" << endl;
cout << " #* 1:更改权限 2:信息录入 3:信息浏览 *#" << endl;
cout << " #* *#" << endl;
cout << " #* 4:信息修改 5:信息查询 6:信息删除 *#" << endl;
cout << " #* *#" << endl;
cout << " #* 7:保存信息 8:读取信息 9:退出程序 *#" << endl;
cout << " #* *#" << endl;
cout << " #************************************************************#" << endl;
temp = _getch();
switch (temp)
{
case'1':get_power(); break;
case'2':input_information(); break;
case'3':look_information(); break;
case'4':alter(); break;
case'5':refer(); break;
case'6':remove(); break;
case'7':output_file(); break;
case'8':input_file(); break;
case'9':drop_out(); break;
default:cout << "请输入正确的序号!!" << endl; break;
}
}
void System::get_power(){
char temp;
system("cls");
while (1){
cout << "请选择您的权限:" << endl;
cout << "1:管理员权限。" << endl;
cout << "2:普通权限。" << endl;
cout << "请输入序号:" << " ";
temp = _getch();
switch (temp){
case'1':return get_password(); break;
case'2':return list(); break;
default:{
system("cls");
cout << "请选择正确的序号!" << endl;
Sleep(500);
system("cls");
}
}
}
}
void System::get_password(){
system("cls");
string temp;
char number;
cout << "请输入管理员密码:" << endl;
cin >> temp;
if (temp != password){
system("cls");
cout << "密码错误!" << endl;
cout << "1:重新输入密码。" << endl;
cout << "2:返回。" << endl;
number = _getch();
switch (number)
{
case'1':get_password(); break;
case'2':get_power(); break;
}
}
else
{
power ='1';
return list();
}
}
void System::input_information(){
system("cls");
if (power == '1'){
car x;
char temp;
cout << "请依次输入汽车信息:1.类别(面包车,轿车,越野车) 2.ID 3.名字 " << endl;
cout << " 4.上市时间 5.购买价格 6.出售价格" << endl;
cout << " 7.颜色 8.厂商 9.发动机 " << endl;
cout << " 10.车身结构(如4门5座3车厢) " << endl;
cin >> x.type >> x.ID >> x.name >> x.date >> x.get_price >> x.sale_price;
cin >> x.color >> x.factory >> x.engine >> x.structure;
for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
if (x.ID == iter->ID){
cout << "ID重复!!!!信息存储失败!!! 1(重新输入) 2(返回菜单)";
temp = _getch();
if (temp == '1')input_information();
else if (temp == '2')list();
else{
cout << "请输入正确序号!!!!" << endl; Sleep(500);
system("cls");
list();
}
}
}
iver.push_back(x);
++s;
return list();
}
else
{
system("cls");
cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
Sleep(1000);
system("cls");
return list();
}
}
void System::look_information(){
if (iver.size() == 0){
system("cls");
cout << "目前无任何信息!!!系统将在1秒后返回。。。" << endl;
Sleep(1000);
return list();
}
else{
system("cls");
for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
cout << setw(9) << "类别:" << setw(15) << iter->type << setw(15) << "ID:" << setw(15) << iter->ID << endl;
cout << setw(9) << "名字:" << setw(15) << iter->name << setw(15) << "厂商:" << setw(15) << iter->factory << endl;
cout << setw(4) << "上市时间:" << setw(15) << iter->date << setw(15) << "购买价格:" << setw(15) << iter->get_price << setw(10) << endl;
cout << setw(4) << "车身结构:" << setw(15) << iter->structure << setw(15)<<"出售价格:" << setw(15) << iter->sale_price << endl;
cout << setw(9) << "发动机:" << setw(15) << iter->engine << setw(15) << "颜色:" << setw(15) << iter->color << endl;
cout << endl; cout << endl;
}
cout << "按任意键返回" << endl;
_getch();
return list();
}
}
void System::refer(){
system("cls");
sort();
char temp2;
string temp1, temp3;
int number = 0;
system("cls");
cout << "1:按汽车名字查询" << endl;
cout << "2:按汽车类别查询" << endl;
cout << "3:退 出 " << endl;
temp2 = _getch();
if (temp2 == '3'){ return list(); }
else if (temp2 == '1'){
system("cls");
cout << " 请输入需要查询的汽车名字" << endl;
cin >> temp1;
for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
if (iter->name == temp1){
system("cls");
cout << "类别:" << iter->type << " ID:" << iter->ID << " 名字" << iter->name << endl;
cout << "上市时间:" << iter->date << " 购买价格:" << iter->get_price << " 出售价格:" << iter->sale_price << endl;
cout << "颜色:" << iter->color << " 厂商:" << iter->factory << " 发动机" << iter->engine << endl;
cout << "车身结构:" << iter->structure << endl;
cout << endl; cout << endl;
++number;
}
}
}
else if (temp2 == '2'){
system("cls");
cout << " 请输入需要查询的汽车类别" << endl;
cin >> temp3;
for (vector<car>::iterator iter = iver.begin(); iter != iver.end(); ++iter){
if (iter->type == temp3){
system("cls");
cout << "类别:" << iter->type << " ID:" << iter->ID << " 名字" << iter->name << endl;
cout << "上市时间:" << iter->date << " 购买价格:" << iter->get_price << " 出售价格:" << iter->sale_price << endl;
cout << "颜色:" << iter->color << " 厂商:" << iter->factory << " 发动机" << iter->engine << endl;
cout << "车身结构:" << iter->structure << endl;
cout << endl; cout << endl;
++number;
}
}
}
else {
cout << "请输入正确的序号!!!!" << endl;
Sleep(500);
refer();
}
if (number == 0){ cout << "无符合要求的汽车!!!!" << endl; }
cout << "按任意键返回" << endl;
_getch();
return list();
}
void System::sort(){
char temp, temp1;
cout << "1:按名称排序" << endl;
cout << "2:按ID排序" << endl;
temp = _getch();
if (temp = '1'){
car x;
for (vector<car>::size_type i = 0; i < iver.size(); ++i){
for (vector<car>::size_type j = i + 1; j < iver.size(); ++j){
if (iver[i].name == iver[j].name){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; break; }
}
}
if (temp = '2'){
system("cls");
cout << "1:按ID从小到大排列" << endl;
cout << "2:按ID从大到小排列" << endl;
temp1 = _getch();
car x;
for (vector<car>::size_type i = 0; i < iver.size(); ++i){
for (vector<car>::size_type j = i; j < iver.size(); ++j){
if (temp == '1'){ if (iver[i].ID>iver[j].ID){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; } }
if (temp == '2'){ if (iver[i].ID<iver[j].ID){ x = iver[i]; iver[i] = iver[j]; iver[j] = x; } }
}
}
}
}
}
void System::alter(){
system("cls");
if (power == '1'){
string id;
int number = 0;
vector<car>::iterator iter;
cout << "请输入修改的汽车ID:" << endl;
cin >> id;
for (iter = iver.begin(); iter != iver.end(); ++iter){
if (id == iter->ID){ ++number; break; }
}
if (number == 0){
cout << "无此ID!!!";
Sleep(1000);
system("cls");
return list();
}
else
{
char m;
cout << "请选择需要修改的数据:" << endl;
cout << "1:类别 2:名字 3:上市时间 4:购买价格 5:出售价格" << endl;
cout << "6:颜色 7:厂商 8:发动机 9:车身结构 10:ID" << endl;
m = _getch();
cout << "请输入需要修改的数据。" << endl;
switch (m)
{
case'1':cin >> iter->type; break;
case'2':cin >> iter->name; break;
case'3':cin >> iter->date; break;
case'4':cin >> iter->get_price; break;
case'5':cin >> iter->sale_price; break;
case'6':cin >> iter->color; break;
case'7':cin >> iter->factory; break;
case'8':cin >> iter->engine; break;
case'9':cin >> iter->structure; break;
case'10':cin >> iter->ID; break;
default:cout << "请输入正确序号!!!即将返回菜单页面...."; break;
}
Sleep(1000);
system("cls");
return list();
}
}
else
{
system("cls");
cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
Sleep(1000);
system("cls");
return list();
}
}
void System::remove(){
system("cls");
if (power == '1'){
string id;
int number = 0;;
cout << "请输入所要删除的汽车信息的ID号" << endl;
cin >> id;
vector<car>::iterator iter;
for (iter = iver.begin(); iter != iver.end(); ++iter){
if (id == iter->ID){
++number;
iver.erase(iter);
break;
}
}
if (number == 0){ cout << "无此ID,即将返回菜单页面!!"; return list(); }
}
else
{
system("cls");
cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
Sleep(1000);
return list();
}
}
void System::drop_out(){
drop = 0;
}
int System::get_drop(){
return drop;
}
void System::input_file(){
if (power == '1'){
ifstream infile("t.dat", ios::binary);
infile.read((char*)&s, sizeof(s));
int b = 100;
car a[100];
for (vector<car>::size_type ix = 0; ix != s; ++ix){
infile.read((char*)&a[ix], sizeof(a[ix]));
iver.push_back(a[ix]);
}
infile.close();
cout << "读取成功!!" << endl;
Sleep(500);
return list();
}
else
{
system("cls");
cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
Sleep(1000);
return list();
}
}
void System::output_file(){
if (power == '1'){
ofstream outfile("t.dat", ios::binary);
outfile.write((char*)&s, sizeof(s));
for (vector<car>::size_type ix = 0; ix != iver.size(); ++ix){
outfile.write((char*)&iver[ix], sizeof(iver[ix]));
}
outfile.close();
cout << "保存成功!!!" << endl;
Sleep(500);
return list();
}
else
{
system("cls");
cout << "无此功能权限,系统将在一秒后返回菜单页面" << endl;
Sleep(1000);
return list();
}
}
中级程序员
by: rentao315 发表于:2014-10-01 22:00:58 顶(0) | 踩(0) 回复
考虑下,用面向对象来写哦
回复评论