Int возвращается как случайная комбинация из 7 цифр

Я пытаюсь написать программу для своего класса C ++ и столкнулся со странной проблемой. Возвращая int «игральные кости» всегда выбирает случайные комбинации чисел и буквы c по какой-то причине. Сначала я думал, что мой генератор случайных чисел был неправильным, но даже если я установил кубик = 5, он возвращается как те же самые подобные случайные символы. Вот полный код, но насколько я могу судить, релевантная часть — это только int и dice.

#include "stdafx.h"#include <iostream>
#include <ctime>
#include <iomanip>
#include <cmath>
#include <fstream>
#include <cstdlib>
using namespace std;
int score, devilScore, tempScore, devilTempScore;
char input() {
char c;
bool valid=0;

while (!valid) {
cout << "[p]ass, [r]oll, or [f]orfeit: ";
cin >> c;
if (c == 'p' || c == 'r' || c == 'f') valid = true;
else cout << "Input invalid\n";
}
return c;
}

int dice() {
int dice;
dice = (rand() % 6) + 1;
return dice;
}void printScreen() {
switch(1){
case 1: cout << "         Player                 Devil \n";
case 2: cout << "          100                    100 \n";
case 3: cout << "       "; if (score <= 99 && score >= 95) { cout << score << ">"; }
else { cout << "   "; }cout << "95                    95"; if (devilScore <= 99 && devilScore >= 95) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 4: cout << "       "; if (score <= 94 && score >= 90) { cout << score << ">"; }
else { cout << "   "; }cout << "90        die        90"; if (devilScore <= 94 && devilScore >= 90) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 5: cout << "       "; if (score <= 89 && score >= 85) { cout << score << ">"; }
else { cout << "   "; }cout << "85        ___        85"; if (devilScore <= 89 && devilScore >= 85) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 6: cout << "       "; if (score <= 84 && score >= 80) { cout << score << ">"; }
else { cout << "   "; }cout << "80        |" << dice << "|        80"; if (devilScore <= 84 && devilScore >= 80) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 7: cout << "       "; if (score <= 79 && score >= 90) { cout << score << ">"; }
else { cout << "   "; }cout << "75        ___        75"; if (devilScore <= 79 && devilScore >= 75) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 8: cout << "       "; if (score <= 74 && score >= 70) { cout << score << ">"; }
else { cout << "   "; }cout << "70                   70"; if (devilScore <= 74 && devilScore >= 70) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 9: cout << "       "; if (score <= 69 && score >= 65) { cout << score << ">"; }
else { cout << "   "; }cout << "65                   65"; if (devilScore <= 69 && devilScore >= 65) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 10: cout << "       "; if (score <= 64 && score >= 60) { cout << score << ">"; }
else { cout << "   "; }cout << "60                   60"; if (devilScore <= 64 && devilScore >= 60) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 11: cout << "       "; if (score <= 59 && score >= 55) { cout << score << ">"; }
else { cout << "   "; }cout << "55                   55"; if (devilScore <= 59 && devilScore >= 55) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 12: cout << "       "; if (score <= 54 && score >= 50) { cout << score << ">"; }
else { cout << "   "; }cout << "50                   50"; if (devilScore <= 54 && devilScore >= 50) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 13: cout << "       "; if (score <= 49 && score >= 45) { cout << score << ">"; }
else { cout << "   "; }cout << "45                   45"; if (devilScore <= 49 && devilScore >= 45) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 14: cout << "       "; if (score <= 44 && score >= 40) { cout << score << ">"; }
else { cout << "   "; }cout << "40                   40"; if (devilScore <= 44 && devilScore >= 40) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 15: cout << "       "; if (score <= 39 && score >= 35) { cout << score << ">"; }
else { cout << "   "; }cout << "35                   35"; if (devilScore <= 39 && devilScore >= 35) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 16: cout << "       "; if (score <= 34 && score >= 30) { cout << score << ">"; }
else { cout << "   "; }cout << "30                   30"; if (devilScore <= 34 && devilScore >= 30) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 17: cout << "       "; if (score <= 29 && score >= 25) { cout << score << ">"; }
else { cout << "   "; }cout << "25                   25"; if (devilScore <= 29 && devilScore >= 25) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 18: cout << "       "; if (score <= 24 && score >= 20) { cout << score << ">"; }
else { cout << "   "; }cout << "20                   20"; if (devilScore <= 24 && devilScore >= 20) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 19: cout << "       "; if (score <= 19 && score >= 15) { cout << score << ">"; }
else { cout << "   "; }cout << "15                   15"; if (devilScore <= 19 && devilScore >= 15) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 20: cout << "       "; if (score <= 14 && score >= 10) { cout << score << ">"; }
else { cout << "   "; }cout << "10                   10"; if (devilScore <= 14 && devilScore >= 10) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 21: cout << "       "; if (score <= 9 && score >= 5) { cout << score << ">"; }
else { cout << "   "; }cout << " 5                   5 "; if (devilScore <= 9 && devilScore >= 5) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }
case 22: cout << "       "; if (score <= 4 && score >= 0) { cout << score << ">"; }
else { cout << "   "; }cout << " 0                   0 "; if (devilScore <= 4 && devilScore >= 0) { cout << "<" << devilScore << " \n"; }
else { cout << " \n"; }

}

}int main() {
srand (time(NULL));
int score = 30;
int devilScore = 25;

cout << dice << endl;
}

0

Решение

Вы печатаете адрес функции int dice(); если вы хотите позвонить, следует добавить круглые скобки:

cout << dice() << endl;
1

Другие решения

Заменить (адрес функции печати)

cout << dice << endl;

с (вызов функции и вывод результата)

cout << dice() << endl;

Остальная часть вашего кода работает нормально. Вы также должны заменить NULL с nullptr современный способ выразить нулевой указатель. Это также удаляет предупреждение компилятора.

Кстати: printScreen функция не используется. Задавая вопрос, вы должны дать нам минимальный рабочий пример. Это не минимально.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector