Názory ke článku C++ - 7. lekce – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Názory ke článku C++ - 7. lekce – Programujte.comNázory ke článku C++ - 7. lekce – Programujte.com

 

Názory ke článku C++ - 7. lekce

Agent   NOVÝ
31. 10. 2005

Text tohoto komentáře byl vymazán, jelikož porušoval publikační pravidla našeho e-zinu! Redakce

CuroBOT   NOVÝ
31. 10. 2005

Omlouvám se, příkaz switch (..case..) je vysvetlen o lekci dale (8)

janvan   NOVÝ
30. 3. 2006

Prosím vás mohl by mi někdo říci co je na tomto špatně??? a popřípadě tedy co??


void zadavani (int n)
{
char c=159;
char w[]=" ";
char s=231;
do
{
cout <<"\n\n\tZadej "<<n<<". cenu: ";
cin >> alfa[n].cena;
cout <<"\n\tChcete-li ukon"<<c<<"it napi"<<s<<"te q???: ";
cin>>w;
n++;
}
while (w != 'q');
};

RedDwarf   NOVÝ
18. 5. 2006

Tak tenhle putoval letos po V3 v SPŠ Chomutov:

-Ťuky ťuk!
-Kdo je tam?
-Tady rekurze!
-A co chceš?
-Ťuky ťuk!

Pebble   NOVÝ
31. 5. 2006

tohle to hází :Warning: getimagesize(): open_basedir restriction in effect. File(../lekce/cpp/cpp5.jpg) is not within the allowed path(s): (/mnt/data/accounts/p/programujte/data/www/www:/tmp/accounts/p/programujte) in /mnt/data/accounts/p/programujte/data/www/www/fpdf.php on line 1466

Warning: getimagesize(../lekce/cpp/cpp5.jpg): failed to open stream: Operation not permitted in /mnt/data/accounts/p/programujte/data/www/www/fpdf.php on line 1466
FPDF error: Missing or incorrect image file: ../lekce/cpp/cpp5.jpg

Curo, autor článku   NOVÝ
31. 5. 2006

Ano, některé článk zatím není možné exportovat,

vird   NOVÝ
17. 8. 2006

rozoberal som program ktory je uvedeny v bode 7.14(nechce sa mi to kopirovat tak si to potom pozrite) a chcem vediet odkial sa tam zobralo <i>SIZE</i> ktore bolo pouzite v ukaz_array(properties, <u>size</u>); nikde som nevidel aby si ho inicializoval(dufam ze som to napisal dobre) a priradil hodnotu.
inac chapem asi vsetkemu ak nie tak sa este opytam
    

vird   NOVÝ
18. 8. 2006

sorry uz som si vsimol

radypala   NOVÝ
10. 11. 2006

Pls preco neide tento clanok kopnvertovat do PDF ???

Anonymní uživatel   NOVÝ
16. 11. 2006

:ms_0001: :ms_0002: :ms_0005: :ms_0007: :ms_0009: :ms_0010: :ms_0011: :ms_0017: :ms_0018: :ms_0019: :ms_0020: :ms_0021: :ms_0022: :ms_0026: :ms_0027: :ms_0029: :ms_0030: :ms_0031: :ms_0032: :ms_0033: :ms_0034: :ms_0035: :ms_0036: :ms_0037: :ms_0038: :ms_0039: :ms_0040: :ms_0041: :ms_0042: :ms_0043: :ms_0044: :ms_0045: :ms_0046: :ms_0047: :ms_0049: :ms_0050: :ms_0051: :ms_0052: :ms_0055: :ms_0056: :ms_0057: :ms_0058: :ms_0059: :ms_0060: :ms_0062: :ms_0063: :ms_0064: :ms_0065: :ms_0067: :ms_0068: :ms_0070: :ms_0071: :ms_0072: :ms_0073: :ms_0074: :ms_0076: :ms_0077: :ms_0078: :ms_0079: :ms_0080: :ms_0081: :ms_0082: :ms_0083: :ms_0085: :ms_0086: :ms_0087: :ms_0088: :ms_0089: :ms_0090: :ms_0091: :ms_0092: :ms_0093: :ms_0094: :ms_0098: :ms_0099: :ms_0100: :ms_0101: :ms_0102: :ms_0103: :ms_0105: :ms_0107: :ms_0108: :ms_0109: :ms_0110: :ms_0111: :ms_0112: :ms_0114: :ms_0116: :ms_0117: :ms_0120: :ms_0121: :ms_0122: :ms_0124: :ms_0125: :ms_0126: :ms_0127: :ms_0128: :ms_0129: :ms_0130: :ms_0131: :ms_0132: :ms_0133: :ms_0134: :ms_0135: :ms_0136: :ms_0137: :ms_0138: :ms_0139: :ms_0140: :ms_0141: :ms_0142: :ms_0143: :ms_0144: :ms_0145: :ms_0146: :ms_0147: :ms_0148: :ms_0149: :ms_0150: :ms_0151: :ms_0152: :ms_0153: :ms_0154: :ms_0155: :ms_0156: :ms_0157: :ms_0158: :ms_0159: :ms_0160: :ms_0161: :ms_0162: :ms_0163: :ms_0164: :ms_0165: :ms_0168: :ms_0169: :ms_0170: :ms_0171: :ms_0172: :ms_0173: :ms_0174: :ms_0180: :ms_0182: :ms_0183: :ms_0184: :ms_0185: :ms_0186: :ms_0187: :ms_0188: :ms_0189: :ms_0190: :ms_0191: :ms_0192: :ms_0193: :ms_0194: :ms_0195: :ms_0196: :ms_0197: :ms_0198: :ms_0200: :ms_0201: :ms_0206: :ms_0207: :ms_0211: :ms_0212: :ms_0213: :ms_0214: :ms_0215: :ms_0217:

Vlk_001   NOVÝ
26. 1. 2007

Kurz C++ se mi moc líbí a zatím to nějak zvládám :-) Ale pravopis autorů, zřejmě programátorů, že :-), je otřesný...

marcel   NOVÝ
4. 10. 2007

if (!cin)

while (cin >> rplace.x >> rplace.y)

JardaP   NOVÝ
25. 10. 2007

V prikladech 7.22 je spatny popisek u prvniho obrazku. Nejsou to polarni souradnice ale pravouhle. Navic se v nem nevyskytuje uhel, jak je v nem uvedeno.

Honzik   NOVÝ
14. 11. 2008

prosím..potřebuju co nejdřív vědět jak říct funkci aby pracovala s více rozměrným polem, díky

klerik   NOVÝ
9. 5. 2009

Lidi pls pomuze mi nekdo? POtreboval bych vedet jak prevezt viceciferne cislo z typu char, do promeny typu int. kdyz prevadim jednociferny cislo tak jednoduse odectu 48, napr:
char p= 49;
int a=p[0]-48;
a pak vyjde ze se to rovna 1. ale nevim jak prevadet vicefirne cisla, napr: 10, 125, atd. Pls jestli vite jak nato tak mi poradte :).

host   NOVÝ
13. 1. 2010

Reagoval na komentář od uživatele klerik :
do typu char se neukladaji cisla ! Jsou to znaky (character).

Honza   NOVÝ
27. 8. 2010

Čau lidi,
nevíte někdo jak ze znalostí z dosavadních lekcí udělat to odpočítávání na konci katalogu?(viz. úkol) Poradte mi pls

Beginer   NOVÝ
8. 7. 2011

Chybaju mi mensie vysvetlivky... napr. co ten cin.clear() vlastne robi ? Bez neho by to nefungovalo ?
A mala chybicka v priklade 7.14, …v případě špatného vstupu: ... č.3 nesedi :)

Beginer   NOVÝ
8. 7. 2011

#18 Beginer
... a 7.22: v poznamke je aj to co tam nema byt :) ----> // šablony struktur struct uhel

lukas.balaz   NOVÝ
21. 8. 2011

Prosím nevie niekto prečo nefunguje tento zdroják:

#include <iostream>
using namespace std;
int sum_pole(int pole[], int n);
int main()
{
    int prvky;
    int prvky3 = 1; 
    int prvky4;
    cout << "Zadajte pocet prvkov pola: ";
    cin >> prvky;
     int prvky2[prvky];
    while (0<prvky)
    {
          cout << "Zadajte "<<prvky3<<". prvok: ";
          prvky3=prvky4;
          prvky4=prvky4-1;
          cin >>prvky2[prvky4];
          prvky--;
    }        
    cout <<sum_pole(prvky2, prvky);
    cin.get();
    cin.get();
    return 0;
}
int sum_pole(int pole[], int n)    
{       
   int celkem = 0;       
   for (int i = 0; i<n ; i++)           
   celkem = celkem + pole[i];
   return celkem;
}

Ďakujem

lukas.balaz   NOVÝ
21. 8. 2011

Re: Prosím nevie niekto...

Pardon, chyba:

#include <iostream>
using namespace std;
int sum_pole(int pole[], int n);
int main()
{
    int prvky;
    int prvky3 = 1; 
    int prvky4;
    cout << "Zadajte pocet prvkov pola: ";
    cin >> prvky;
     int prvky2[prvky];
    while (0<prvky)
    {
          cout << "Zadajte "<<prvky3<<". prvok: ";
          prvky3=prvky4;
          prvky4=prvky4-1;
          cin >>prvky2[prvky4];
          prvky--;
          prvky3++;
    }        
    cout <<sum_pole(prvky2, prvky);
    cin.get();
    cin.get();
    return 0;
}
int sum_pole(int pole[], int n)    
{       
   int celkem = 0;       
   for (int i = 0; i<n ; i++)           
   celkem = celkem + pole[i];
   return celkem;
}

Program spustím, zadám počet prvkov a prvý prvok a vybehne mi okno, že mám program zavrieť.

Za odpoveď ďakujem.

Shimon   NOVÝ
24. 12. 2011

#21 lukas.balaz
Chyba je v tom, že nie je možné vytvoriť pole o neznámom počte prvkov. Vyriešiť sa to dá pomocou ukazovateľa na pole vo voľnom úložisku pomocou operátora new.

Puschkin   NOVÝ
23. 8. 2014

Ahoj,chcel by som sa opýtať,akým príkazom môžem editovať položky pretože ma tento bod úlohy dosť brzdí.
Ďakujem vopred za odpoveď 

Z_code   NOVÝ
18. 11. 2020

Tak tady je moje verze. Vím, že je to poněkud chaotické, ale funkční a momentálně nemám chuť to přepisovat do nějaké srozumitelnější podoby. Chybí pouze odpočet na konci. Kritiku samozřejmě příjmám.

#include <iostream>
#include <string>

using namespace std;

const int SIZE = 100; //velikost pole
const double DPH = 0.19; //19% dph
bool d = false; //s DPH nebo bez DPH
bool dotazy = true; // pro ukončení dotazů

struct Katalog
{
	string polozka;
	double cena;
	double dph;
	double celkem;
};

//Prototypy funkcí
string CZtext(string str);
int addPolozka(Katalog kat[], int vel);
void vypisPolozek(int x, Katalog kat[], bool d);
void editacePolozek(Katalog kat[], int x, bool d);
void addDPH(Katalog kat[], int x, bool d);
void celkovaCena(Katalog kat[], int x, bool d);
void souhlas_ANO_NE(Katalog kat[], int x, bool d);

//funkce zpracuje zadaný text a vráti text s dosazenými CZ znaky
string CZtext(string str)
{
	for (unsigned int i = 0; i < str.length(); i++)
	{
		switch (str[i])
		{
		case 'á':
			str[i] = char(160); break;
		case 'Á':
			str[i] = char(181); break;
		case 'é':
			str[i] = char(130); break;
		case 'É':
			str[i] = char(144); break;
		case 'í':
			str[i] = char(161); break;
		case 'Í':
			str[i] = char(161); break;
		case 'ý':
			str[i] = char(236); break;
		case 'Ý':
			str[i] = char(237); break;
		case 'ó':
			str[i] = char(162); break;
		case 'Ó':
			str[i] = char(224); break;
		case 'ú':
			str[i] = char(163); break;
		case 'Ú':
			str[i] = char(233); break;
		case 'ů':
			str[i] = char(133); break;
		case 'ď':
			str[i] = char(212); break;
		case 'Ď':
			str[i] = char(210); break;
		case 'ť':
			str[i] = char(156); break;
		case 'Ť':
			str[i] = char(155); break;
		case 'ň':
			str[i] = char(229); break;
		case 'Ň':
			str[i] = char(213); break;
		case 'ž':
			str[i] = char(167); break;
		case 'Ž':
			str[i] = char(166); break;
		case 'č':
			str[i] = char(159); break;
		case 'Č':
			str[i] = char(172); break;
		case 'š':
			str[i] = char(231); break;
		case 'Š':
			str[i] = char(230); break;
		case 'ř':
			str[i] = char(253); break;
		case 'Ř':
			str[i] = char(252); break;
		case 'ě':
			str[i] = char(216); break;
		}
	}
	return str;
}

int addPolozka(Katalog kat[], int vel)
{
	//zadáváni položek postupně - po každém zadáni bude dotaz zda se bude pokračovat
	int x = 1;
	char znak;
	int polozekCelkem = 0;

	for (int i = 0; i < x; i++)
	{
		cout << "\n" << CZtext("Položka č. ") << i + 1 << ": \n";
		cout << CZtext("Název položky: ");
		getline(cin, kat[i].polozka);

		cout << CZtext("Cena položky: ");
		cin >> kat[i].cena;

		bool cyklus = true;

		do
		{
			cout << "\n" << CZtext("Přejete si přidat další položku Y/N:");
			cin >> znak;
			switch (znak)
			{
			case 'y':
				if (i + 1 < vel)
					x++;
				else
				{
					cout << "\n" << CZtext("ERROR - nedostatečná kapacita - nelze vložit další položku!!!") << "\n\n";
					polozekCelkem = x;
				}
				cyklus = false;
				cin.get();
				break;
			case 'n':
				polozekCelkem = x;
				x = 0;
				cyklus = false;
				cin.get();
				break;
			default:
				cin.get();
				cout << "\n" << CZtext("ERROR - (klavesa 'y' pro pokračovat a klavesa 'n' pro konec) - nic jiného") << "\n";
				cin.get();
			}
		} while (cyklus);
	}

	return polozekCelkem;
}

void vypisPolozek(int x, Katalog kat[], bool d)
{
	//program vypíše všechny údaje o všech položkách v TABULCE s DPH nebo bez
	if (d == true)
	{
		cout << "\n\t" << CZtext("Položka") << "\t\t\t" << CZtext("CENA") << "\t" << CZtext("Cena s DPH") << "\n";
		for (int i = 0; i < x; i++)
		{
			cout << i + 1 << "\t" << kat[i].polozka << "\t\t\t" << kat[i].cena << "\t" << kat[i].dph << "\n";
		}
	}
	else 
	{
		cout << "\n\t" << CZtext("Položka") << "\t\t\t" << CZtext("CENA") << "\t\n";
		for (int i = 0; i < x; i++)
		{
			cout << i + 1 << "\t" << kat[i].polozka << "\t\t\t" << kat[i].cena << "\t\n";
		}

		// rozhodováni co se bude dělat
		bool cyklus = true;
		if (dotazy)
		{
			do
			{
				cout << "\n" << CZtext("Přejete si editovat některou položku Y/N :");
				char znak;
				cin >> znak;
				switch (znak)
				{
				case 'y':
					editacePolozek(kat, x, d);
					cyklus = false;
					break;
				case 'n':
					do
					{
						cout << "\n" << CZtext("Přejete si zobrazit ceny s 19% DPH ? Y/N :");
						cin >> znak;
						switch (znak)
						{
						case 'y':
							d = true;
							addDPH(kat, x, d);
							break;
						case 'n':
							dotazy = false;
							vypisPolozek(x, kat, d);
							break;
						default:
							cin.get();
							cout << "\n" << CZtext("ERROR - (klavesa 'y' pro pokračovat a klavesa 'n' pro konec) - nic jiného") << "\n";
							cin.get();
						}
						break;
					} while (cyklus);
					celkovaCena(kat, x, d);
					cyklus = false;
					cin.get();
					break;
				default:
					cin.get();
					cout << "\n" << CZtext("ERROR - (klavesa 'y' pro pokračovat a klavesa 'n' pro konec) - nic jiného") << "\n";
					cin.get();
				}
			} while (cyklus);
		}

	}
}

void souhlas_ANO_NE(Katalog kat[], int x, bool d)
{
	bool cyklus = true;
	do
	{
		cout << "\n" << CZtext("Souhlasíte s konečnou cenou Y/N :");
		char znak;
		cin >> znak;
		switch (znak)
		{
		case 'y':
			cyklus = false;
			cout << "\n" << CZtext("KONEC PROGRAMU");
			break;
		case 'n':
			dotazy = true;
			editacePolozek(kat, x, d);
			break;
		default:
			cin.get();
			cout << "\n" << CZtext("ERROR - (klavesa 'y' pro pokračovat a klavesa 'n' pro konec) - nic jiného") << "\n";
			cin.get();
		}
	} while (cyklus);
}

void editacePolozek(Katalog kat[], int x, bool d)
{
	cout << "\n" << CZtext("Jakou položku si přejete opravit? - zadejte číslo položky:  ");
	int cislo;
	cin >> cislo;
	for (int i = 0; i < x; i++)
	{
		if ((i + 1) == cislo)
		{
			cout << CZtext("Změnit cenu položky:  ");
			kat[i].cena = NULL;
			cin >> kat[i].cena;
		}
	}

	if (d != true)
		vypisPolozek(x, kat, d);
	else
		addDPH(kat, x, d);
}

void addDPH(Katalog kat[], int x, bool d)
{
	for (int i = 0; i < x; i++)
	{
		kat[i].dph = (kat[i].cena * DPH) + kat[i].cena;
	}
	vypisPolozek(x, kat, d);
}

void celkovaCena(Katalog kat[], int x, bool d)
{
	double pom = 0;
	for (int i = 0; i < x; i++)
	{
		if (d != true)
		{
			kat[i].celkem = pom + kat[i].cena;
			pom = kat[i].celkem;
		}
		else
		{
			kat[i].celkem = pom + kat[i].dph;
			pom = kat[i].celkem;
		}
	}

	if (d != true)
	{
		cout << "----------------------------------------" << "\t\n";
		cout << CZtext("Celková cena bez DPH ") << "\t\t" << kat[x - 1].celkem << "\t\n";
	}
	else
	{
		cout << "----------------------------------------" << "\t\n";
		cout << CZtext("Celková cena s DPH ") << "\t\t\t" << kat[x - 1].celkem << "\t\n";
	}
}

int main()
{

	Katalog katalog[SIZE];
	int hodnota = addPolozka(katalog, SIZE);
	vypisPolozek(hodnota, katalog, d);
	souhlas_ANO_NE(katalog, hodnota, d);

	return 0;
}

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý