Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- struct Student {
- char nazwisko[30], imie[20];
- char indeks[10];
- int wiek;
- double stypendium;
- char zaliczenie;
- };
- int sprznak(char* temp){
- int i, v=1;
- for(i=0;i<strlen(temp);i++){
- if(!isalpha(temp[i]))
- {
- v=0;
- break;
- }
- }
- return v;
- }
- int czyliczba(char* temp){
- int i, v=1;
- for(i=0;i<strlen(temp);i++){
- if(!isdigit(temp[i]))
- {
- v=0;
- break;
- }
- }
- return v;
- }
- void wypelnij(struct Student *uczelnia, int n, char* plik){
- int i;
- FILE *f=NULL;
- for(i=0;i<n;i++){
- do{
- printf("Imie[%d]: ",i);
- scanf("%s", &uczelnia[i].imie);
- if(!sprznak(uczelnia[i].imie)){
- printf("Imie musi skladac sie z liter \n");
- }
- }
- while(!sprznak(uczelnia[i].imie));
- do{
- printf("Nazwisko[%d]: ",i);
- scanf("%s", &uczelnia[i].nazwisko);
- if(!sprznak(uczelnia[i].nazwisko)){
- printf("Nazwisko musi skladac sie z liter \n");
- }
- }
- while(!sprznak(uczelnia[i].nazwisko));
- do{
- printf("Indeks[%d]: ",i);
- scanf("%s", &uczelnia[i].indeks);
- if(!czyliczba(uczelnia[i].indeks))
- printf("Indeks musi skladac sie z liczb \n");
- if(strlen(uczelnia[i].indeks)!=10)
- printf("Indeks musi skladac sie z 10 liczb \n ");
- }
- while(!czyliczba(uczelnia[i].indeks) || strlen(uczelnia[i].indeks)!=10);
- do{
- printf("Wiek[%d]: ",i);
- scanf("%d", &uczelnia[i].wiek);
- if(uczelnia[i].wiek<0)
- printf("Wiek musi skladac sie z wartosci powyzej 0 \n");
- }
- while((uczelnia[i].wiek)<0);
- do{
- printf("Stypendium[%d]: ",i);
- scanf("%lf", &uczelnia[i].stypendium);
- if(uczelnia[i].stypendium<0)
- printf("Stypendium musi skladac sie z wartosci powyzej 0 \n");
- }
- while((uczelnia[i].stypendium)<0);
- do{
- printf("Zaliczenie[%d]: ",i);
- fflush(stdin);
- scanf("%c", &uczelnia[i].zaliczenie);
- if(uczelnia[i].zaliczenie!='T' && uczelnia[i].zaliczenie!='N' )
- printf("Zaliczenie musi skladac sie z T lub N \n");
- }
- while(uczelnia[i].zaliczenie!='T' && uczelnia[i].zaliczenie!='N' );
- }
- f=fopen(plik,"wb");
- if(!f) {
- printf("BLAD");
- return -1;
- }
- fwrite(uczelnia,sizeof(struct Student),n,f);
- free(uczelnia);
- fclose(f);
- }
- void pokaz(char* nazwa)
- {
- struct Student *tablica;
- int n;
- FILE *f=NULL;
- f=fopen(nazwa,"rb");
- if(!f) {
- printf("BLAD!!!");
- return -1;
- }
- fseek(f,0,SEEK_END);
- n=((ftell(f))/sizeof(struct Student));
- rewind(f);
- tablica=(struct Student*)malloc(n*sizeof(struct Student));
- if(!tablica) {
- printf("BLAD!!!!!!!!!!!");
- return -1;
- }
- fread(tablica,sizeof(struct Student),n,f);
- printf("%s", tablica[0].imie);
- fclose(f);
- }
- int main(){
- struct Student uczelnia[1];
- //wypelnij(uczelnia,1,"pliczek");
- pokaz("pliczek");
- //SYSTEM("PAUSE");
- getch();
- return 0;
- }
Add Comment
Please, Sign In to add comment