• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Język C Błąd którego nie mogę znaleźć.

Object Storage Arubacloud
0 głosów
195 wizyt
pytanie zadane 2 lutego 2021 w C i C++ przez DardhanPL Nowicjusz (200 p.)
zamknięte 31 marca 2021 przez DardhanPL

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;
}

 

komentarz zamknięcia: Pytanie zamkniete ponieważ zapomniałem je wcześniej zamknąć kolega tangarr pomógł

1 odpowiedź

+2 głosów
odpowiedź 2 lutego 2021 przez tangarr Mędrzec (154,780 p.)
wybrane 31 marca 2021 przez DardhanPL
 
Najlepsza
Nakieruję cię na rozwiązanie. Odpowiedz na pytania:
1. Czym jest zmienna lista?
2. Czym jest zmienna lista[X]?
3. W jaki sposób funkcja fprintf ma zinterpretować przekazany argument?
komentarz 3 lutego 2021 przez DardhanPL Nowicjusz (200 p.)
Dzięki za pomoc!

Uprościłem go se trochę i działa :D! Dzięki tobie wiedziałem od czego zacząć!

Podobne pytania

0 głosów
1 odpowiedź 125 wizyt
pytanie zadane 20 maja 2016 w C i C++ przez Tommy Użytkownik (520 p.)
0 głosów
2 odpowiedzi 2,639 wizyt
pytanie zadane 28 listopada 2016 w C i C++ przez xan Nowicjusz (160 p.)
0 głosów
1 odpowiedź 233 wizyt
pytanie zadane 25 października 2015 w C i C++ przez Mavimix Dyskutant (8,390 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...