Boa tarde!! Estou com uma pequena grande dúvida em C, matrizes. O que deve ser feito é cadastrar um usuário em uma posição de uma matriz 3x3. Para isso, se deve pedir que seja informado a linha, coluna e valida-las. Depois de valida-las (ou seja, tem que ser um numero entre 0 e 2), deve ser pedido um ID qualquer (maior que 0 e menor que 100). Esse ID deve ser validado e, após ser validado, deve ser inserido na posição escolhida para a linha e pela coluna. Esse processo deve ser feito até o usuário escolher a opção 2, no menu. Ao escolher a opção 2, a matriz deve ser mostrada. As posições que não foram inseridas na matriz, deve aparecer o valor de -1.
O problema está em como eu irei colocar o valor do ID na posição da linha e da coluna.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
//Assinatura de funções
void menu();
//Função principal
int main()
{
//Declarações
char nome[50];
int opcao, ID, linha, coluna;
int matriz[5][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}};
//Instruções
setlocale(LC_ALL, "Portuguese");
printf("Prezado(a) usuário(a), por gentileza, digite o seu nome:\n");
scanf("%s",nome);
printf("Prezado(a) %s, seja bem vindo(a) ao cadastro de alunos(as)!\n");
do{
menu();
scanf("%d", &opcao);
if (opcao <1 || opcao >3){
printf("A opção digitada do menu e INVÁLIDA. Tente novamente!\n");
}
switch(opcao){
case 1:
printf("Você escolheu a opção para INSERIR O ID DE UM(A) ALUNO(A)!\n");
printf("Informe por gentileza a linha em que deseja inserir o ID do(a) aluno(a) [0-2]\n");
scanf("%d", &linha);
while(linha < 0 || linha > 2){
printf("Linha digitada INVÁLIDA. Por gentileza, tente novamente!\n");
printf("Informe a linha em que deseja inserir o ID [0-2].\n");
scanf("%d", &linha);
}
printf("Linha recebida com sucesso!\n");
printf("\n");
printf("Informe por gentileza a coluna em que deseja inserir o ID do(a) aluno(a) [0-2]\n");
scanf("%d", &coluna);
while(coluna < 0 || coluna > 2){
printf("Coluna digitada INVÁLIDA. Por gentileza, tente novamente!\n");
printf("Informe a coluna em que deseja inserir o ID [0-2].\n");
scanf("%d", &coluna);
}
printf("Coluna recebida com sucesso!\n");
printf("\n");
printf("Por gentileza, informe o ID do(a) aluno(a) [1 - 99].\n");
scanf("%d", &ID);
while(ID <= 0 || ID >= 100){
printf("ID digitado INVÁLIDO. Por gentileza, tente novamente!\n");
printf("Informe o ID do(a) aluno(a) [1 - 99].\n");
scanf("%d", &ID);
}
printf("ID recebido com sucesso!\n");
printf("\n");
break;
case 2:
printf("Você escolheu a opção para IMPRIMIR A MATRIZ DE ID DOS ALUNOS\n");
break;
case 3:
printf("----------------------------------------------------------------------------------------\n");
printf("Prezado(a) usuário(a), obrigada por utilizar o software! Fim de programa e Volte sempre!\n");
printf("----------------------------------------------------------------------------------------\n");
break;
}
}while(opcao!=3);
// for (int linha = 0; linha < 5; linha++){
// for (int coluna = 0; coluna < 5; coluna++){
// printf("%d ", matriz[linha][coluna]);
// }
// printf("\n");
// }
return 0;
}
//Função para chamar um menu de opções
void menu (){
printf(" \n");
printf("Escolha uma opcao do menu:\n");
printf("Pressione [1] para INSERIR O ID DE UM(A) ALUNO(A)\n");
printf("Pressione [2] para IMPRIMIR A MATRIZ DE ID DE ALUNOS(AS)\n");
printf("Pressione [3] para SAIR\n");
printf(" \n");
}