WEiTI M3 - 2007

  • Nie jesteś zalogowany.
  • Polecamy: Komputery

#1 2007-05-23 23:12:45

Yordan

Nowicjusz

8685760
Zarejestrowany: 2007-04-18
Posty: 46
Punktów :   -1 

PROJEKT II - Łysol

Może na coś komu się przydadzą jeszcze funkcje wczytujące z pliku i doń zapisujące:

Kod:

void read(struct plyta *in,int *i){  
    FILE *plik;
    char temp[30];
    int k=1;
    if((plik=fopen("dane.txt","r"))==NULL) printf("\nNie mozna otworzyc pliku\n\nKontynuuj:\n");
    else {
    (*i)++;
    while(fgets(temp,sizeof(temp),plik)!=NULL)
    {
                                             
      in[*i].numer = *i;
      if(temp[strlen(temp)-1]=='\n') temp[strlen(temp)-1]='\0';
      if (k>4) 
      {
          k=1;
          (*i)++; 
      }
      switch(k++)
      {
      case 1: strcpy(in[*i].autor,temp);
      case 2: strcpy(in[*i].tytul,temp);
      case 3: strcpy(in[*i].typ,temp);
      case 4: strcpy(in[*i].uw,temp);
      }
    }
    printf("\nDane zostaly wczytane pomyslnie.\n\nKontynuuj:\n");
    }
    fclose(plik);
}

void save(struct plyta *in,int i){ 
    int k=1;
    FILE *plik;
    plik=fopen("dane.txt","w"); 
    while (k<=i) {      
          fprintf (plik,"%s\n", in[k].autor);
          fprintf (plik,"%s\n", in[k].tytul);
          fprintf (plik,"%s\n", in[k].typ);
          fprintf (plik,"%s\n", in[k].uw);
          k++;
          }
    printf("\nDane zostaly zapisane.\n\n");
    fclose(plik);
}

Offline

 

#2 2007-05-24 22:17:09

p@weł

Osesek

2233545
Skąd: Płock Podolszyce/Wwa Ochota
Zarejestrowany: 2007-03-29
Posty: 38
Punktów :   
WWW

Re: PROJEKT II - Łysol

Kod:

      *******      ****   ****
    *    **   *     ***    ** OTATNIK        
   *     ***   *    ** *   ** 
   *       *   *    **  *  **  *********        
   *     ***   *    **   * **  *  ***  *
    *    **   *     **    ***      * 
      *******      ****    **      *  ELEFONICZNY
                                  ***
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  WYSWIETLANIE INFORMACJI: 
    [a]  Wyswietl wpisy   
    [b]  Szukaj         
  DODAJ/USUN WPISY:
    [c]  Dodaj wpis          
    [d]  Usun wpis
    [e]  Usun wszystko 
  BAZA DANYCH:
    [f]  Zapisz zmiany w bazie danych               
    [g]  Zaladuj ponownie baze danych                
  SORTOWANIE:
    [h]  Sortowanie wg personalii             
    [i]  Sortowanie wg miejscowosci
    [j]  Sortowanie wg nr. telefonu
    [k]  Sortowanie wg adresu email
  INNE:
    [l]  Informacje o programie
    [m]  Wyjscie                            
   Twoj wybor:

Moj programik hehe tzn jego efekt na ekranie dziala bez zarzutow:D

Kod źródłowy :

Kod:

/* * * * * * * * * * * * * Pliki  naglowkowe * * * * * * * * * * * * */



#include <stdio.h>    /* Standardowe funkcje wejscia/wyjscia */

#include <string.h>   /* Funkcje przetwarzania tekstu */

#include <stdlib.h>   /* Makrodefinicje EXIT_SUCCESS i EXIT_FAILURE,
                         funkcja system */

#include <ctype.h>    /* toupper */







/* * * * * * * * * Makrodefinicje i definicje struktur * * * * * * * */




#define MAX   30   /* Maksymalna liczba wpisow w bazie danych  */

#define INPUT 4    /* Maksymalna dlugosc wprowadzanego indeksu */

#define FALSE 0

#define TRUE  1




typedef short int BOOL;   /* Definicja relacji  */



typedef struct        /* Definicja typu strukturalnego telefony   */

{

	char personalia[50];    /* Nazwisko i imie, firma lub pseudonim */

	char adres[50];         /* Miejscowosc                          */

	char telefon[20];       /* Numer telefonu                       */
	char email[30];       /* Email                       */

} telefony;



/* * * * * * * * * * * * * Prototypy funkcji * * * * * * * * * * * * */



void /*inline*/ wyczysc_ekran(void); /* Czysci ekran monitora        */

void /*inline*/ potwierdzenie(void); /* Wyswietla komunikat koncowy  */

int wszystkie_wpisy(void);   /* Listuje wszystkie wpisy w bazie      */

int dane_osoby(void);        /* Prezentuje dany wpis                 */

int szukaj_wpisu(void);      /* Przeszukuje baze                     */

int dodaj_wpis(void);        /* Dodaje nowy wpis                     */

int usun_wpis(void);         /* Usuwa wpis                           */
int usun_wszystko(void);     /* Usuwa wszystkie wpisy                */

int zachowaj_baze(void);     /* Zapisuje baze danych do pliku        */

int wczytaj_baze(void);       /* Laduje baze z pliku do pamieci       */

void sortuj_imie(void);       /* Sortuje baze wg pola personalia      */

void sortuj_miasto(void);       /* Sortuje baze wg pola adres     */
void sortuj_telefon(void);    /* Sortowanie wg pola telefon     */

void sortuj_email(void);     /* Sortowanie wg pola email */
void info(void);       /* Informacje o programie*/



/* * * * * * * * * * * * * Zmienne  globalne * * * * * * * * * * * * */



telefony baza[MAX];   /* Zmienna strukturalna baza */

int numer = 0;        /* Licznik wszystkich wpisow */



/* * * * * * * * * * * * * F u n k c j e * * * * * * * * * * * * * * */



void /*inline*/ wyczysc_ekran(void)

{

	system("clear");
	printf(     "      *******      ****   ****\n"
                            "    *    **   *     ***    ** OTATNIK        \n"    
                            "   *     ***   *    ** *   ** \n"
                            "   *       *   *    **  *  **  *********        \n" 
                            "   *     ***   *    **   * **  *  ***  *\n"
                            "    *    **   *     **    ***      * \n"
			    "      *******      ****    **      *  ELEFONICZNY\n"
                            "                                  ***\n"
                            " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n  ");

}



void /*inline*/ potwierdzenie(void)

{

	getchar();
	printf("\n   Nacisnij dowolny klawisz aby kontynuowac...\n");

	getchar();



}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Glowna funkcja int main(void)                           *

 *                                                         *

 * zadania: wyswietlanie glownego menu programu;           *

 *          wywolywanie odpowiednich funkcji -             *

 *          modulow programu.                              *

 *                                                         *

 *                                                         *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int main(void)

{

char wybor;
		wyczysc_ekran();

		wczytaj_baze();



	do  /* Petla do-while musi wykonac sie przynajmniej raz */

	{

		/* Menu glowne programu */

		

		wyczysc_ekran();		
		printf(    "WYSWIETLANIE INFORMACJI: \n"
			   "    [a]  Wyswietl wpisy   \n"

			   "    [b]  Szukaj         \n"
			   "  DODAJ/USUN WPISY:\n"

			   "    [c]  Dodaj wpis          \n"

			   "    [d]  Usun wpis\n"
			   "    [e]  Usun wszystko \n"
			   "  BAZA DANYCH:\n"

			   "    [f]  Zapisz zmiany w bazie danych               	\n"

			   "    [g]  Zaladuj ponownie baze danych                \n"
			   "  SORTOWANIE:\n"

			   "    [h]  Sortowanie wg personalii             \n"
			   "    [i]  Sortowanie wg miejscowosci\n"
			   "    [j]  Sortowanie wg nr. telefonu\n"
			   "    [k]  Sortowanie wg adresu email\n"
			   "  INNE:\n"
			   "    [l]  Informacje o programie\n"

			   "    [m]  Wyjscie                            \n");



		/* Pobierz dane od uzytkownika */

		printf("   Twoj wybor: ");

		wybor = getchar();

		wyczysc_ekran();



		/* Wywolanie funkcji w zaleznosci od wyboru uzytkownika */

		switch (wybor)

		{

			case 'a' : wszystkie_wpisy();

				break;

			case 'b' : szukaj_wpisu();

				break;

			case 'c' : dodaj_wpis();

				break;

			case 'd' : usun_wpis();

				break;

			case 'e' : usun_wszystko();

				break;

			case 'f' : zachowaj_baze();

				break;

			case 'g' : wczytaj_baze();

				break;

			case 'h' : sortuj_imie();

				break;

			case 'i' : sortuj_miasto();

				break;
			case 'j' : sortuj_telefon();

				break;

			case 'k' : sortuj_email();

				break;

			case 'l' : info();

				break;

			case 'm' :

				break;

			default :

			{

				printf("\n   Nie ma takiej opcji! \n");

				potwierdzenie();

			}

				break;

		}

	} while (wybor != 'm');



	printf("\n   ZAMYKANIE PROGRAMU \n");

	potwierdzenie();
	system("clear");


}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int wszystkie_wpisy(void)                           *

 *                                                             *

 * zadania: wyswietlanie wszystkich wpisow w bazie             *

 *                                                             *

 * argumenty przekazywane: brak                                *

 *                                                             *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int wszystkie_wpisy(void)

{

int i;      /* Zmienna pomocnicza - indeks petli */



	printf("\n   WYKAZ WSZYSTKICH WPISOW \n");



	if (numer == 0)    /* Nie ma zadnego wpisu! */

	{

		printf("\n   Baza danych jest pusta"

			   " lub nie zostala zaladowana z pliku! \n");

	}



	/* Wyswietl wszystkie osoby wraz z numerami ich indeksow */

	else 
	{
	for (i = 0; i < numer; i++)

	{
		printf("%d  Nazwisko i imie:  %s",i+1, baza[i].personalia);

		printf("   Miejscowosc:      %s", baza[i].adres);

		printf("   Telefon:          %s", baza[i].telefon);
		printf("   e-mail:           %s\n", baza[i].email);



		/* Zatrzymaj program po zapelnieniu ekranu */

		if ((i + 1)%10 == 0)

		{

			potwierdzenie();

			wyczysc_ekran();

		}

	}

	printf("\n   Koniec danych \n");
	}

	potwierdzenie();

}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int szukaj_wpisu(void)                            *

 *                                                           *

 * zadania: wyszukanie informacje w bazie -                  *

 *          podanego nazwiska lub miejscowosci               *

 *                                                           *

 * argumenty przekazywane: brak                              *
 *                                                           *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int szukaj_wpisu(void)

{

char szukana[30];      /* Szukane nazwisko lub miejscowosc */

int index, k = 0;      /* Zmienne pomocnicze               */



	printf("\n   WYSZUKIWANIE INFORMACJI W BAZIE \n");

	getchar();

	printf("\n   Wprowadz nazwisko lub miejscowosc do wyszukania: ");

	gets(szukana);

	wyczysc_ekran();

	for (index = 0; index < numer; index++)

	{

		/* Wyswietlanie informacji o wyszukanych wpisach */

		if (strstr(baza[index].personalia, szukana)

			|| strstr(baza[index].adres, szukana))

		{

			printf("\n   Nazwisko i imie:  %s", baza[index].personalia);

			printf("\n   Miejscowosc:      %s", baza[index].adres);

			printf("\n   Telefon:          %s", baza[index].telefon);
		        printf("\n   Email:            %s\n", baza[index].email);

			printf("\n  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

			k++;

			/* Zatrzymaj program po zapelnieniu ekranu */

			if (k%3 == 0)

			{

				potwierdzenie();

				wyczysc_ekran();

			}

		}

	}

	if (k == 0)  /* Brak rezultatow! */

	{

		printf("\n   Nie znaleziono zadnego wpisu! \n");

		potwierdzenie();


	}



	printf("\n   To wszystkie wpisy jakie znaleziono! \n");

	potwierdzenie();


}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int dodaj_wpis(void)                              *

 *                                                           *

 * zadania: dodawanie nowego wpisu do bazy danych            *

 *                                                           *

 * argumenty przekazywane: brak                              *

 *                                                           *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int dodaj_wpis(void)

{


	printf("\n   DODAWANIE WPISU DO BAZY DANYCH \n");

	getchar();

	if (numer >= MAX)          /* Baza danych jest pelna! */

	{

		printf("\n   Baza danych jest pelna! \n");

		potwierdzenie();

	}



	/* Pobierz od uzytkownika wszystkie informacje o osobie */

	/* Sprawdz czy wpisy nie sa za dlugie */

	do

	{

		printf("\n   Nazwisko i imie:  ");

		gets(baza[numer].personalia);

		if (strlen(baza[numer].personalia) > 48)

			printf("\n   Mozna wpisac maksymalnie 48 znakow! \n");

	} while (strlen(baza[numer].personalia) > 48);



	do

	{

		printf("\n   Miejscowosc:      ");

		gets(baza[numer].adres);

		if (strlen(baza[numer].adres) > 48)

			printf("\n   Mozna wpisac maksymalnie 48 znakow! \n");

	} while (strlen(baza[numer].adres) > 48);



	do

	{

		printf("\n   Telefon:          ");

		gets(baza[numer].telefon);

		if (strlen(baza[numer].telefon) > 18)

			printf("\n   Mozna wpisac maksymalnie 18 znakow! \n");

	} while (strlen(baza[numer].telefon) > 18);

	do

	{

		printf("\n   Email:          ");

		gets(baza[numer].email);

		if (strlen(baza[numer].email) > 35)

			printf("\n   Mozna wpisac maksymalnie 35 znakow! \n");

	} while (strlen(baza[numer].email) > 35);



	/* Nic nie wpisano w polu Nazwisko i imie lub Telefon */

	if ((strlen(baza[numer].telefon) == 0)

		|| (strlen(baza[numer].personalia) == 0))

	{

		printf("\n   Wpis nie zostal dodany do bazy danych!"

			   "\n   Musi zostac podane nazwisko i numer telefonu! \n");

		potwierdzenie();

	}



	/* Do kazdego pola dodaj znacznik konca lini */

	else
	{	
	strcat(baza[numer].personalia, "\n");

	strcat(baza[numer].adres, "\n");

	strcat(baza[numer].telefon, "\n");
	strcat(baza[numer].email, "\n");




	numer++;	/* Zwieksz liczbe wpisow o jeden */

	printf("\n   Wpis zostal dodany do bazy danych! \n");
	}

	potwierdzenie();

}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int usun_wpis(void)                               *

 *                                                           *

 * zadania: usuwanie wpisu z bazy danych                     *

 *                                                           *

 * argumenty przekazywane: brak                              *

 *                                                           *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int usun_wpis(void)

{

char wpis[INPUT];		/* Tekst wpisany przez uzytkownika */

int kasuj_nr;			/* Wpis do usuniecia               */



	printf("\n   USUWANIE WPISU Z BAZY \n");

	getchar();

	printf("\n   Podaj indeks wpisu do usuniecia: ");

	kasuj_nr = atoi(gets(wpis));	/* Konwersja typu danych */



	/* Nie ma takiego wpisu! */

	if ((kasuj_nr < 1) || (kasuj_nr > numer))

	{

		printf("\n   Nie ma w bazie wpisu o takim indeksie! \n");

		potwierdzenie();

	}

	
	else
	{

	/* Usuwanie - przeindeksowanie bazy */

	while ((kasuj_nr - 1) < numer)

	{

		baza[kasuj_nr - 1] = baza[kasuj_nr];

		kasuj_nr++;

	}



	numer--;

	printf("\n   Wpis zostal usuniety \n");
	}

	potwierdzenie();

}

int usun_wszystko(void)

{

int wpis;		/* Tekst wpisany przez uzytkownika */

int kasuj_nr;			/* Wpis do usuniecia               */



	printf("\n   USUWANIE WSZYSTKICH WPISOW Z BAZY \n");	
	getchar();
	wpis = numer;
	kasuj_nr = wpis;


	while (numer>0)
	{

	while ((kasuj_nr - 1) < numer)

	{

		baza[kasuj_nr - 1] = baza[kasuj_nr];

		kasuj_nr++;

	}



	numer--;

	printf("\n   Wpis zostal usuniety \n");
	}

	potwierdzenie();

}




/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int zachowaj_baze(void)                         *

 *                                                         *

 * zadania: zapisywanie bazy danych do pliku telefony.dbs  *

 *                                                         *

 * argumenty przekazywane: brak                            *

 *                                                         *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int zachowaj_baze(void)

{

FILE *PlikBazy;    /* Wskaznik do pliku bazy */

int i;             /* Zmienna pomocnicza     */

char znak;



	printf("\n   ZAPISYWANIE DANYCH DO PLIKU telefony.txt \n");

	getchar();


	printf("\n   Jestes pewien? [T]ak/[N]ie  ");

	znak = getchar();

	

	if (toupper(znak) != 'T')

	{

		printf("\n   Baza danych nie zostala zapisana \n");

		potwierdzenie();

	}

        else
	{	

	PlikBazy = fopen("telefony.txt", "w" );	/* Otworz do pisania */

        

	/* Nie mozna otworzyc pliku telefony.dbs! */

	if (PlikBazy == NULL)

	{

		printf("\n   Nie mozna otworzyc pliku bazy danych! \n");

		potwierdzenie();

	}

	

	/* Zapisz aktualna liczbe osob w bazie */

	fprintf(PlikBazy, "%d\n", numer);



	/* Zachowaj reszte danych */

	for (i = 0; i < numer; i++)

	{

		fputs(baza[i].personalia, PlikBazy);

		fputs(baza[i].adres, PlikBazy);

		fputs(baza[i].telefon, PlikBazy);
		fputs(baza[i].email, PlikBazy);

	}



	printf("\n   Baza danych zostala zachowana! \n");
	}

	potwierdzenie();

}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja int wczytaj_baze(void)                          *

 *                                                         *

 * zadania: wczytywanie bazy danych z pliku telefony.dbs   *

 *                                                         *

 * argumenty przekazywane: brak                            *

 *                                                         *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



int wczytaj_baze(void)

{

FILE *PlikBazy;    /* Wskaznik do pliku bazy */

int i;             /* Zmienna pomocnicza     */



	printf("\n   WCZYTYWANIE DANYCH Z PLIKU telefony.txt \n");



	/* Otworz plik tylko do odczytu */

	PlikBazy = fopen("telefony.txt", "r");



	/* Nie mozna otworzyc pliku telefony.dbs!*/

	if (PlikBazy == NULL)

	{

		printf("\n   Nie mozna otworzy pliku bazy danych! \n");

		potwierdzenie();

	}



	/* Czytaj z pliku aktualna liczbe wpisow w bazie */

	fscanf(PlikBazy, "%d\n", &numer);

	if (numer > MAX)

	{

		printf("\n   W bazie danych jest za duzo wpisow! \n");

		potwierdzenie();

	}

	

	/* Czytaj reszte danych z pliku */

	for (i = 0; i < numer; i++)

	{

		fgets(baza[i].personalia, 50, PlikBazy);

		fgets(baza[i].adres, 50, PlikBazy);

		fgets(baza[i].telefon, 20, PlikBazy);
		fgets(baza[i].email, 35, PlikBazy);

	}



	printf("\n   Baza danych zostala zaladowana! \n");

	potwierdzenie();

}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcje  void sortuj_xxxxx(void)                          *

 *                                                         *

 * zadania: Sortowanie babelkowe pol                       *

 *          personalia z tablicy baza                      *

 *                                                         *

 * argumenty przekazywane: brak                            *

 *                                                         *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



void sortuj_imie(void)

{

char temp[50];

BOOL chaos = TRUE;

int i;



	printf("\n   SORTOWANIE BAZY DANYCH \n");



	while (chaos != FALSE)

	{

		chaos = FALSE;

		for (i = 0; i < (numer - 1); i++)

		{

			if (strcmp(baza[i].personalia, baza[i+1].personalia) == TRUE)

			{

				/* Personalia */

				strcpy(temp, baza[i].personalia);

				strcpy(baza[i].personalia, baza[i+1].personalia);

				strcpy(baza[i+1].personalia, temp);

				/* Adres */

				strcpy(temp, baza[i].adres);

				strcpy(baza[i].adres, baza[i+1].adres);

				strcpy(baza[i+1].adres, temp);

				/* Telefon */

				strcpy(temp, baza[i].telefon);

				strcpy(baza[i].telefon, baza[i+1].telefon);

				strcpy(baza[i+1].telefon, temp);
				/* Email */

				strcpy(temp, baza[i].email);

				strcpy(baza[i].email, baza[i+1].email);

				strcpy(baza[i+1].email, temp);



				chaos = TRUE;

			}

		}

	}

	printf("\n   Baza danych zostala posortowana! \n");

	potwierdzenie();

}




void sortuj_miasto(void)

{

char temp[50];

BOOL chaos = TRUE;

int i;



	printf("\n   SORTOWANIE BAZY DANYCH \n");



	while (chaos != FALSE)

	{

		chaos = FALSE;

		for (i = 0; i < (numer - 1); i++)

		{

			if (strcmp(baza[i].adres, baza[i+1].adres) == TRUE)

			{

				/* Personalia */

				strcpy(temp, baza[i].personalia);

				strcpy(baza[i].personalia, baza[i+1].personalia);

				strcpy(baza[i+1].personalia, temp);

				/* Adres */

				strcpy(temp, baza[i].adres);

				strcpy(baza[i].adres, baza[i+1].adres);

				strcpy(baza[i+1].adres, temp);

				/* Telefon */

				strcpy(temp, baza[i].telefon);

				strcpy(baza[i].telefon, baza[i+1].telefon);

				strcpy(baza[i+1].telefon, temp);
				/* Email */

				strcpy(temp, baza[i].email);

				strcpy(baza[i].email, baza[i+1].email);

				strcpy(baza[i+1].email, temp);





				chaos = TRUE;

			}

		}

	}

	printf("\n   Baza danych zostala posortowana! \n");

	potwierdzenie();

}



void sortuj_telefon(void)

{

char temp[50];

BOOL chaos = TRUE;

int i;



	printf("\n   SORTOWANIE BAZY DANYCH \n");



	while (chaos != FALSE)

	{

		chaos = FALSE;

		for (i = 0; i < (numer - 1); i++)

		{

			if (strcmp(baza[i].telefon, baza[i+1].telefon) == TRUE)

			{

				/* Personalia */

				strcpy(temp, baza[i].personalia);

				strcpy(baza[i].personalia, baza[i+1].personalia);

				strcpy(baza[i+1].personalia, temp);

				/* Adres */

				strcpy(temp, baza[i].adres);

				strcpy(baza[i].adres, baza[i+1].adres);

				strcpy(baza[i+1].adres, temp);

				/* Telefon */

				strcpy(temp, baza[i].telefon);

				strcpy(baza[i].telefon, baza[i+1].telefon);

				strcpy(baza[i+1].telefon, temp);
				/* Email */

				strcpy(temp, baza[i].email);

				strcpy(baza[i].email, baza[i+1].email);

				strcpy(baza[i+1].email, temp);





				chaos = TRUE;

			}

		}

	}

	printf("\n   Baza danych zostala posortowana! \n");

	potwierdzenie();

}

void sortuj_email(void)

{

char temp[50];

BOOL chaos = TRUE;

int i;



	printf("\n   SORTOWANIE BAZY DANYCH \n");



	while (chaos != FALSE)

	{

		chaos = FALSE;

		for (i = 0; i < (numer - 1); i++)

		{

			if (strcmp(baza[i].email, baza[i+1].email) == TRUE)

			{

				/* Personalia */

				strcpy(temp, baza[i].personalia);

				strcpy(baza[i].personalia, baza[i+1].personalia);

				strcpy(baza[i+1].personalia, temp);

				/* Adres */

				strcpy(temp, baza[i].adres);

				strcpy(baza[i].adres, baza[i+1].adres);

				strcpy(baza[i+1].adres, temp);

				/* Telefon */

				strcpy(temp, baza[i].telefon);

				strcpy(baza[i].telefon, baza[i+1].telefon);

				strcpy(baza[i+1].telefon, temp);
				/* Email */

				strcpy(temp, baza[i].email);

				strcpy(baza[i].email, baza[i+1].email);

				strcpy(baza[i+1].email, temp);





				chaos = TRUE;

			}

		}

	}

	printf("\n   Baza danych zostala posortowana! \n");

	potwierdzenie();

}




/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

 * Funkcja void info(void)                                 *

 *                                                         *

 * zadania: prezentowanie informacji o programie           *

 *                                                         *

 * argumenty przekazywane: brak                            *

 *                                                         *

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */



void info(void)

{

	printf("\n   INFORMACJE O PROGRAMIE \n");



	printf("\nNotatnik Telefoniczy:"

		   "\n   Podstawy Programowania (PRM) - projekt 2"

		   "\n             Program umozliwia wprowadzanie, usuwanie,"

		   "\n             wyszukiwanie, sortowanie oraz przechowywanie"

		   "\n             w pliku danych o numerach telefonicznych\n\n");





	potwierdzenie();

}

NALEZY JESZCZE DODAĆ PLIK telefony.txt (pusty) ))


Wasza nienawiść umacnia naszą wiarę
HOOLIGANS
Aby zostać kimś,najpierw musisz pozostać sobą

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.magiawyobrazni.pun.pl www.rawsmackdown.pun.pl www.dragonslayers.pun.pl www.trojporozumienie.pun.pl www.g3wclan.pun.pl