Olá! Estou estudando lógica de programação e tenho que resolver esse exercício:
O Departamento de Computação deseja saber se existem alunos cursando, simultaneamente, as disciplinas D1 e D2. Existe disponível uma listagem com os números de matrículas dos alunos das duas disciplinas. Após ler essas listagens verifique quem são os alunos.
Porém, já fiz de dois jeitos diferentes e o bendito do código até roda, mas não do jeito que se espera. Ele simplesmente "pula" linhas quando é executado, eu não sei onde está o erro porque nem no registro de compilador é mostrado alguém poderia me ajudar?
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#define tam 5
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int D1[]={2,3,4,5,1, '\0'};
int D2[]={7,8,4,6,9, '\0'};
int i, codaluno, qtd1=0,qtd2=0,qtd3=0;
int mat1=0, mat2=0;
for (i=0; i<tam; i++){
printf ("digite aqui o codigo do %do aluno: ", i+1);
scanf ("%d", &codaluno);
if(codaluno == D1[i]){
mat1 = 1;
} else {
}
if(codaluno == D2[i]){
mat2 = 1;
}
if (mat1==1 && mat2==1){
printf("O Aluno esta Matriculado nas materias D1 e D2 \n\n");
qtd1++;
}
else
if (mat1==1 && mat2==0) {
printf("O Aluno esta Matriculado na materia D1 \n\n");
qtd2++;
}
else
if (mat1==0 && mat2==1){
printf("O Aluno esta Matriculado na materia D2 \n\n");
qtd3++;
}
else {
//printf ("aluno nao matriculado! \n\n");
}
}
printf ("quantidade de alunos matriculados na materia D1: %d \n", qtd2);
printf ("quantidade de alunos matriculados na materia D2: %d \n", qtd3);
printf ("quantidade de alunos matriculados nas materias D1 e D2: %d \n", qtd1);
return 0;
}