数组存储问题
怎么用数组存储这样的信息:(昆明-西安,200km),(成都-上海,6000km)..........等等!并且打印出来存储信息。知道的高手麻烦给我写下代码,小弟高分奉上...
怎么用数组存储这样的信息:(昆明-西安,200km),(成都-上海,6000km)..........等等!并且打印出来存储信息。
知道的高手麻烦给我写下代码,小弟高分奉上. 展开
知道的高手麻烦给我写下代码,小弟高分奉上. 展开
4个回答
展开全部
先给你写个把,等下再给个自由确定输入多少条路线的来完善下,不知道你是用C语言的还是C++的,就给你个C++版本的把.....
基本我都加了注释,应该都很好理解的
下面是代码:
#include <iostream>
using namespace std;
#define N1 20
#define N2 20
#define N 3 //定义预处理变量,可以修改这里的值来确定输入几条路线
//定义结构体类型
struct Route
{
char Start[N1]; //用于存储起点
char End[N2]; //用于存储终点
long int Road; //用于存储距离
};
void main()
{
Route route[N]; //定义结构体数组
int i,j;
//初始化结构体数组
for(i=0;i<N;i++ )
{
cout<<"请输入第 "<<i<<"条路线的信息:"<<endl;
cout<<"请输入起点:"<<endl;
cin>>route[i].Start;
cout<<"请输入终点:"<<endl;
cin>>route[i].End;
cout<<"请输入距离:"<<endl;
cin>>route[i].Road;
}
system("cls");//清屏函数
//输出每一条路线
cout<<"下面是所有路线信息:"<<endl;
for(j=0;j<N;j++ )
{
cout<<route[j].Start<<"-";
cout<<route[j].End<<" ";
cout<<route[j].Road;
cout<<"\n";
}
}
基本我都加了注释,应该都很好理解的
下面是代码:
#include <iostream>
using namespace std;
#define N1 20
#define N2 20
#define N 3 //定义预处理变量,可以修改这里的值来确定输入几条路线
//定义结构体类型
struct Route
{
char Start[N1]; //用于存储起点
char End[N2]; //用于存储终点
long int Road; //用于存储距离
};
void main()
{
Route route[N]; //定义结构体数组
int i,j;
//初始化结构体数组
for(i=0;i<N;i++ )
{
cout<<"请输入第 "<<i<<"条路线的信息:"<<endl;
cout<<"请输入起点:"<<endl;
cin>>route[i].Start;
cout<<"请输入终点:"<<endl;
cin>>route[i].End;
cout<<"请输入距离:"<<endl;
cin>>route[i].Road;
}
system("cls");//清屏函数
//输出每一条路线
cout<<"下面是所有路线信息:"<<endl;
for(j=0;j<N;j++ )
{
cout<<route[j].Start<<"-";
cout<<route[j].End<<" ";
cout<<route[j].Road;
cout<<"\n";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用类来写,数据比较安全
#include<iostream>
using namespace std;
class Place
{
public:
void set_zl();
friend ostream & operator << (ostream&,Place&);
private:
string name;
int num;
};
ostream & operator << (ostream &out,Place&p)
{
out<<"name:"<<p.name<<" "<<"num:"<<num<<endl;
}
void Place::set_zl()
{
cout<<"请输入名字,连个名字之间用"<<"-"<<"来连接:";
cin>>name;
cout<<"请输入数字:";
cin>>num;
cout<<endl;
}
void main()
{
Place p[255];
cout<<"请输入您要输入的资料条数:";
int s;
cin>>s;
for(int i=0;i<s;i++)
{cout<<"请输入第"<<i+1<<"条资料:"<<endl;
p[i].set_zl();
}
for(int j=0;j<s;j++)
{
cout<<p[i];
}
system("pause");
}
#include<iostream>
using namespace std;
class Place
{
public:
void set_zl();
friend ostream & operator << (ostream&,Place&);
private:
string name;
int num;
};
ostream & operator << (ostream &out,Place&p)
{
out<<"name:"<<p.name<<" "<<"num:"<<num<<endl;
}
void Place::set_zl()
{
cout<<"请输入名字,连个名字之间用"<<"-"<<"来连接:";
cin>>name;
cout<<"请输入数字:";
cin>>num;
cout<<endl;
}
void main()
{
Place p[255];
cout<<"请输入您要输入的资料条数:";
int s;
cin>>s;
for(int i=0;i<s;i++)
{cout<<"请输入第"<<i+1<<"条资料:"<<endl;
p[i].set_zl();
}
for(int j=0;j<s;j++)
{
cout<<p[i];
}
system("pause");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*给出一个示范
不知道数字是否要按int格式存储,那样就必须用结构体,纯数组不行了,或者用指针来连接它们。。。*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 20
#define N 20
main(){
char c[M][N]={0};
strcpy(c[0],"昆明-西安,200km");
strcpy(c[1],"成都-上海,6000km");
printf("%s\n",c[0]);
printf("%s\n",c[1]);
system("pause");
}
不知道数字是否要按int格式存储,那样就必须用结构体,纯数组不行了,或者用指针来连接它们。。。*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define M 20
#define N 20
main(){
char c[M][N]={0};
strcpy(c[0],"昆明-西安,200km");
strcpy(c[1],"成都-上海,6000km");
printf("%s\n",c[0]);
printf("%s\n",c[1]);
system("pause");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把结构体放数组里不就完了
或者把数组放数组里
#include <iostream>
using namespace std;
void main()
{
struct ADATA
{
char Si[256];
int Du;
};
ADATA aa[256];
for ( int i=0; i<2; i++ )
{
cin>>aa[i].Si;
cin>>aa[i].Du;
}
for ( int i=0; i<2; i++ )
{
cout<<aa[i].Si;
cout<<aa[i].Du;
cout<<"\n";
}
}
运行结果:
昆明-西安 200
成都-上海 6000
昆明-西安200
成都-上海6000
Press any key to continue
或者把数组放数组里
#include <iostream>
using namespace std;
void main()
{
struct ADATA
{
char Si[256];
int Du;
};
ADATA aa[256];
for ( int i=0; i<2; i++ )
{
cin>>aa[i].Si;
cin>>aa[i].Du;
}
for ( int i=0; i<2; i++ )
{
cout<<aa[i].Si;
cout<<aa[i].Du;
cout<<"\n";
}
}
运行结果:
昆明-西安 200
成都-上海 6000
昆明-西安200
成都-上海6000
Press any key to continue
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询