Как добавить if-else
Заявление для "kodeprodi
"?Как добавить инструкцию if-else?
Каждый раз, когда я добавляю заявление if-else
, всегда появляется сообщение «Lvalue required».
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct {
char bp[13];
char nama[15];
int kodeprodi;
char namaprodi[10];
float ipk;
} mahasiswa;
int main()
{
char pil;
do {
mahasiswa mhs[10];
int i, n;
{
printf("Data Nilai Mahasiswa\n");
printf("Berapa banyak data = ");
scanf("%d", &n);
for(i = 0; i < n; i++) {
printf("Data mahasiswa ke-%d\n", i+1);
printf("Nomor BP: "); scanf("%s", &mhs[i].bp);
printf("Nama: "); scanf("%s", &mhs[i].nama);
printf("Kode Prodi: "); scanf("%d", &mhs[i].kodeprodi);
printf("IPK: "); scanf("%f", &mhs[i].ipk);
if (mhs[i].kodeprodi == 260) {mhs[i].namaprodi = "SI";}
else if (mhs[i].kodeprodi == 261) {mhs[i].namaprodi = "TI";}
}
//output
printf("No. BP Nama Kode Prodi Nama Prodi IPK \n");
for(i = 0; i < n; i++) {
printf("\n%2d %-10s %-9s %3d %3s %3.f\n",
i+1, mhs[i].bp, mhs[i].nama, mhs[i].nama,
mhs[i].kodeprodi, mhs[i].namaprodi, mhs[i].ipk);
}
}
printf("Repeat again? Y/N");
scanf("%s", &pil);
printf("\n\n");
} while ((pil == 'Y') || (pil == 'y'));
}
Даже если в операторе if-то еще, я типа как этот
if(mhs[i].kodeprodi==260){namaprodi = "SI");
сообщение об ошибке «Не определено символ 'namaprodi'
_'mhs [i] .namaprodi = "TI"; '_ Вы не можете назначить массивы символов таким образом. Используйте переменные 'stdcpy()' или даже лучше 'std :: string' alltogether. –
Изменить 'else if (mhs. [I] .kodeprodi == 261)' to 'else if (mhs [i] .kodeprodi == 261)' – Rabbid76
Другая проблема заключается в том, что 'kodeprodi' является' char' и вряд ли иметь возможность удерживать значение 261. –