프로그래밍에 익숙하지 않고 스택 오버플로입니다. 따라서 필자는 자신 만의 즐거움과 지식을 얻기 위해 간단한 데이터베이스를 구축했습니다. 사용자의 사용자 이름, 암호를 등록하고 사용자 ID를 할당합니다. 텍스트 파일로 사용자의 정보를 볼 수도 있습니다.반복하지 않고 텍스트 파일에 임의의 정수 쓰기
내 주된 문제는 프로그램이 사용자에게 1-1000 (예 : 최대 직원 수 1000)의 무작위 ID를 할당하도록하려는 것입니다.
이 코드 블록은 사용자가 새 사용자 이름과 암호를 등록 할 때 실행됩니다. 프로그램은이 부분에서 사용자 이름, 암호 및 사용자 ID를 출력합니다. 만든 각 사용자에 대해 임의의 숫자를 출력하도록 프로그램을 가져올 수 있지만 중복이없는 숫자를 생성 할 수는 없습니다.
사용할 수있는 사용자 ID가 더 이상 없으면 등록 프로세스가 완료되지 않는다는 메시지가 프로그램에 출력되어야합니다.
줄을 정리하여 화면을 지우는 기능을 만들었지 만 모든 것이 맨 아래에 있습니다. 내가 사용할 수있는 다른 기능이 있다면 기꺼이 알게 될 것입니다! 의 당신이 무작위 순열로 생성 된 열 개 값을 원하는 당신이 파일에 저장하고 싶은 말은하자
if (passwordCheck == password) {
const int minEmp = 1, maxEmp = 10;
srand(time(0));
userID = (rand() % (maxEmp - minEmp + 1)) + minEmp;
ofstream outfile (username + ".txt"); //Creates txt file with user name
outfile << "User ID: " << userID << endl << //Outputs info to txt file
"Account Username: "<< username << endl
<< "Account Password: " << password;
outfile.close();
clearScreen(); //My function to add lines to clear the screen
cout << endl << "Your account has been created." << endl
<< endl << "Returning to main menu.";
clearScreen();
mainMenu(); //Function to return back to menu
각 사용자마다 고유 한 난수를 생성 하시겠습니까? –
"_ 내 주요한 문제는 프로그램이 사용자에게 1-1000_에서 무작위로 ID를 할당하기를 원합니다."그리고 .. 여기서 문제가 어디 있습니까? 해당 범위에서 고유 한 ID를 생성하려면 가장 쉬운 해결책은 사용 된 모든 ID를 기억/읽은 다음 "사용 된 ID"목록에없는 ID를 생성 할 때까지 ID를 생성하는 것입니다. 너 그거 해봤 니? –
'srand'는 한 번만 호출해야합니다. 그리고 왜 '1'에서 시작하여 단순히 증분하는 ID를 할당 할 수 없습니까? – rustyx