I got this if problem. Whenever I run the program and I type the letter m when required,it is not reqognized by my if statement. Does someone know why ? I've been doing this for an hour, and no result.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct firma{
char nume[20];
char prenume[20];
char studii[5];
int absolvire;
char localitate[20];
char facultate[20];
};
void citire(struct firma *angajati, int n){
int i;
for(i=0;i<n;i++){
printf("Angajatul nr.%d\n", i+1);
printf("Nume: "); fflush(stdin); gets((angajati+i)->nume);
printf("Prenume: "); fflush(stdin); gets((angajati+i)->prenume);
printf("Studii: "); fflush(stdin); scanf("%c", &(angajati+i)->studii);
if(((angajati+i)->studii)=='m'){
printf("Anul absolvirii liceului: "); scanf("%d", &(angajati+i)->absolvire);
printf("Localitatea: "); fflush(stdin); gets((angajati+i)->localitate);
}
if(((angajati+i)->studii)=='s'){
printf("Anul absolvirii facultatii: "); scanf("%d", &(angajati+i)->absolvire);
printf("Localitatea: "); fflush(stdin); gets((angajati+i)->localitate);
printf("Facultatea absolvita: "); fflush(stdin); gets((angajati+i)->facultate);
}
}
}
int main()
{
struct firma angajati[20];
int n;
printf("Introduceti numarul de angajati: "); scanf("%d", &n);
citire(angajati, n);
return 0;
}
Aucun commentaire:
Enregistrer un commentaire