Witam mam problem z moim kodem źródłowym mam otóż 3 pliki (funkcje.h , funkcje.c , main.c) i mam problem bo kompiluje się ale nie działa jak powinien, czyli jak w funkcjach.c odkomentuje tamte linijki z fprintami to nic nie chce się zapisać w pliku nie wiem dlaczego, gdy zakomentuje te linijki to zrobi to co powinien bez wpisania tamtych linijek. Jakieś pomysły? Wydaje mi sie że to może być problem z listą tylko nie mam za bardzo pomysłu jak go naprawić.
Z góry dziękuje za odpowiedzi!
Funkcje.h
#ifndef FUNKCJE_H
#define FUNKCJE_H
#include < stdio.h >
#include < math.h >
#include < stdlib.h >
#define ROZ 2
#define SIZE 2
struct laptop
{
int rok;
char marka[15];
char model[20];
char oprogramowanie[20];
};
struct sklep
{
char miejscowosc [15] ;
char ulica [15] ;
int numer ;
char kierownik [15] ;
struct laptop lista [4] ;
};
void wpisz_laptop ( struct laptop *lap ) ;
void stworz_sklep ( struct sklep *skl ) ;
void zapisz ( struct sklep kopia_sklepu , char *file );
#endif
Funkcje.c
#include "FUNKCJE.H"
void wpisz_laptop ( struct laptop *lap )
{
printf ( "Wpisz marke: " ) ;
scanf ( "%s" , lap->marka ) ;
printf ( "Wpisz model: " ) ;
scanf ( "%s" , &lap->model ) ;
printf ( "Wpisz oprogramowanie: " ) ;
scanf ( "%s" , &lap->oprogramowanie ) ;
printf ( "Wpisz rok: " ) ;
scanf ( "%d" , &lap->rok ) ;
}
void stworz_sklep ( struct sklep *skl )
{
int i;
printf ( "Wpisz miejscowosc: " ) ;
scanf ( "%s" , skl->miejscowosc ) ;
printf ( "Wpisz ulice: " ) ;
scanf ( "%s" , skl->ulica ) ;
printf ( "Wpisz numer : " ) ;
scanf ( "%i" , &skl->numer) ;
printf ( "Wpisz Nazwisko kierownika: " ) ;
scanf ( "%s" , skl->kierownik ) ;
printf ( "Wpisz ponizej Laptop. \n\n" ) ;
for(i=0;i<ROZ;i++)
{
printf ( "LAPTOP nr: %d \n ",i+1 ) ;
wpisz_laptop ( &skl->lista[i] );
}
printf ( "\n\n" ) ;
}
void zapisz ( struct sklep kopia_sklepu , char *file )
{
FILE *plik;
int i = 0;
int x = 0;
//plik = fopen ("sklep.txt","w") ; //tworzenie nowego i ewentualnie usuniecie i ponowne utworzenie jak juz jest
plik = fopen ("sklep.txt","a") ; // nadpisanie pliku
if (plik == NULL)
{
printf ( "Error-Brak pliku\n" ) ;
exit (-1) ;
}
else
{
fprintf ( plik , "\nMiejscowosc: %s\n" , kopia_sklepu.miejscowosc) ;
fprintf ( plik , "Ulica: %s\n" , kopia_sklepu.ulica) ;
fprintf ( plik , "Numer: %d\n" , kopia_sklepu.numer ) ;
fprintf ( plik , "Nazwisko kierownika: %s\n" , kopia_sklepu.kierownik) ;
for (i=0;i<2;i++)
{
fprintf ( plik , "Nr laptopa: %d\n" ,i+1) ;
//fprintf ( plik , "Marka: %s\n" , kopia_sklepu.lista[0]) ;
//fprintf ( plik , "Model : %s\n" , kopia_sklepu.lista[1]) ;
//fprintf ( plik , "Oprogramowanie : %s\n" , kopia_sklepu.lista[2]) ;
//fprintf ( plik , "Rok: %d\n" , kopia_sklepu.lista[3]) ;
}
}
fclose ( plik ) ;
}
main.c
#include "FUNKCJE.H"
int main()
{
int i = 0;
struct sklep laptop1[2];
for(i=0; i<2;i++)
{
stworz_sklep (&(laptop1 [i]));
}
for(i=0; i<2;i++)
{
zapisz ( laptop1 [i] , "wyp.txt" ) ;
}
return 0;
}