x-kom hosting

[C++] Podział programu na dwa pliki .cpp (w jednym funkcja main, drugi włąsne funkcje.

Los_Emilos
utworzono
utworzono

Szukając w internecie informacji w jaki sposób podzielić plik na kilka części (na razie na dwie) nie mogę dojść w jaki sposób mogę to wykonać. Czy mógłbym prosić o podanie przykładu na podstawie mojego kodu:

#include <iostream>
#include <stdio.h>

using namespace std;

struct baza
{
	char rodzaj[10];
	char numerip[15];
	char sprzet [10];
	char producent[10];
};

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

void wpisanie (int, baza[]);

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

void wypisanie_all (int ilosc, baza tablica[]);

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

void wypisanie_kon (int, baza[]);

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

int main ()
{
	int menuglowne;
	do 
	{
		printf ("Wybierz polecenie programu:\n1. Wpisanie urzadzenia do bazy.\n2. Wyswietlenie wszystkich urzadzen.\n3. Wyswietlenie konkretnego urzadzenia\n");
		int podmenu1;
		scanf("%d",&podmenu1);
		printf("Podaj ilosc urzadzen(nie wieksza niz 50):\n");
		int iloscurzadzen;
		baza tablica[50];
		do
		{
		scanf ("%d",&iloscurzadzen);
		if (iloscurzadzen>50)
			printf ("Podaj ilosc maksymalnie 50 urzadzen");
		}while (iloscurzadzen>50);
		switch (podmenu1)
		{
			case 1:
				{
					wpisanie (iloscurzadzen,tablica);
					break;
				}
			case 2:
				{
					wypisanie_all(iloscurzadzen,tablica);
					break;
				}
			case 3:
				{
					wypisanie_kon(iloscurzadzen,tablica);
					break;
				}
		}
		printf ("Czy chcesz dalej korzystac z programy?:\n1.TAK\n0.NIE\n");
		scanf ("%d",&menuglowne); //zakonczenie dzialania petli
	} while (menuglowne==1);
	return 0;
}

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

void wpisanie (int ilosc, baza tablica[])
{
	for (int i=0; i<ilosc ; i++)
	{
		printf("Podaj rodzaj urzadzenia wedlug schematu\nKOM=komputer\nKON=konsola\nTEL=telefon\nTAB=tablet\n");
		cin>>tablica[i].rodzaj;
		printf("Podaj numer IP urzadzenia\n");
		cin>>tablica[i].numerip;
		printf ("Podaj jakie dokladnie to urzadzenie, nazwa wlasna\n");
		cin>>tablica[i].sprzet;
		printf ("Podaj producenta\n");
		cin>>tablica[i].producent;
	}
}

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

void wypisanie_all (int ilosc, baza tablica[])
{
	for (int i=0; i<ilosc ; i++)
	{
		printf("Rodzaj urzadzenia wedlug schematu\nKOM=komputer\nKON=konsola\nTEL=telefon\nTAB=tablet:");
		cout<<tablica[i].rodzaj;
		puts;
		printf("Numer IP urzadzenia:");
		cout<<tablica[i].numerip;
		puts;
		printf ("Nazwa wlasna produktu:");
		cout<<tablica[i].sprzet;
		puts;
		printf ("Podaj producenta:");
		cout<<tablica[i].producent;
		puts;
	}
}

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

void wypisanie_kon (int ilosc, baza tablica[])
{
	printf("Rodzaj urzadzenia ktore chcesz znalesc,\nwedlug schematu\nKOM=komputer\nKON=konsola\nTEL=telefon\nTAB=tablet:");
	char typ[10];
	cin>>typ;
	bool potwierdzenie;
	for (int i=0; i<ilosc; i++)
	{
		if (tablica[i].rodzaj==typ)
		{
			printf("Rodzaj urzadzenia wedlug schematu\nKOM=komputer\nKON=konsola\nTEL=telefon\nTAB=tablet:");
			cout<<tablica[i].rodzaj;
			puts;
			printf("Numer IP urzadzenia:");
			cout<<tablica[i].numerip;
			puts;
			printf ("Nazwa wlasna produktu:");
			cout<<tablica[i].sprzet;
			puts;
			printf ("Podaj producenta:");
			cout<<tablica[i].producent;
			puts;
			potwierdzenie = 1;
		}
	}
	if (potwierdzenie == 0)
		printf ("Nie masz takiego urzadzenia");
}

Bądź ewentualnie jakiegokolwiek innego, byle by nie był skomplikowany.

leggo
komentarz
komentarz

Żeby przenieść część funkcji do osobnego pliku musisz dodać do projektu dwa pliki: plik nagłówkowy (*.hpp) oraz plik z kodem (*.cpp). W pliku nagłówkowym umieszczasz tylko deklaracje funkcji (i/lub struktur, klas, itd.), a w pliku cpp ich definicje.

Zarówno do pliku z główną funkcją programu jak i do stworzonego pliku źródłowego musisz dodać plik nagłówkowy poleceniem [i]#include "nazwa.hpp"[/i].

 

To jak dodać w/w pliki do projektu zależy bezpośrednio od kompilatora. Zazwyczaj wybierasz opcje utwórz nowy pusty plik i zaznaczasz by dołączyć go do aktualnego projektu.

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.