program classy- wyswietlanie

program classy- wyswietlanie
0

Witam mam problem o tuz zatrzymalem sie i nie wiem jak ruszyc dalej . ponizej wklejam link zadania i moj kod czy byl by ktos tak mily i podpowiedzial / napisal troszke kodu aby mogło mnie to nakierowac
user image

Kopiuj
 #include <iostream>										//biblioteka zawierajaca strumienie wejscia wyjscia: cout, cin
#include <cstring>										//biblioteka do operacji na lancuchach znakow np. strcpy()
#include <fstream>										//biblioteka zawierajaca funkcje do operacji na plikach
using namespace std;									//ustawia przestrzen nazw na std

class Roslina{											//class: slowo kluczowe tworzace nowa klase
	private:											//modyfikator dostepu private: dostep wylacznie z wnetrza klasy
		//deklaracje skladowych klasy Roslina
		int ID;
		char nazwa[20];
		char typ[15];
		int cena;									
	public:												//modyfikator dostepu public: dostep z dowolnego miejsca w programie
		//dwa konstruktory klasy Roslina
		Roslina(){										//konstruktor bezargumentowy. nadaje domyslne wartosci skladowym 
			ID = 0;
            strcpy(this->nazwa, "");		//(konstruktor ma nazwe taka sama co nazwa klasy, wywolywany jest podczas tworzenia obiektu danej klasy)							
			strcpy(this->typ, "");						//strcpy(): funkcja kopiujaca lancuch znakow				
		    cena = 0;								
		}
		Roslina(int ID, char nazwa[], char typ[], int cena){	//konstruktor 4 argumentowy, do tworzenia obiektu o okreslonych wartosciach pol
			           	//dzieki Przeciazaniu mozliwe jest deklarowanie funkcji o takich samych nazwach
			this->ID = ID;
			strcpy(this->nazwa, nazwa);
			strcpy(this->typ, typ);
			this->cena = cena;																	
		}
		//metody ustawiajace wartosci dla skladowych
		void setID(int ID){
			this->ID = ID;		
		}
	         
		void setNazwa(char nazwa[]){
			strcpy(this->nazwa, nazwa);
		}
		void setTyp(char typ[]){
			strcpy(this->typ, typ);
		}

		void setCena(int cena){
			cena = cena;
		}
		//metody zwracajace wartosci skladowych
		int getID(){
			return ID;
		}
		char* getNazwa(){
			return nazwa;
		}
		char* getTyp(){
			return typ;
		}
		int getCena(){
			return cena;
		}
		
};															

class Uprawa{
	private:												
		//deklaracje skladowych klasy Uprawa
		int ID;
	    char roslina[20];
		char farmer[30];
		int powierzchnia;
	public:
		//dwa konstruktory klasy Uprawa
		Uprawa(){
			ID = 0;
			strcpy(this->roslina, "");
			strcpy(this->farmer, "");
			powierzchnia = 0;
		}
		Uprawa(int ID, char roslina[], char farmer[], int powierzchnia){
			this->ID = ID;
			strcpy(this->roslina, roslina);
			strcpy(this->farmer, farmer);
			this->powierzchnia = powierzchnia;
			
		}
		//deklaracje metod klasy Osoba
		void setID(int ID){
			this->ID, ID; 
		}
		void setroslina(char roslina[]){
			strcpy(this->roslina, roslina);
		}
		void setfarmer(char farmer[]){
			strcpy(this->farmer, farmer);
		}
		void setPowierzchnia(int powierzchnia){
			this->powierzchnia, powierzchnia;
		}
		int getID(){
            return ID;
        }
		char* getroslina(){
			return roslina;
		}
		char* getfarmer(){
			return adres;
		}
		int getPowierzchnia(){
			return powierzchnia;
		}
};
class Farmer{
	private:												
		//deklaracje skladowych klasy Uprawa
		int ID;
	    char farmer[20];
		char farma[30];
	public:
		//dwa konstruktory klasy Uprawa
		Uprawa(){
			ID = 0;
			strcpy(this->farmer, "");
			strcpy(this->farma, "");
	
		}
		Uprawa(int ID, char farmer[], char farma[]){
			this->ID = ID;
			strcpy(this->farmer, farmer);
			strcpy(this->farma, farma);
		
			
		}
		//deklaracje metod klasy Osoba
		void setID(int ID){
			this->ID, ID; 
		}
		void setfarmer(char farmer[]){
			strcpy(this->farmer, farmer);
		}
		void setfarma(char farma[]){
			strcpy(this->farma, farma);
		
		}
		int getID(){
            return ID;
        }
		char* getfarmer(){
			return farmer;
		}
		char* getfarma{
			return farma;
		}
		


void dodajRosline();
void dodajFarmera										/**/
void dodajUprawe();									//prototypy funkcji operujacych na danych								//
void wyswietlListeRoslin();								//
void wyswietlListeUpraw();							//
void podpunkt3();                                       /**/


int main(int argc, char *argv[]) {
	int wybor;										//zmienna w ktorej zapisuje indeks opcji wybranej przez uzytkownika
	bool wyjdz=true;
	while(wyjdz){								//petla wykonuje sie dopoki zmienna wyjdz ma wartosc true dzieki czemu mozemy wielokrotnie wybierac opcje w naszym programie 
		cout<<"---Menu---\n";				// znacznik \n oznacza przejscie do nowego wiersza w konsoli
		cout<<"1. Dodaj Rosline.\n";
		cout<<"2. Dodaj Farmera.\n";
		cout<<"3. Dodaj Uprawe.\n";
		cout<<"4. Wyswietl liste upraw.\n";
		cout<<"5. Wyswietl Całkowity koszt zasiania roslin poniesionego przez wskazanego farmea.\n";
		cout<<"6. Wyjdz z programu.\n";
		cin>>wybor;							//pobieram indeks opcji ktora chce wybrac uzytkownik
		switch(wybor){						//konstrukcja switch-case pozawala na wybor odpowiedniej opcji w zaleznosci od wartosci zmiennej wybor
			case 1: {
				dodajRosline();
				break;
			}
			case 2:{
				dodajFarmera();
				break;
			}
			case 3:{
				Dodaj Uprawe();
				break;
			}
			case 4:{
				wyswietlListeUpraw();
				break;
			}
		    case 5:{
				podpunkt3();
				break;
			}
			case 6:{
				wyjdz=false;					//ustawiam zmienna wyjdz na false aby wyjsc z petli i zakonczyc program
				break;
			}
			default:{							//wartosc domyslna, jezeli uzytkownik wybierze inna wartosc niz przy case'ach
				cout<<"\nPodano nieprawidlowa wartosc!\n\n";
				break;
			}
		}
	}
	
	return 0;
}
0

http://postimg.org/image/ewz0umdwx/ - tresc zadania z poprzedniako posta sie nie upl wiec dodaje i przepraszam za spam ;<

n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
1

Nie mam pojecia jakie jest zadanie, ale... wyrzuc ta proteze obiektowosci i napisz to z sensem, tj:
#Wywal wszystkie wystapienia switch getBlaBlaBla setBlaBlaBla
#Wywal wszystkie funkcje wiszace luzem poza main
#Wywal wszystkie funkcje zaczynajace sie od str
#Poczytaj w dokumentacji: <string>

Edit: O, jest zadanie:
#http://en.cppreference.com/w/cpp/language/operators, operatory << i >>.
#<vector> <list>, whatever + copy
#accumulate, max

edytowany 1x, ostatnio: n0name_l
0

napisalem cos takiego

Kopiuj
 #include <iostream>										//biblioteka zawierajaca strumienie wejscia wyjscia: cout, cin
#include <cstring>										//biblioteka do operacji na lancuchach znakow np. strcpy()
#include <fstream>										//biblioteka zawierajaca funkcje do operacji na plikach
using namespace std;									//ustawia przestrzen nazw na std

class Roslina{											//class: slowo kluczowe tworzace nowa klase
	private:											//modyfikator dostepu private: dostep wylacznie z wnetrza klasy
		//deklaracje skladowych klasy Roslina
		int ID_roslina;
		char nazwa[20];
		int cena;									
	public:												//modyfikator dostepu public: dostep z dowolnego miejsca w programie
		//dwa konstruktory klasy Roslina
		Roslina(){										//konstruktor bezargumentowy. nadaje domyslne wartosci skladowym 
			ID_roslina = 0;
            strcpy(this->nazwa, "");		//(konstruktor ma nazwe taka sama co nazwa klasy, wywolywany jest podczas tworzenia obiektu danej klasy)												//strcpy(): funkcja kopiujaca lancuch znakow				
		    cena = 0;								
		}
		Roslina(int ID_roslina, char nazwa[], , int cena){	//konstruktor 4 argumentowy, do tworzenia obiektu o okreslonych wartosciach pol
			           	//dzieki Przeciazaniu mozliwe jest deklarowanie funkcji o takich samych nazwach
			this->ID_roslina = ID_roslina;
			strcpy(this->nazwa, nazwa);
			this->cena = cena;																	
		}
		//metody ustawiajace wartosci dla skladowych
		void setID_roslina(int ID_roslina){
			this->ID_roslina = ID_roslina;		
		}
	         
		void setNazwa(char nazwa[]){
			strcpy(this->nazwa, nazwa);
		
		}

		void setCena(int cena){
			cena = cena;
		}
		//metody zwracajace wartosci skladowych
		int getID_roslina(){
			return ID_roslina;
		}
		char* getNazwa(){
			return nazwa;
		}
		
		int getCena(){
			return cena;
		}
		
};															

class Uprawa{
	private:												
		//deklaracje skladowych klasy Uprawa
		int ID_uprawa;
	    char roslina[20];
		char farmer[30];
		int powierzchnia;
	public:
		//dwa konstruktory klasy Uprawa
		Uprawa(){
			ID_uprawa = 0;
			strcpy(this->roslina, "");
			strcpy(this->farmer, "");
			powierzchnia = 0;
		}
		Uprawa(int ID_uprawa, char roslina[], char farmer[], int powierzchnia){
			this->ID_uprawa = ID_urpawa;
			strcpy(this->roslina, roslina);
			strcpy(this->farmer, farmer);
			this->powierzchnia = powierzchnia;
			
		}
		//deklaracje metod klasy Osoba
		void setID_uprawa(int ID_uprawa){
			this->ID_uprawa, ID_uprawa; 
		}
		void setroslina(char roslina[]){
			strcpy(this->roslina, roslina);
		}
		void setfarmer(char farmer[]){
			strcpy(this->farmer, farmer);
		}
		void setPowierzchnia(int powierzchnia){
			this->powierzchnia, powierzchnia;
		}
		int getID_uprawa(){
            return ID_uprawa;
        }
		char* getroslina(){
			return roslina;
		}
		char* getfarmer(){
			return adres;
		}
		int getPowierzchnia(){
			return powierzchnia;
		}
};
class Farmer{
	private:												
		//deklaracje skladowych klasy Uprawa
		int ID_farmera;
	    char farmer[20];
		char farma[30];
	public:
		//dwa konstruktory klasy Uprawa
		Farmer(){
			ID_farmera = 0;
			strcpy(this->farmer, "");
			strcpy(this->farma, "");
	
		}
		Uprawa(int ID_farmera, char farmer[], char farma[]){
			this->ID_farmera = ID_farmera;
			strcpy(this->farmer, farmer);
			strcpy(this->farma, farma);
		
			
		}
		//deklaracje metod klasy Osoba
		void setID_farmera(int ID_farmera){
			this->ID_farmera, ID_farmera; 
		}
		void setfarmer(char farmer[]){
			strcpy(this->farmer, farmer);
		}
		void setfarma(char farma[]){
			strcpy(this->farma, farma);
		
		}
		int getID_farmera(){
            return ID_farmera;
        }
		char* getfarmer(){
			return farmer;
		}
		char* getfarma{
			return farma;
		}
		


void dodajRosline();
void dodajFarmera										/**/
void dodajUprawe();									//prototypy funkcji operujacych na danych								//
void wyswietlListeRoslin();								//
void wyswietlListeUpraw();							//
void podpunkt3();                                       /**/


int main(int argc, char *argv[]) {
	int wybor;										//zmienna w ktorej zapisuje indeks opcji wybranej przez uzytkownika
	bool wyjdz=true;
	while(wyjdz){								//petla wykonuje sie dopoki zmienna wyjdz ma wartosc true dzieki czemu mozemy wielokrotnie wybierac opcje w naszym programie 
		cout<<"---Menu---\n";				// znacznik \n oznacza przejscie do nowego wiersza w konsoli
		cout<<"1. Dodaj Rosline.\n";
		cout<<"2. Dodaj Farmera.\n";
		cout<<"3. Dodaj Uprawe.\n";
		cout<<"4. Wyswietl liste upraw.\n";
		cout<<"5. Wyswietl Całkowity koszt zasiania roslin poniesionego przez wskazanego farmea.\n";
		cout<<"6. Wyjdz z programu.\n";
		cin>>wybor;							//pobieram indeks opcji ktora chce wybrac uzytkownik
		switch(wybor){						//konstrukcja switch-case pozawala na wybor odpowiedniej opcji w zaleznosci od wartosci zmiennej wybor
			case 1: {
				dodajRosline();
				break;
			}
			case 2:{
				dodajFarmera();
				break;
			}
			case 3:{
				Dodaj Uprawe();
				break;
			}
			case 4:{
				wyswietlListeUpraw();
				break;
			}
		    case 5:{
				podpunkt3();
				break;
			}
			case 6:{
				wyjdz=false;					//ustawiam zmienna wyjdz na false aby wyjsc z petli i zakonczyc program
				break;
			}
			default:{							//wartosc domyslna, jezeli uzytkownik wybierze inna wartosc niz przy case'ach
				cout<<"\nPodano nieprawidlowa wartosc!\n\n";
				break;
			}
		}
	}
	
	return 0;
}


   //definicje funkcji operujacych na danych
void dodajRosline(){						//funkcja pobiera dane osoby od uzytkownika i pyta czy wpisac je do bazy
	int ID;						
	char nazwa[20];					//zmienne tymczasowe na pojedyncze dane						//
	int cena;					
	cout<<"Podaj ID rosliny: ";			
	cin>>ID;							//
	cout<<"Podaj nazwe rosliny: ";		//
	cin>>nazwa;						//pobieram dane
																	//zmienna tymczasowa do sprawdzania wyboru typu dzialki
						//
	cout<<"Podaj cene worka ";		//
	cin>>cena;						
	Roslina roslina(ID_roslina, nazwa, cena);//tworze obiekt klasy Osoba, przekazujac do konstruktora dane pobrane z klawiatury
	cout<<"Podane informacje:\nID:\t\t"<<roslina.getID_roslina()<<"\nNazwa:\t"<<roslina.getNazwa()<<"\nCena worka:\t"<<roslina.getCena()<<"\n"; //wyswietla dane zeby sprawdzic poprawnosc
	char z;								//zmienna tymczasowa do sprawdzenia wyboru uzytkownika
	do{
		cout<<"Czy chcesz wpisac rosline do bazy danych? (t/n)";
		cin>>z;
		if (z=='t'){					//jesli zmienna z przyjmie wartosc znaku t, zapisze do pliku
			ofstream wyjscie;			//tworze obiekt strumienia wyjsciowego
			wyjscie.open("Rośliny.txt", ios_base::out | ios_base::app);	//otwieram plik rosliny.txt i lacze go z obiektem wyjscia w trybie dopisywanie na koniec pliku
			wyjscie<<roslina.getID_roslina()<<" "<<roslina.getNazwa()<<" "<<roslina.getCena()<<"\n"; //wysylam dane z obiektu osoby do pliku roslina.txt
			wyjscie.close();			//zamykam plik
		}
	}while (z!='t' && z!='n');			//petla zapewnia ze uzytkownik wybierze odpowiednia opcje. gdy wcisnie n, petla zakonczy sie, gdy wcisnie t zapisze dane do pliku
}							
void dodajUprawe(){					//cala funkcja jest kopia poprzedniej funkcji, zmienilem tylko wszystkie nazwy z osoby na dzialke
	int ID_uprawa;
    char farmer[20];					
   	char roslina[30];				//
    int powierzchnia;
	cout<<"Podaj ID uprawy: ";								
	cin>>ID_uprawa;																//
	cout<<"Podaj  farmera: ";										//
	cin>>farmer;													//
	cout<<"Podaj rosline";												//
	cin>>roslina;															//
	cout<<"Podaj powierzchnie uprawy: ";												//
	cin>>powierzchnia;																	
	Uprawa uprawa(ID_uprawa, farmer, roslina, powierzchnia);		//tworze obiekt klasy dzialka, przekazujac do konstruktora dane pobrane z klawiatury
	cout<<"Podane informacje:\nID uprawy:\t\t"<<uprawa.getID_uprawa()<<"\nNazwisko farmera:\t\t"<<uprawa.getfarmera()<<"\nroslina :\t\t\t"<<uprawa.getroslina()<<"\nPowiechnia uprawy:\t\t\t"<<uprawa.getPowierzchnia()<<"\n"; //wyswietla dane zeby sprawdzic poprawnosc
	char z;								//zmienna tymczasowa do sprawdzenia wyboru uzytkownika
	do{
		cout<<"Czy chcesz dodac uprawe do bazy danych? (t/n)";
		cin>>z;
		if (z=='t'){					//jesli zmienna z przyjmie wartosc znaku t, zapisze do pliku
			ofstream wyjscie;			//tworze obiekt strumienia wyjsciowego
			wyjscie.open("Uprawy.txt", ios_base::out | ios_base::app);	//otwieram plik uprawa.txt i lacze go z obiektem wyjscia w trybie dopisywanie na koniec pliku
			wyjscie<<uprawa.getID_uprawa()<<" "<<uprawa.getfarmer()<<" "<<uprawa.getroslina()<<" "<<uprawa.getPowierzchnia()<<"\n";
            wyjscie.close();			//zamykam plik
		}
	}while (z!='t' && z!='n');			//petla zapewnia ze uzytkownik wybierze odpowiednia opcje. gdy wcisnie n, petla zakonczy sie, gdy wcisnie t zapisze dane do pliku
}													
		
void wyswietlListeUpraw(){							//kopia funkcji wyswietlListeUpraw, tyle ze dla pliku Uprawa.txt
	ifstream wejscie;									//tworze obiekt strumienia wejsciowego
	wejscie.open("Uprawy.txt");							//otwieram plik Uprawy.txt i kojarze go ze zmienna wejsciowa wejscie
	char cbuff[21];										//buffor do wczytywania lancuchow znakowych
	while(wejscie.eof()==false){						//wczytuj dopoki nie trafisz na koniec pliku, eof to wlasnie znak konca pliku
		for (int i=0;i<4;i++){
			strcpy(cbuff, "");							//czyszczenie zmiennej bufforowej
			wejscie>>cbuff;								//wczytuje slowo do buffora
			cout.width(15);								//do pozycjonowania tekstu, wyswietla nastepna zmienna na 15 polach
			cout<<cbuff;							//wyswietlam buffor
		}	
		cout<<"\n";
	}
	wejscie.close();									//zamykam plik
}				
void podpunkt3(){
	char cbuffer[20];									//bufor do wczytania lancucha znakow
	int buffer;											//bufor do wczytania liczby
	Uprawa tab_uprawy[20];								//tymczasowa tablica obiektow osoba
	Roslina tab_roslin[20];							//tymczasowa tablica obiektow dzialka
	    
	ifstream wejscie;										//otwieram strumien do wczytania osob
	wejscie.open("Rosliny.txt");							//lacze strumien z plikiem Osoby.txt
	
    int i=0;											//iterator do tablicy osob
   	do{							//wykonuje dopoki nie trafie na koniec pliku
        //cout<<"asdf";
        strcpy(cbuffer, "");
		wejscie>>buffer;									
		tab_roslin[i].setID_roslina(buffer);					//
		wejscie>>cbuffer;									//
		tab_roslin[i].setNazwa(cbuffer);				//zapisuje pobrane z pliku dane osoby, do tablicy osob
		wejscie>>cbuffer;									//
										//
  		tab_roslin[i].setCena(buffer);				
		i++;											//zwiekszam iterator zeby zapisac nastepna osobe
	}while(wejscie.eof());

	wejscie.close();									//zamykam plik
	wejscie.clear();									//czyszcze obiekt wejscia
	wejscie.open("Uprawy.txt");							//otwieram strumien do wczytania upraw
	int j=0;											//iterator do tablicy upraw
    do{				//wykonuje do napotkania konca pliku
		//cout<<"ASDF";
        strcpy(cbuffer, "");
		wejscie>>buffer;								
		tab_uprawy[j].setID_uprawa(buffer);			//
		wejscie>>cbuffer;								//
		tab_uprawy[j].setFarmer(cbuffer);			//zapisuje pobrane z pliku dane  uprawy, do tablicy uprawy
		wejscie>>cbuffer;								//
		tab_uprawy[j].setRoslina(cbuffer);					//
		wejscie>>buffer;								//
		tab_uprawy[j].setPowierzchnia(buffer);			//				
		j++;											//zwiekszam iterator zeby zapisac nastepna osobe
	}while(wejscie.eof());
	wejscie.close();									//zamykam plik
	

     for(int k=0;k<(i-1);k++){
          for(int m=0;m<(j-1);m++){
                  if(tab_uprawy[m].getID_uprawy() == tab_roslin[k].getID_roslina()){
                          int koszt = tab_uprawy[m].getPowierzchnia() * tab_roslin[k].getCena();
                          if(koszt < 2000)
                                   cout<<tab_uprawy[m].getfarmer(); 
                }
                                     
          }   
             
     }
}

mogl by ktos ocenic ? ewentualnie poprawic kod programu

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

Wywal to wszystko, poczytaj o programowaniu obiektowym i napisz raz jeszcze.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
0

poprawione

Kopiuj
#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

class Roslina
{
	private:
        int identyfikator_Rosliny;
		int cena_worka;
        char nazwa[20];
 
public:
        void wpisz_Roslina(int id_Rosliny, int cena, char* nazwa_rosliny)
        {
                identyfikator_Rosliny = id_Rosliny;
				cena_worka = cena;
				strcpy_s(nazwa, nazwa_rosliny);
        }
 
        void wypisz_Roslina()
        {
			cout << "ID_rosliny :  "<< identyfikator_Rosliny << ",  Cena :  "<< cena_worka << ", nazwa_rosliny : " << nazwa << endl;
        }
       
        int daj_id_Rosliny(){return identyfikator_Rosliny; }
		int daj_cena(){return cena_worka; }

};

class Farmer
{
private:
        int identyfikator_Farmera;
        char nazwa[50];
 
public:
	void wpisz_Farmer(int id_Farmera,char* nazwa_farmy)
        {
                identyfikator_Farmera = id_Farmera;
				strcpy_s(nazwa, nazwa_farmy);
        }
 
        void wypisz_Farmer()
        {
                cout << "ID_Farmera :  "<< identyfikator_Farmera << ",  nazwa_farmy :  "<< nazwa <<endl;
        }
       
        int daj_id_Farmera(){return identyfikator_Farmera; }
       
};
class Uprawa
{
private:
        int identyfikator_Rosliny;
        int identyfikator_Farmera;
        int powierzchnia;
 
public:
 
        void wpisz_Uprawa(int id_Rosliny,int id_Farmera,int powierzchnia_uprawy)
        {
                identyfikator_Rosliny = id_Rosliny;
                identyfikator_Farmera = id_Farmera;
				powierzchnia = powierzchnia_uprawy;
        }
       
 
        void wypisz_Uprawa()
        {
			cout << "ID_Rosliny :  "<< identyfikator_Rosliny << ", ID_Farmera :  "<< identyfikator_Farmera << ", powierzchnia_uprawy : " << powierzchnia << endl;
        }
       
        int daj_id_Rosliny(){return identyfikator_Rosliny; }
        int daj_id_Farmera(){return identyfikator_Farmera; }
        int daj_powierzchnia_uprawy(){return powierzchnia; }
};

int main(){
		int wybor_opcji, liczba_roslin, liczba_upraw, liczba_farmer;
        int r, f, u;
		int id_Farmer;
        int id_Roslina;
        char nazwa_farmy[50];
        char nazwa_rosliny[20];
        int cena_worka;
		int ktory_zakup;
		int powierzchnia_uprawy;
        char koniec;

		Roslina * ros;
        Farmer * far;
        Uprawa * upra;
 
        koniec = 'b';
 
        ros = new Roslina [100];
        far = new Farmer [100];
        upra = new Uprawa [100];
 


        ifstream zplikRoslina("Roslina.dat", ios_base::binary);
        if(zplikRoslina.is_open())
                {
					liczba_roslin=0;
					while(zplikRoslina.read((char*)&ros[liczba_roslin],sizeof(ros[liczba_roslin]))){
						liczba_roslin++;
                        }
                }
                zplikRoslina.close();
 
        ifstream zplikFarmer("Farmer.dat", ios_base::binary);
        if(zplikFarmer.is_open())
                {
					liczba_farmer=0;
					while(zplikFarmer.read((char*)&far[liczba_farmer],sizeof(far[liczba_farmer]))){
						liczba_farmer++;
                        }
                }
				zplikFarmer.close();

		ifstream zplikUprawa("Uprawa.dat", ios_base::binary);
        if(zplikUprawa.is_open())
                {
					liczba_upraw=0;
					while(zplikUprawa.read((char*)&upra[liczba_upraw],sizeof(upra[liczba_upraw]))){
						liczba_upraw++;
                        }
                }
                zplikUprawa.close();
	do{


                cout << "1) Dodaj nowa baze Roslin                                                                            " << endl;
                cout << "2) Dodaj nowa baze Farmera                                                                           " << endl;
                cout << "3) Dodaj nowa baze Upraw                                                                             " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "4) Wypisz baze Roslin                                                                                " << endl;
                cout << "5) Wypisz baze Farmera                                                                               " << endl;
                cout << "6) Wypisz baze Upraw                                                                                 " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "7) Calkowity koszt zasiania roslin poniesionego przez wskazanego farmera                             " << endl;
                cout << "8) Nazwa rosliny, ktorej uprawy zajmuja najwieksza powierzchnie                                      " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "9) Wyjscie                                                                                           " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;

				cin >> wybor_opcji;
 
 
                switch(wybor_opcji) // Wybieranie opcji itd
                {
		case 1:
                                        {
 
                cout<<"     Wybrales opcje dodawania nowej bazy Roslin \n"<<endl;
                cout<<"         Ile roslin chcesz dodac ?"<<endl;
                cin >> r;
 
                               
 
                for(int i=0;i<r;i++)
                     {
                 cout << "Podaj ID rosliny : " <<endl;
                                 cin >> id_Roslina;
                 cout << "Podaj nazwe rosliny : " <<endl;
								 cin >> nazwa_rosliny;
				 cout << "Podaj cene worka : " <<endl;
								 cin >> cena_worka;
 
								 ros[i].wpisz_Roslina(id_Roslina, char * nazwa_rosliny, cena_worka);
 
                    }
                               
 
                for(int i=0;i<r;i++)
                                        {
                ros[i].wypisz_Roslina(); // Wypisywanie osoby
                                        }
                getchar();
                getchar();
               
 
 
                ofstream doplikRoslina("Roslina.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<r;i++)
                {
                        doplikRoslina.write((char*)&ros[i],sizeof ros[i] );
                }
                doplikRoslina.close();
 
                ifstream zplikRoslina("Roslina.dat", ios_base::binary);
                if(zplikRoslina.is_open())
                {
					liczba_roslin=0;
					while(zplikRoslina.read((char*)&ros[liczba_roslin],sizeof(ros[liczba_roslin]))){
						liczba_roslin++;
                        }
                }
                zplikRoslina.close();
 
                                break;
										}
               
		 case 2:
                        {
 
                 cout<<"     Wybrales opcje dodawania Farm do bazy \n"<<endl;
                 cout<<"         Ile farm chcesz dodac ?"<<endl;
                 cin >> f;
 
                               
 
                 for(int i=0;i<f;i++)
                         {
                 cout << "Podaj ID farmera : " <<endl;
                 cin >> id_Farmer;
                 cout << "Podaj nazwe farmy : " <<endl;
				 cin >> nazwa_farmy;
 
				 far[i].wpisz_Farmer(id_Farmer, nazwa_farmy);
 
                         }
 
                 for(int i=0;i<f;i++)
 
                                        {
                        far[i].wypisz_Farmer(); // Wypisywanie zakupow
                                        }
                getchar();
                getchar();
 
 
 
                ofstream doplikFarmer("Farmer.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<f;i++)
                {
					doplikFarmer.write((char*)&far[i],sizeof far[liczba_farmer] );
                }
                doplikFarmer.close();
 
                ifstream zplikFarmer("Farmer.dat", ios_base::binary);
                if(zplikFarmer.is_open())
                {
					liczba_farmer=0;
					while(zplikFarmer.read((char*)&far[liczba_farmer],sizeof(far[liczba_farmer]))){
						liczba_farmer++;
                        }
                }
                zplikFarmer.close();
                                break;
                                                }
		
		case 3:
                        {
 
                 cout<<"     Wybrales opcje dodawania upraw do bazy \n"<<endl;
                 cout<<"Ile upraw chcesz dodac ?"<<endl;
                 cin >> u;
 
                               
 
                 for(int i=0;i<u;i++)
                       {
                 cout << "Podaj ID rosliny : " <<endl;
				 cin >> id_Roslina;
                 cout << "Podaj ID farmera : " <<endl;
				 cin >> id_Farmer;
				 cout << "Podaj powierzchnie uprawy : " <<endl;
				 cin >> powierzchnia_uprawy;
 
				 upra[i].wpisz_Uprawa(id_Roslina, id_Farmer, powierzchnia_uprawy);
 
                                }
 
                 for(int i=0;i<u;i++)
                {
                        upra[i].wypisz_Uprawa(); // Wypisywanie produktow
                }
                getchar();
                getchar();
 
 
 
                ofstream doplikUprawa("Uprawa.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<u;i++)
                {
					doplikUprawa.write((char*)&upra[i],sizeof upra[liczba_upraw] );
                }
                doplikUprawa.close();
 
                ifstream zplikUprawa("Uprawa.dat", ios_base::binary);
                if(zplikUprawa.is_open())
                {
					liczba_upraw=0;
					while(zplikUprawa.read((char*)&upra[liczba_upraw],sizeof(upra[liczba_upraw]))){
						liczba_upraw++;
                        }
                }
                zplikUprawa.close();
 
 
                                break;
                                                }
		
		case 4:
                        {
							for(int i=0;i<liczba_roslin;i++)
                                {
                                        printf("\n");
                                        ros[i].wypisz_Roslina();
                                }
                                getchar();
                                getchar();
                                break;
                        }
		
		
		
		case 5:
                        {
							for(int i=0;i<liczba_farmer;i++)
                                {
                                        printf("\n");
                                        far[i].wypisz_Farmer();
                                }
                                getchar();
                                getchar();
                                break;
                        }
 
        case 6:
                        {
							for(int i=0;i<liczba_upraw;i++)
                                {
                                        printf("\n");
                                        upra[i].wypisz_Uprawa();
                                }
                                getchar();
                                getchar();
                                break;
                        }
		
		case 7:
		
		
		
		
		
		
		
		case 8:
			
			
			
			
			
			
		case 9:
                     {
                   koniec = 't';
							break;
					}
		
		
		
		
		
		
		default :
                        {
                        cout <<" Wybrales zla opcje !"<<endl;
                        cout <<"   Sproboj ponownie"<<endl;
                        getchar();
                        getchar();
                        }
 
                }
        system("cls");
                }
                while(koniec!='t');
               
        cout <<"Do zobaczenia pozniej !"<<endl;
 
                return 0;
				} 

brak mi tylko 3 pkt z polecenia .
Wie ktos moze jak to zrobic ?

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

Zamień te pola:

Kopiuj
        int identyfikator_Rosliny;
        int identyfikator_Farmera;

na wskaźniki.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
0

udalo mi sie zrobic pkt a
lecz nie wiem jak napisac b. mogby ktos lekko nakierowac jak to ruszyc ?

Kopiuj
 #include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
class Roslina
{
        private:
        int identyfikator_Rosliny;
                int cena_worka;
        char nazwa[20];
 
public:
        void wpisz_Roslina(int id_Rosliny, int cena, char* nazwa_rosliny)
        {
                identyfikator_Rosliny = id_Rosliny;
                                cena_worka = cena;
                                strcpy_s(nazwa, nazwa_rosliny);
        }
 
        void wypisz_Roslina()
        {
                        cout << "ID_rosliny :  "<< identyfikator_Rosliny << ",  Cena :  "<< cena_worka << ", nazwa_rosliny : " << nazwa << endl;
        }
       
        int daj_id_Rosliny(){return identyfikator_Rosliny; }
                int daj_cena(){return cena_worka; }
 
};
 
class Farmer
{
private:
        int identyfikator_Farmera;
        char nazwa[50];
 
public:
        void wpisz_Farmer(int id_Farmera,char* nazwa_farmy)
        {
                identyfikator_Farmera = id_Farmera;
                                strcpy_s(nazwa, nazwa_farmy);
        }
 
        void wypisz_Farmer()
        {
                cout << "ID_Farmera :  "<< identyfikator_Farmera << ",  nazwa_farmy :  "<< nazwa <<endl;
        }
       
                int porownaj_farmera(char *imie_farmera)
                {
                        if(strcmp(nazwa,imie_farmera) == 0)
                        {
                                return 1;
                        }
                        else
                        {
                                return 0;
                        }
                }
 
        int daj_id_Farmera(){return identyfikator_Farmera; }
       
};
class Uprawa
{
private:
        int identyfikator_Rosliny;
        int identyfikator_Farmera;
        int powierzchnia;
 
public:
 
        void wpisz_Uprawa(int id_Rosliny,int id_Farmera,int powierzchnia_uprawy)
        {
                identyfikator_Rosliny = id_Rosliny;
                identyfikator_Farmera = id_Farmera;
                                powierzchnia = powierzchnia_uprawy;
        }
       
 
        void wypisz_Uprawa()
        {
                        cout << "ID_Rosliny :  "<< identyfikator_Rosliny << ", ID_Farmera :  "<< identyfikator_Farmera << ", powierzchnia_uprawy : " << powierzchnia << endl;
        }
       
        int daj_id_Rosliny(){return identyfikator_Rosliny; }
        int daj_id_Farmera(){return identyfikator_Farmera; }
        int daj_powierzchnia_uprawy(){return powierzchnia; }
};
 
int main(){
                int wybor_opcji, liczba_roslin, liczba_upraw, liczba_farmer;
        int r, f, u;
                int id_Farmer;
        int id_Roslina;
        char nazwa_farmy[50];
        char nazwa_rosliny[20];
        int cena_worka;
                int ktory_zakup;
                int powierzchnia_uprawy;
        char koniec;
                char imie_farmera[50];
                int koszt;
                Roslina * ros;
        Farmer * far;
        Uprawa * upra;
 
        koniec = 'b';
 
        ros = new Roslina [100];
        far = new Farmer [100];
        upra = new Uprawa [100];
 
 
 
        ifstream zplikRoslina("Roslina.dat", ios_base::binary);
        if(zplikRoslina.is_open())
                {
                                        liczba_roslin=0;
                                        while(zplikRoslina.read((char*)&ros[liczba_roslin],sizeof(ros[liczba_roslin]))){
                                                liczba_roslin++;
                        }
                }
                zplikRoslina.close();
 
        ifstream zplikFarmer("Farmer.dat", ios_base::binary);
        if(zplikFarmer.is_open())
                {
                                        liczba_farmer=0;
                                        while(zplikFarmer.read((char*)&far[liczba_farmer],sizeof(far[liczba_farmer]))){
                                                liczba_farmer++;
                        }
                }
                                zplikFarmer.close();
 
                ifstream zplikUprawa("Uprawa.dat", ios_base::binary);
        if(zplikUprawa.is_open())
                {
                                        liczba_upraw=0;
                                        while(zplikUprawa.read((char*)&upra[liczba_upraw],sizeof(upra[liczba_upraw]))){
                                                liczba_upraw++;
                        }
                }
                zplikUprawa.close();
        do{
 
 
                cout << "1) Dodaj nowa baze Roslin                                                                            " << endl;
                cout << "2) Dodaj nowa baze Farmera                                                                           " << endl;
                cout << "3) Dodaj nowa baze Upraw                                                                             " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "4) Wypisz baze Roslin                                                                                " << endl;
                cout << "5) Wypisz baze Farmera                                                                               " << endl;
                cout << "6) Wypisz baze Upraw                                                                                 " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "7) Calkowity koszt zasiania roslin poniesionego przez wskazanego farmera                             " << endl;
                cout << "8) Nazwa rosliny, ktorej uprawy zajmuja najwieksza powierzchnie                                      " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
                cout << "9) Wyjscie                                                                                           " << endl;
                cout << "-----------------------------------------------------------------------------" << endl;
 
                                cin >> wybor_opcji;
 
 
                switch(wybor_opcji) // Wybieranie opcji itd
                {
                case 1:
                                        {
 
                cout<<"     Wybrales opcje dodawania nowej bazy Roslin \n"<<endl;
                cout<<"         Ile roslin chcesz dodac ?"<<endl;
                cin >> r;
 
                               
 
                for(int i=0;i<r;i++)
                     {
                 cout << "Podaj ID rosliny : " <<endl;
                                 cin >> id_Roslina;
                 cout << "Podaj nazwe rosliny : " <<endl;
                                                                 cin >> nazwa_rosliny;
                                 cout << "Podaj cene worka : " <<endl;
                                                                 cin >> cena_worka;
 
                                                                 ros[i].wpisz_Roslina(id_Roslina,cena_worka,nazwa_rosliny);
 
                    }
                               
 
                for(int i=0;i<r;i++)
                                        {
                ros[i].wypisz_Roslina(); // Wypisywanie osoby
                                        }
                getchar();
                getchar();
               
 
 
                ofstream doplikRoslina("Roslina.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<r;i++)
                {
                        doplikRoslina.write((char*)&ros[i],sizeof ros[i] );
                }
                doplikRoslina.close();
 
                ifstream zplikRoslina("Roslina.dat", ios_base::binary);
                if(zplikRoslina.is_open())
                {
                                        liczba_roslin=0;
                                        while(zplikRoslina.read((char*)&ros[liczba_roslin],sizeof(ros[liczba_roslin]))){
                                                liczba_roslin++;
                        }
                }
                zplikRoslina.close();
 
                                break;
                                                                                }
               
                 case 2:
                        {
 
                 cout<<"     Wybrales opcje dodawania Farm do bazy \n"<<endl;
                 cout<<"         Ile farm chcesz dodac ?"<<endl;
                 cin >> f;
 
                               
 
                 for(int i=0;i<f;i++)
                         {
                 cout << "Podaj ID farmera : " <<endl;
                 cin >> id_Farmer;
                 cout << "Podaj nazwe farmy : " <<endl;
                                 cin >> nazwa_farmy;
 
                                 far[i].wpisz_Farmer(id_Farmer, nazwa_farmy);
 
                         }
 
                 for(int i=0;i<f;i++)
 
                                        {
                        far[i].wypisz_Farmer(); // Wypisywanie zakupow
                                        }
                getchar();
                getchar();
 
 
 
                ofstream doplikFarmer("Farmer.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<f;i++)
                {
                                        doplikFarmer.write((char*)&far[i],sizeof far[liczba_farmer] );
                }
                doplikFarmer.close();
 
                ifstream zplikFarmer("Farmer.dat", ios_base::binary);
                if(zplikFarmer.is_open())
                {
                                        liczba_farmer=0;
                                        while(zplikFarmer.read((char*)&far[liczba_farmer],sizeof(far[liczba_farmer]))){
                                                liczba_farmer++;
                        }
                }
                zplikFarmer.close();
                                break;
                                                }
               
                case 3:
                        {
 
                 cout<<"     Wybrales opcje dodawania upraw do bazy \n"<<endl;
                 cout<<"Ile upraw chcesz dodac ?"<<endl;
                 cin >> u;
 
                               
 
                 for(int i=0;i<u;i++)
                       {
                 cout << "Podaj ID rosliny : " <<endl;
                                 cin >> id_Roslina;
                 cout << "Podaj ID farmera : " <<endl;
                                 cin >> id_Farmer;
                                 cout << "Podaj powierzchnie uprawy : " <<endl;
                                 cin >> powierzchnia_uprawy;
 
                                 upra[i].wpisz_Uprawa(id_Roslina, id_Farmer, powierzchnia_uprawy);
 
                                }
 
                 for(int i=0;i<u;i++)
                {
                        upra[i].wypisz_Uprawa(); // Wypisywanie produktow
                }
                getchar();
                getchar();
 
 
 
                ofstream doplikUprawa("Uprawa.dat",ios_base::app | ios_base::binary);
                for(int i =0;i<u;i++)
                {
                                        doplikUprawa.write((char*)&upra[i],sizeof upra[liczba_upraw] );
                }
                doplikUprawa.close();
 
                ifstream zplikUprawa("Uprawa.dat", ios_base::binary);
                if(zplikUprawa.is_open())
                {
                                        liczba_upraw=0;
                                        while(zplikUprawa.read((char*)&upra[liczba_upraw],sizeof(upra[liczba_upraw]))){
                                                liczba_upraw++;
                        }
                }
                zplikUprawa.close();
 
 
                                break;
                                                }
               
                case 4:
                        {
                                                        for(int i=0;i<liczba_roslin;i++)
                                {
                                        printf("\n");
                                        ros[i].wypisz_Roslina();
                                }
                                getchar();
                                getchar();
                                break;
                        }
               
               
               
                case 5:
                        {
                                                        for(int i=0;i<liczba_farmer;i++)
                                {
                                        printf("\n");
                                        far[i].wypisz_Farmer();
                                }
                                getchar();
                                getchar();
                                break;
                        }
 
        case 6:
                        {
                                                        for(int i=0;i<liczba_upraw;i++)
                                {
                                        printf("\n");
                                        upra[i].wypisz_Uprawa();
                                }
                                getchar();
                                getchar();
                                break;
                        }
               
                case 7:
               
                        {
                                cout <<"Podaj imie farmera : " <<endl;
                                cin >> imie_farmera;
                                koszt = 0;
                                for(int i=0;i<liczba_farmer;i++)
                                {
                                        if(far[i].porownaj_farmera(imie_farmera))
                                        {
                                                for(int j = 0; j<liczba_upraw;j++)
                                                {
                                                        if(far[i].daj_id_Farmera() == upra[j].daj_id_Farmera())
                                                        {
                                                                for(int k = 0;k<liczba_roslin;k++)
                                                                {
                                                                        if(upra[j].daj_id_Rosliny() == ros[k].daj_id_Rosliny())
                                                                        {
                                                                                koszt = koszt + ros[k].daj_cena() * upra[j].daj_powierzchnia_uprawy();
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
 
 
                                cout <<"Calkowity koszt zasiania upraw farmera '"<<imie_farmera<<"' wyniesie : "<<koszt <<endl;
                                getchar();
                                getchar();
 
                                break;
                        }
               
               
               
               
               
                case 8:
                       
                        {
                                break;
                        }
                       
                       
                       
                       
                case 9:
                     {
                   koniec = 't';
                                                        break;
                                        }
               
               
               
               
               
               
                default :
                        {
                        cout <<" Wybrales zla opcje !"<<endl;
                        cout <<"   Sproboj ponownie"<<endl;
                        getchar();
                        getchar();
                        }
 
                }
        system("cls");
                }
                while(koniec!='t');
               
        cout <<"Do zobaczenia pozniej !"<<endl;
 
                return 0;
                                }
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

Przecież ignorujesz wszystko co ci dotychczas powiedziano.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
0

jak mi powierz co mi wniosą wskaźniki do podpunktu b to przerobie a pÓÓÓÓki co program kompiluje sie i chodzi bez nich

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

To wniosą wskaźniki:

Kopiuj
for(int i=0;i<liczba_farmer;++i) far[i].koszt=0;
for(int i=0;i<liczba_upraw;++i) upra[j].farmer.koszt+=upra[j].roslina.daj_cena()*upra[j].daj_powierzchnia_uprawy();

To jest zamiast trzech for'ów z trzema if'ami


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)