mercredi 18 mars 2015

if situation when trying to read struct elements

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