用c/c++来编写一个程序,需要用到结构体变量,一次循环

城市信息的输入与输出(结构体)

【问题描述】编写程序,能够输入和显示若干个城市的数据记录,每个记录包括城市编号、城市名、经度、维度。建议选择自己所在地的城市、熟悉或者喜欢的城市。只用结构体变量而不用结构体数组完成,只用一个循环完成。

#include<stdio.h>
struct information
{
    char cityname;//城市名字
    int number;       //城市编号
    int longitude;    //经度
    int longitude;    //纬度
}information1;
struct information i;//结构体information的名字也为i
int main()
{

}

不知道怎么用一个循环来遍历这个结构体。

写一个函数直接访问结构体的成员变量就好了的!

还有就是,你的经度纬度两个成员变量的名字一样了。
城市名那个成员,建议用数组,因为城市名一般不会是只有一个字符,而是多个字符。

struct information
{
//char cityname;//城市名字
char cityname[10];
int number; //城市编号
int longitude; //经度
int latitude; //纬度
}information1;
struct information i;//结构体information的名字也为i

void test7()
{
//printf("城市名称:%c\n",i.cityname);
printf("城市名称:%s\n", i.cityname);
printf("城市编号:%d\n", i.number);
printf("城市经度:%d\n", i.longitude);
printf("城市纬度:%d\n", i.latitude);
}

//测试代码

#include <stdio.h> 
#include <string.h> 
typedef struct __CITYDATA { 
    char cityname[10];//城市名字
    int number; //城市编号
    int longitude; //经度
    int latitude; //纬度 
}CITYDATA;

CITYDATA cityData[5];//定义结构体变量 
void print(CITYDATA p[5],int num)
{
    int i = 0;//定义数组a的下标
    printf("\n\n城市名称\t\t城市编号\t\t城市经度\t\t城市纬度\n");
    for(i = 0;i < num;i++)
    {   
        printf("%s\t\t\t%d\t\t\t%d\t\t\t%d",p[i].cityname,p[i].number,p[i].longitude,p[i].latitude); 
        printf("\n");
    }
}
int main() 
{ 
    int n = 0;//定义城市数量 
    int i = 0;//cityname数组的下标
    printf("输入城市数量:"); 
    scanf_s("%d",&n);
    if (n > 5)
        n = 5;
    for(i = 0;i < n;++i) 
    {
        printf("\n输入第%d个城市名称:", i + 1);
        scanf("%s",cityData[i].cityname);
        printf("\n输入第%d个城市编号:", i + 1);
        scanf_s("%d", &cityData[i].number);
        printf("\n输入第%d个城市经度:", i + 1);
        scanf_s("%d", &cityData[i].longitude);
        printf("\n输入第%d个城市纬度:", i + 1);
        scanf_s("%d", &cityData[i].latitude);
    } 
    print(cityData,n);
    return 0; 
}