Cześć, w ramach nauki napisałem program, który liczy notę końcową w Skokach narciarskich na starych zasadach(bez wiatru) na jednej ze skoczni. Wyrzuca mi takie dwa błędy i nie bardzo wiem co jest nie tak. za ewentualną pomoc dzięki.
#include <iostream>
using namespace std;
void showmenu();
void info();
void rekordy();
char symulator(double);
int main() // multiple definition of main
{
void showmenu();
double nota = 0;
symulator(nota);
int choice;
cin >> choice;
while (choice != 4)
{
switch (choice)
{
case 1:
symulator(nota);
break;
case 2:
info();
break;
case 3:
rekordy();
break;
default:
cout << "Nie ma takiej opcji\n";
}
void showmenu();
cin >> choice;
}
cout << " Bye Bye\n";
return 0;
}
void menu()
{
cout << "Wybierz 1, 2, 3 lub 4. \n";
cout << "1: Kalkulator noty za skok\t 2: Informacje na temat skoczni\n";
cout << "3: Rekordy skoczni\t 4. Koniec\n";
}
void info()
{
cout << "Skocznia Hinterzarten\n";
cout << "Wielkość skoczni: \tHS 108\n";
cout << "Punkt K: \t95 m";
cout << "Wysokość wieży: 28 m\n";
cout << "Wysokość wieży: 28 m\n";
cout << "Długość najazdu: 83,25 m\n";
cout << "Nachylenie najazdu: 35,18°\n";
cout << "Długość progu: 6,25 m\n";
cout << "Nachylenie progu: 11,2°\n";
cout << "Wysokość progu: 2,58 m\n";
cout << "Nachylenie zeskoku: 35°\n";
cout << "Rok budowy: 1924\n";
cout << "Przebudowy: 1935, 1949, 1964, 1980-82, 1999\n";
}
void rekordy()
{
cout << " 111,0 m (Tobias Bogner GER, 27.02.2005, FIS)\n";
cout << " 111,0 m (Lars Bystøl NOR, 10.02.2008, COC)\n";
}
char symulator(double)
{
double nota = 0;
char name_surname[40];
cout << "Proszę podać imię oraz nazwisko skoczka\n";
cin.getline(name_surname, 40);
cout << "Proszę podać numer belki, z której został wykonany skok.\n";
cout << "(Minimum 0, maximum 20)";
int belka;
while (!(cin >> belka || belka > 20))
{
cin.clear();
while (cin.get() != '\n')
continue;
cout << "Tylko liczby z przedziału 0- 20! Proszę podać jeszcze raz.\n";
}
double odleglosc;
cout << "Proszę podać odległość wyrażoną w metrach z dokładnością do 0.5m\n";
while (!(cin >> odleglosc))
{
cin.clear();
while (cin.get() != '\n')
continue;
cout << "Tylko liczby! Spróbuj ponownie\n";
}
double noty[4];
cout << "Proszę podać trzy spośród pięciu not sędziowskich, jakie uzyskał zawodnik. Należy "
"odrzucić najmniejszą oraz największą wartość. Przedział 0-20, przeskok co 0.5\n";
cout << "(np. 16.0, 18.5 etc.\n";
int i = 0;
double sumanotzastyl;
if (cin >> noty[i] && noty[i] >= 20 && i < 3)
{
++i;
sumanotzastyl += sumanotzastyl + noty[i];
} // Nie bardzo wiem, jak odjąć największą i najmniejszą wartość
else
{
cin.clear();
while (cin.get() != '\n')
;
cout << "Proszę podać jeszcze raz\n";
}
if (odleglosc < 95 && odleglosc > 1)
{
double roznicametrow1 = 95 - odleglosc;
nota = 60 + (roznicametrow1 * 2) + (64 - (belka / 2) * 6.4) + sumanotzastyl;
}
else if (odleglosc == 95)
{
nota = 60 + (64 - (belka / 2) * 6.4) + sumanotzastyl;
}
else if (odleglosc > 95)
{
double roznicametrow2 = odleglosc - 95;
nota = 60 + (roznicametrow2 * 2) + (64 - (belka / 2) * 6.4) + sumanotzastyl;
}
else
cout << "Coś poszło nie tak./n";
return nota;
}