od Vilik20 10. 11. 2009 18:04
Tohleto je kalkulačka a chci si tam dat vypočet faktorialu jenže s ním mi to nejede co mám špatně?
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
using namespace std;
int p;
int y;
int x;
int vysledek = 0;
void menu (void);
void scitani (void);
void odcitani (void);
void nasobeni (void);
void deleni (void);
void mocnina (void);
void odmocnina (void);
int faktorial (int n)
int Male(int y);
int main(int argc, char *argv[])
{
menu();
system("PAUSE");
return EXIT_SUCCESS;
}
void menu (void)
{
int c;
system ("color 3");
system ("cls");
printf("\t\tKALKULACKA-HLAVNI MENU\n\n\n");
printf("\t\t1.Scitani\n\t\t2.Odcitani\n\t\t3.Nasobeni\n\t\t4.Deleni\n");
printf("\t\t5.Mocnina\n\t\t6.Odmocnina\n\t\t7.Faktorial\n\n\n");
printf("\t\tVyber z moznosti(1-7):\n");
printf("\t\tJak chces vybrat cislo z pameti stlac 0\n\t\tcislo muzes vybrat jen jak jsi ho ulozil\n\n\t\t");
scanf("%d",&c);
switch(c)
{
case 1 : system("cls");
scitani();
system("PAUSE");
menu();
break;
case 2 : system("cls");
odcitani();
system("PAUSE");
menu();
break;
case 3 : system("cls");
nasobeni();
system("PAUSE");
menu();
break;
case 4 : system("cls");
deleni();
system("PAUSE");
menu();
break;
case 5 : system("cls");
mocnina ();
system("PAUSE");
menu();
break;
case 6 : system("cls");
odmocnina();
system("PAUSE");
menu();
break;
case 7 : system("cls");
faktorial();
system("PAUSE");
menu();
break;
default: printf ("Spatny znak!\nKONEC\n");
break;
}
}
void scitani (void)
{
int vysledek=0;
int vstup;
printf("Zadej prvni cislo ktere chces scitat\n");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("\ncislo z pameti je:%d\n",p);
}
printf("Zadej druhe cislo ktere chces scitat\n");
scanf("%d",&y);
if( y == 0)
{
y = p;
printf ("\ncislo z pameti je:%d\n",p);
}
vysledek = x+y;
printf("Vysledek je:%d\n",vysledek);
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=vysledek;
printf("\n\t\t\t%d byla ulozena do pameti\n",vysledek);
break;
default : system("pause");
break;
}
}
void odcitani(void)
{
int vysledek=0;
int vstup;
system ("cls");
printf("Zadej cislo od ktereho chces odcitat\n");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("cislo z pameti je:%d\n",p);
}
printf("Zadej cislo ktere chces odcitat\n");
scanf("%d",&y);
if( y == 0)
{
y = p;
printf("\n\t\t\t%d byla ulozena do pameti\n",vysledek);
}
vysledek= x-y;
printf("Rozdil je:%d\n",vysledek);
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=vysledek;
printf("Vysledek je:%d\n",vysledek);
break;
default : system("pause");
break;
}
}
void nasobeni (void)
{
int x;
int y;
int vysledek=0;
int vstup;
system ("cls");
printf("Zadej prvni cislo ktere chces nasobit\n");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("cislo z pameti je:%d\n",p);
}
printf("Zadej druhe cislo ktere chces nasobit\n");
scanf("%d",&y);
if( y == 0)
{
y = p;
printf("\n\t\t\t%d byla ulozena do pameti\n",vysledek);
}
for(int n = 0; n < x; n++)
{
vysledek =vysledek + y;
}
printf("Vysledek je:%d\n",vysledek);
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=vysledek;
printf("\n%d byla ulozena do pameti\n",vysledek);
break;
default : system("pause");
break;
}
}
void deleni (void)
{
int poc=0;
int vstup;
system("cls");
printf("Zadej cislo ktere chces delit:\n");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("cislo z pameti je:%d\n",p);
}
printf("Zadej cislo kterym chces delit:\n");
scanf("%d",&y);
if( y == 0)
{
y = p;
printf("\n\t\t\t%d byla ulozena do pameti\n",vysledek);
}
while(x>=y)
{
x=x-y;
poc++;
}
printf("Vysledek je:%d\n",poc);
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p = poc;
printf("\n%d byla ulozena do pameti\n",poc);
break;
default : system("pause");
break;
}
}
void mocnina (void)
{
int poc = 2;
int vysledek=0;
int vstup;
printf("Zadej cislo ktere chces umocnit na 2:\n");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("cislo z pameti je:%d\n",p);
}
while (poc != 1)
{
for(int n = 0; n < x; n++)
vysledek =vysledek + x;
poc--;
}
printf("Vysledek je:%d\n",vysledek);
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=vysledek;
printf("\n\t\t\t%d byla ulozena do pameti\n",vysledek);
break;
default : system("pause");
break;
}
}
int Male (int x)
{
vysledek=0;
for(int n = 0; n < x; n++)
{
vysledek = vysledek + x;
}
return vysledek;
}
void odmocnina (void)
{
int x;
int y = 1;
int vysledek = 0;
int vstup;
printf("Zadej cislo ktere chces odmocnit:");
scanf("%d",&x);
if( x == 0)
{
x = p;
printf ("cislo z pameti je:%d\n",p);
}
while(y <= x)
{
if(x == Male(y) )
{
printf(" vysledek je %d\n",y);
break;
}
else
y++;
}
if(y >= x)
printf("Odmocnina cisla neni cele cislo!!!\n");
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=y;
printf("\n\t\t\t%d byla ulozena do pameti\n",y);
break;
default : system("pause");
break;
}
}
int faktorial (int n)
{
int x=1;
for (int i=1; i<=n;i++)
{
x *=i;
}
return x;
}
cin.get(int n ;
cout << "Zadejte cislo:";
cin >> n;
cout << "faktorial " << n << " =" << faktorial (n);
)
cin.get();
}
printf("\n\n\n\t\t\t1.Navrat do menu\n\t\t\t2.Ulozeni vysledku do pameti\n\t\t\t");
scanf("%d",&vstup);
switch(vstup)
{
case 1 : menu();
break;
case 2 : p=y;
printf("\n\t\t\t%d byla ulozena do pameti\n",y);
break;
default : system("pause");
break;
}
}