Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

ПОМОЩ! C++ Проблем със записване на данни във текстов файл!

Featured Replies

Хора, имам нужда от помощ.
Така, това е програма, която генерира шест случайни числа, които не се повтарят.
Обаче, искам генерираните числа да ги запиша в един текстов файл.
Това е елементартно, но нещо съм зацепил.
Ето този код изпълнява записването:  
         
            myfile << "[" << date << "]" << "\n";
            myfile << "Numbers: " << numbers << " " << "\n";
            myfile << "---------------------" << "\n";
            myfile.close();

А генерирането на числата се изпълнява тук:         

        for (i = 0; i < sizeof(numbers) / sizeof(*numbers); i++)
        {

            cout << numbers << " ";

        }

Абе вие ще си разгледате кода.
Та искам, числата, котито се генерират да се записват в текстовият файл.
Обаче, това - " myfile << "Numbers: " << numbers[ i ] << " " << "\n";" не работи.
Защото например ако се генерират "3, 46, 23, 11, 20, 15".
То като отворя файла ми извежда "1", просто някаква единица вместо шестте генерирани числа.



Кодът:

#include<fstream>
#include<iostream>
#include<windows.h>
#include<string>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>

using namespace std;

void setcolor(unsigned short color)
{
    HANDLE hcon = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hcon,color);
}

static void getSix (int *dst)
{
    int sz, pos, i, src[50];
    for (i = 0; i < sizeof(src) / sizeof(*src); i++)
        src = i + 1;
    sz = 50;
    for (i = 0; i < 6; i++)
    {
        pos = rand() % sz;
        dst = src[pos];
        src[pos] = src[sz - 1];
        sz--;
    }
}

int main()
{

    system("chcp 1251 > nul");
    system("title LotteryWin");

    ofstream myfile("Data.txt", ios::app);
    string date;
    string line;

    int choice;
    cout << "1.Generate Ticket Numbers" << endl;
    cout << "2.List Previous Ticket Numbers" << endl;
    cout << "3.Exit" << endl << endl;
    cout << "Please, enter your choice: ";
    cin >> choice;

    if(choice == 1)
    {

        system("cls");

        cout << "Please, enter the date." << endl;
        cout << "Date: ";
        cin.clear();
        cin.ignore(0xffff, '\n');
        getline(cin, date);

        system("cls");

        srand (time (NULL));
        int i, numbers[6];
        getSix (numbers);

        setcolor(10);
        cout << "Numbers are:" << endl;
        setcolor(7);

        for (i = 0; i < sizeof(numbers) / sizeof(*numbers); i++)
        {

            cout << numbers << " ";

        }
            myfile << "[" << date << "]" << "\n";
            myfile << "Numbers: " << numbers << " " << "\n";
            myfile << "---------------------" << "\n";
            myfile.close();

    }
    system("pause > nul");
    return 0;
}
 

Редактирано от Kristian Panov (преглед на промените)

  • Автор
преди 24 минути, ined написа:

Направи цикъл да записва 6-те числа едно по едно 

Ясно.
Ама как да направя цикълът да записва, някакъв пример ще дадеш ли?
Съжалявам, от съвсем скоро започнах да работя с файлове.
Имам предвид, да записва във файла точно там, където е текста "Numbers: ", тоест там където ги изброява.

Редактирано от Kristian Panov (преглед на промените)

преди 3 часа, Kristian Panov написа:

myfile << "Numbers: " << numbers << " " << "\n";

Какво ти е ясно ?

Човека ти каза да замениш това от цитата с това долу:

myfile << "Numbers: ";

for (int i = 0; i < 6; i++) myfile << numbers[i] << " ";

myfile << "\n";

 

Редактирано от Реджеп Иведик (преглед на промените)

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    26%
    Дарени 256.00 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.