Programa de calcular rotas em C

Eu to com dificuldade em fazer um código de um programa que o objetivo dele é calcular rotas, de no máximo 5 cidades. Sei q tenho q usar uma matriz 5x5, e as instruções q eu tenho é q devo perguntar pro usuário quantas cidades ele deseja, qual a distancia de cada cidade para outra e perguntar a ordem da rota, (exemplo: A-B-C, B-D-A-C etc). Pórem eu tenho duvida de como faço essa matriz, e de como vou conseguir acessar os elementos dela a partir das letras q o usuário disca, ouvi sobre o “atoi”, mas não consegui assimilar como usar. Um exemplo da tabela com a distancia q o usuário tem q colocar tá na imagem anexada.IMG-20210309-WA0025

Caracteres são tratados internamente como inteiros. Basta subtrair do caractere lido o valor 65, garantido que o caractere é maiúsculo, pois 65 é o código do caractere A.

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main() {

    char cidade;
    char posCidade;

    // lê o caractere que representa a cidade
    scanf( " %c", &cidade );

    // converte para maiúscula
    cidade = toupper( cidade );

    // subtrai 65 do código do caractere (A==65, B==66, C==67, D==68, E==69)
    posCidade = cidade - 65;

    // se cidade for igual a `A`, posCidade conterá 0, se for igual a `B`,
    // conterá 1 e assim por diante
    return 0;

}
1 curtida