Mam wielką prosbe musze zmienic wszystkie funkcje goto na if-y czy ktoś był by mi wstanie pomóc ??
/*
Program Kalkulator macierzowy: dodaje, mnoży, odejmuje macierze o rozmiarze 3x3
*/
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<time.h>
using namespace std;
int main()
{
start:
int a=0,b=0,wybormenu=0, wierszA=0, wierszB=0,wa=0, ka=0, wb=0, kb=0, liczba=0;
char odpA;
cout<<"Kalkulator macierzowy"<<endl;
int macierzA[3][3];
int macierzB[3][3];
int macierzC[3][3];
srand(time(NULL));// losowanie liczb
system("cls");
//wypełnianie macierzy A:
for(int i=0;i<3; i++)
{ for(int j=0; j<3; j++)
{ a=rand()%100;
macierzA[i][j]=a;
}
}
//wypełnianie macierzy B:
for(int k=0;k<3;k++)
{ for(int l=0; l<3; l++)
{ b=rand()%100;
macierzB[k][l]=b;
}
}
poczatek:
cout<<"MACIERZ A:"<<endl;
//wypisanie macierzy A:
for(int i=0;i<3; i++)
{ for(int j=0; j<3; j++)
{
cout<<" "<<macierzA[i][j]<<" ";// [i],[j] tablica dwuwymiarowa rozmiar i j
}
cout<<endl;
}
cout<<endl<<"MACIERZ B:"<<endl;
//wypisanie macierzy B:
for(int k=0;k<3;k++)
{ for(int l=0; l<3; l++)
{
cout<<" "<<macierzB[k][l]<<" ";
}
cout<<endl;
}
cout<<"MEMU: "<<endl<<endl;
cout<<"1. Zmiana danych w macierzy A"<<endl;
cout<<"2. Zmiana danych w macierzy B"<<endl;
cout<<"3. Dodawanie obu macierzy"<<endl;
cout<<"4. Odejmowanie obu macierzy"<<endl;
cout<<"5. Mnozenie obu macierzy"<<endl;
cout<<"6. Mnozenie macierzy A przez liczbe"<<endl;
cout<<"7. Mnozenie macierzy B przez liczbe"<<endl;
cout<<"8. Zakoncz program"<<endl;
cout<<"9. Uruchom ponownie program"<<endl;
cout<<"TWOJ WYBOR: ";
cin>>wybormenu;
switch(wybormenu)
{
//zmiana danych w macierzy A
case 1: cout<<endl<<"Podaj jaka zmienna chcesz poprawić: "<<endl;
cout<<"Numer wiersza: "; cin>>wa; cout<<"Numer kolumny: "; cin>>ka;
cout<<endl;
cout<<"Podaj wartosc jaka chcesz wstawic: "; cin>>wierszA;
macierzA[wa-1][ka-1]=wierszA;
system("cls");
goto poczatek;
break;
//zmiana danych w macierzy B
case 2: cout<<endl<<"Podaj jaka zmienna chcesz poprawić: "<<endl;
cout<<"Numer wiersza: "; cin>>wb; cout<<"Numer kolumny: "; cin>>kb;
cout<<endl;
cout<<"Podaj wartosc jaka chcesz wstawic: "; cin>>wierszB;
macierzB[wb-1][kb-1]=wierszB;
system("cls");
goto poczatek;
break;
//doawanie macierzy
case 3: cout<<"Dodawanie macierzy"<<endl;
if(3!=3 || 3!=3)
{ cout<<"Zle dane";}
else
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzC[i][j]=macierzA[i][j]+macierzB[i][j];
cout<<" "<<macierzC[i][j]<<" ";
}
cout<<endl;
}
}
cout<<"Czy podstawic macierz C za macierz A? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzA[i][j]=macierzC[i][j];
}
}
}
system("cls");
goto poczatek;
break;
//odejmowanie macierzy
case 4: cout<<"Odejmowanie macierzy"<<endl;
if(3!=3 || 3!=3)
{ cout<<"Zle dane";}
else
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzC[i][j]=macierzA[i][j]-macierzB[i][j];
cout<<" "<<macierzC[i][j]<<" ";
}
cout<<endl;
}
}
cout<<"Czy podstawic macierz C za macierz B? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzB[i][j]=macierzC[i][j];
}
}
}
system("cls");
goto poczatek;
break;
//mnożenie macierzy
case 5: cout<<"Mnozenie macierzy"<<endl;
if(3!=3 || 3!=3)
{ cout<<"Zle dane";}
else
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzC[i][j]=macierzA[i][j]*macierzB[i][j];
cout<<" "<<macierzC[i][j]<<" ";
}
cout<<endl;
}
}
cout<<"Czy podstawic macierz C za macierz A? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzA[i][j]=macierzC[i][j];
}
}
}
system("cls");
goto poczatek;
break;
//mnozenie macierzy A przez liczbe
case 6: cout<<"Mnozenie macierzy A przez liczbe"<<endl;
cout<<"Przez jaka liczbe pomnozyc macierz?: ";
cin>>liczba;
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzC[i][j]=macierzA[i][j]*liczba;
cout<<" "<<macierzC[i][j]<<" ";
}
cout<<endl;
}
cout<<"Czy podstawić macierz C za macierz A? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzA[i][j]=macierzC[i][j];
}
}
}
system("cls");
goto poczatek;
break;
//mnozenie macierzy B przez liczbe
case 7: cout<<"Mnozenie macierzy B przez liczbe"<<endl;
cout<<"Przez jaka liczbe pomnozyc macierz?: ";
cin>>liczba;
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzC[i][j]=macierzB[i][j]*liczba;
cout<<" "<<macierzC[i][j]<<" ";
}
cout<<endl;
}
cout<<"Czy podstawić macierz C za macierz B? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{
for(int i=0; i<3 ; i++)
{
for(int j=0; j<3; j++)
{
macierzB[i][j]=macierzC[i][j];
}
}
}
system("cls");
goto poczatek;
break;
//kończenie pracy programu
case 8: system("cls");
cout<<"Czy na pewno chcesz zakończyć program? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{ goto koniec; }
else
{ system("cls");
goto poczatek;}
break;
//ponowne uruchomienie programu
case 9: system("cls");
cout<<"Czy na pewno chcesz ponownie uruchomic program? (t/n)";
cin>>odpA;
if(odpA=='t'||odpA=='T')
{ system("cls");
goto start; }
else
{ system("cls");
goto poczatek;}
break;
default: cout<<"Zly wybor, sproboj jeszcze raz:";
}
koniec:
cout<<"......."<<endl
<<"Nacisnij ENTER aby zakonczyc";
getchar();
cin.ignore();
return 0;
}
goto
to nie jest funkcja ofc.