Ho fatto un semplice programma che permette all'utente di scegliere un numero di dadi quindi indovinare il risultato ... Ho postato questo codice prima ma con la domanda sbagliata, quindi è stato cancellato ... ora non posso avere errori o avvertimenti su questo codice ma per qualche motivo questo avviso continua a scoppiare e non ho idea di come aggiustarlo ... "C4244 avviso: 'argomento': conversione da 'time_t' a 'unsigned int', possibile perdita di dati"avviso C4244: 'argomento': conversione da 'time_t' a 'unsigned int', possibile perdita di dati - C++
#include <iostream>
#include <string>
#include <cstdlib>
#include <time.h>
using namespace std;
int choice, dice, random;
int main(){
string decision;
srand (time(NULL));
while(decision != "no" || decision != "No")
{
std::cout << "how many dice would you like to use? ";
std::cin >> dice;
std::cout << "guess what number was thrown: ";
std::cin >> choice;
for(int i=0; i<dice;i++){
random = rand() % 6 + 1;
}
if(choice == random){
std::cout << "Congratulations, you got it right! \n";
std::cout << "Want to try again?(Yes/No) ";
std::cin >> decision;
} else{
std::cout << "Sorry, the number was " << random << "... better luck next time \n" ;
std::cout << "Want to try again?(Yes/No) ";
std::cin >> decision;
}
}
std::cout << "Press ENTER to continue...";
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
return 0;
}
questo è quello che sto cercando di capire, perché mi appare questo avvertimento: w C4244: 'argomento': conversione da 'time_t' a 'unsigned int', possibile perdita di dati
Il 'time_t' potrebbe essere un tipo a 64 bit, mentre' int' è di 32 bit. –
E, per favore, per l'amore di qualunque divinità in cui credi, scegli C o C++ e mantienilo. Includere 'cstdlib' e' time.h' mi fa venir voglia di venire a darti uno schiaffo in giro :-) – paxdiablo
LOL! Paxidiablo mi piacerebbe tanto attenermi al C++ ma questa classe mi impone di iniziare con C/C++ per poi migrare di più in C++ e abbandonare il C il più possibile –