Witam, niedawno zacząłem zabawę z c++ (używam code::Blocks) i proszę o pomoc bardziej zaawansowanych użytkowników/forumowiczów w takiej kwestii:
mam 4 programy i chciałbym się dowiedzieć jak można je połączyć (czy jest taka możliwosć) jakich komend/skryptów użyć.
Mówiąc wprost, po prostu jak mam to napisać, co i gdzie mam zrobić aby działało i spełniało swoją funkcję.
Z góry dzięki za zainteresowanie.
Poniżej zamieszczam te programy:
1. Zapis do pliku tekstowego
#include<stdio.h>
#include<conio.h>
int main()
{
FILE * out;
float pi = 3.1415;
int i = 100;
char znak = 'A';
if(( out = fopen( "plik tekstowy.txt", "wt" ) ) == NULL )
{
fprintf( stderr, "Nie mozna otworzyc pliku.\n" );
return 1;
}
fprintf( out, "\n Raport z programu\n\n" );
fprintf( out, "Wydruk zmiennej typu float pi = %6.4f \n", pi );
fprintf( out, "Wydruk zmiennej typu int i = %3i \n", i );
fprintf( out, "Wydruk zmiennej typu char znak = %c \n", znak );
fclose( out );
printf( "\nDane zostaly zapisane do pliku plik tekstowy.txt" );
getch();
return 0;
}
2. Odczyt z pliku tekstowego
#include<stdio.h>
#include<conio.h>
int main()
{
FILE * in;
char bufor[ 512 ];
if(( in = fopen( "plik tekstowy.txt", "rt" ) ) == NULL )
{
fprintf( stderr, "\nBlad otwarcia pliku dyskowego!\n" );
return 1;
}
printf( "\n zawartosc pliku: plik tekstowy.txt\n" );
while( feof( in ) == 0 )
{
fgets( bufor, 512, in );
printf( "%s", bufor );
}
fclose( in );
getch();
return 0;
}
3. Zapis do pliku binarnego
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
char imie[ 25 ];
char nazwisko[ 25 ];
int wiek;
} osoba;
int main()
{
FILE * plik;
int n, i;
osoba ludzie[ 100 ];
memset( ludzie, 0, sizeof( ludzie ) );
printf( "Zapisywanie rekordow do pliku\n\r" );
printf( "Ile rekordow chcesz zapisac ? :\n" );
scanf( "%i", & n );
if(( plik = fopen( "records.dat", "wb" ) ) == NULL )
{
printf( "Blad otwarcia pliku\n" );
return 1;
}
fseek( plik, 0L, SEEK_SET );
for( i = 1; i <= n; i++ )
{
printf( "\n Imie:" );
scanf( "%s", ludzie[ i ].imie );
printf( " Nazwisko:" );
scanf( "%s", ludzie[ i ].nazwisko );
printf( " Wiek:" );
scanf( "%i", & ludzie[ i ].wiek );
fwrite( & ludzie[ i ], sizeof( osoba ), 1, plik );
}
fclose( plik );
system( "pause" );
return 0;
}
4. Odczyt z pliku binarnego:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
char imie[ 25 ];
char nazwisko[ 25 ];
int wiek;
} osoba;
int main()
{
FILE * plik;
int n, licznik =- 1;
osoba ludzie[ 100 ];
printf( "\n\rProgram odczytuje liste rekordow z pliku records.dat\n\r" );
memset( ludzie, 0, sizeof( ludzie ) );
if(( plik = fopen( "records.dat", "rb" ) ) == NULL )
{
printf( "Blad otwarcia pliku\n" );
return 1;
}
fseek( plik, 0L, SEEK_SET );
while( 1 )
{
licznik++;
fread( & ludzie[ licznik ], sizeof( osoba ), 1, plik );
if( feof( plik ) ) break;
printf( "\n\r Nr rekordu:%i\n\r", licznik );
printf( " Imie: %s\n\r", ludzie[ licznik ].imie );
printf( " Nazwisko: %s\n\r", ludzie[ licznik ].nazwisko );
printf( " Wiek: %i\n\r", ludzie[ licznik ].wiek );
};
printf( "\n\rOdczytano %i rekord(y)ow\n\r", licznik );
fclose( plik );
system( "pause" );
return 0;
}