Zdravím som tu zasa, nakoľko som naprogramoval program s použitím smyček,
ktorý ma neposlúcha, som ho otestoval použitím jednoduchého kódu,
ktorý by mal prakticky zmeniť hodnotu uloženú na adrese mrknite na to:
#include <iostream>
using namespace std;
int cislo=50;
int funkcia(int *x);
void main()
{
funkcia(&cislo); //predáva ako argument hodnotu uloženú na adrese
cout<<"C++ s hodnotou: "<<cislo<<endl;
cin.get();
}
int funkcia(int *x)
{
*x-22; //a tu ju mení
cout<<"kde je zamena ?\n";
return *x;
}
Výstup:
kde je zamena ?
C++ s hodnotou: 50
--------------------
V čom je problém ? Žeby v dekláracii :smile13:
Je to takmer rovnaké ako toto:
#include <iostream>
using namespace std;
int cislo,druha,tretia;
char value;
enum code{pravda,nepravda};
code mocnina(int cislo,int*druha,int*tretia);
void main()
{
cout<<"Zadajte cislo na mocnenie v rozmedzi 1 az 30:";
cin>>cislo;
if(mocnina(cislo,&druha,&tretia)==pravda)
{
cout<<"Cislo: "<<endl;
cout<<"Na druhu: "<<druha<<endl;
cout<<"Na tretiu: "<<tretia<<endl;
cout<<"\n\n\n";
}
else
cout<<"Error...\n\n\n";
cout<<"Pokracovat ? (a / n)"<<endl;
char value;
cin>>value;
switch(value)
{
case 'a':
{
main();
break;
}
case 'n':
{
cout<<"Press enter to exit..."<<endl;
}
cin.get();
cin.get();
}
}
code mocnina(int cislo,int*druha,int*tretia)
{
if (cislo<1||cislo>20)
{
return nepravda;
}
else
{
*druha = cislo * cislo;
*tretia = cislo * cislo * cislo;
return pravda;
}
}