-
Notifications
You must be signed in to change notification settings - Fork 229
Description
#include <stdio.h>
#include <stdlib.h>
#define NUM_ESTADOS 8
#define NUM_CIDADES 4
typedef struct {
char codigo[4]; // Código da cidade (ex: A01)
long populacao;
double area; // Área em km²
double pib; // PIB em milhões
int pontos_turisticos;
} Cidade;
void cadastrarCidade(Cidade *cidade, char estado, int numero) {
// Define o código da cidade
sprintf(cidade->codigo, "%c%02d", estado, numero);
// Coleta os dados da cidade
printf("Cadastro da cidade %s:\n", cidade->codigo);
printf("Digite a população: ");
scanf("%ld", &cidade->populacao);
printf("Digite a área (em km²): ");
scanf("%lf", &cidade->area);
printf("Digite o PIB (em milhões): ");
scanf("%lf", &cidade->pib);
printf("Digite o número de pontos turísticos: ");
scanf("%d", &cidade->pontos_turisticos);
}
void exibirCidade(const Cidade *cidade) {
printf("\n--- Informações da Cidade %s ---\n", cidade->codigo);
printf("População: %ld\n", cidade->populacao);
printf("Área: %.2lf km²\n", cidade->area);
printf("PIB: %.2lf milhões\n", cidade->pib);
printf("Pontos Turísticos: %d\n", cidade->pontos_turisticos);
}
int main() {
Cidade cidades[NUM_ESTADOS][NUM_CIDADES];
char estados[NUM_ESTADOS] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
// Cadastro das cidades
for (int i = 0; i < NUM_ESTADOS; i++) {
for (int j = 0; j < NUM_CIDADES; j++) {
cadastrarCidade(&cidades[i][j], estados[i], j + 1);
}
}
// Exibição das cidades cadastradas
for (int i = 0; i < NUM_ESTADOS; i++) {
for (int j = 0; j < NUM_CIDADES; j++) {
exibirCidade(&cidades[i][j]);
}
}
return 0;
}