Форум программистов, компьютерный форум CyberForum.ru

Нужно что бы пароль и имя записывались в файл, как исправить? - C++

Восстановить пароль Регистрация
 
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
20.11.2010, 13:37     Нужно что бы пароль и имя записывались в файл, как исправить? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
int main()
{
    int const L=5, J=20;
        int a,i,N;
        char password[L], name[J];
        cout<<"Enter your login: ";
        cin>>name;
        N=strlen(name);
        srand(time(NULL));
        if (N<3|| N>20)
    {
    cout<<"Your login is beyond from 3 to 20 signs"<<endl;
    getch();
    exit(1);
    }
        password[0]=rand()%33+160;
        password[1]=rand()%33+160;
        password[2]=rand()%33+160;
        password[3]=rand()%26+65;
        password[4]=rand()%26+65;
 
                cout<<"Your password: ";
        for(i=0;i<L;i++)
                cout<<password[i];
        cout<<endl;
        int f;
    ofstream f;
    f.open("pass.txt");
    for (int i=0;i<L;i++) 
    f<<"Password: "<<password[i]<<endl;
    f.close();
        system("PAUSE");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2010, 13:37     Нужно что бы пароль и имя записывались в файл, как исправить?
Посмотрите здесь:

Данные записать в файл F1.txt, затем прочитать оттуда, обрабатывались и записывались в бинарный файл F2.bin с проверкой C++
C++ как вывести имя программы? именно имя, то что видно в провонике example.exe
C++ Написала программу,но работает не так, как нужно. Что исправить?
C++ Запускаеться только консоль результаты не показывает,что нужно исправить?
C++ что исправить? нужно вывести значения y
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
turtLe
3 / 3 / 2
Регистрация: 11.11.2009
Сообщений: 41
20.11.2010, 16:46     Нужно что бы пароль и имя записывались в файл, как исправить? #2
Цитата Сообщение от KeR Посмотреть сообщение
C++
1
2
int f;
ofstream f;}
для начала объясни значение этих двух строк.Чего ты ожидал от этого?
пароль ты записываешь в файл,в чем проблема сделать запись имени?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.11.2010, 16:53     Нужно что бы пароль и имя записывались в файл, как исправить? #3
Во первых. Массив char должен завершаться нулевым символом. Следовательно - он должен иметь размер 5+1. И следовательно шестой символ должен быть явно указан '\0'.
Затем, нет резона писать его через cout или в файл как массив. Поток умеет выводить массив char сразу.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
int main()
{
        srand(static_cast<unsigned>(time(0)));
        int const L=5, J=20;
        int a,i,N;
        char password[L+1], name[J];
        cout<<"Enter your login: ";
        cin>>name;
        N=strlen(name);
        if (N<3|| N>20)
    {
    cout<<"Your login is beyond from 3 to 20 signs"<<endl;
    getch();
    exit(1);
    }
                password[0]=rand()%33+160;
                password[1]=rand()%33+160;
                password[2]=rand()%33+160;
                password[3]=rand()%26+65;
                password[4]=rand()%26+65;
                password[5]='\0';
 
                cout<<"Your password: "<< password <<'\n';
        
        cout<<endl;
        ofstream f;
        f.open("pass.txt");
        f<<"your login: "<< name <<'\n';
        f<<"password: "<< password;
    f.close();
        system("PAUSE");
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.11.2010, 18:23     Нужно что бы пароль и имя записывались в файл, как исправить? #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Во первых. Массив char должен завершаться нулевым символом. Следовательно - он должен иметь размер 5+1. И следовательно шестой символ должен быть явно указан '\0'.
Тогда и J хорошо бы сделать 21, т.к. максимальная длина логина - 20 символов
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
20.11.2010, 18:24     Нужно что бы пароль и имя записывались в файл, как исправить? #5
Nameless One, Да. Пропустил.
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
20.11.2010, 22:32  [ТС]     Нужно что бы пароль и имя записывались в файл, как исправить? #6
Цитата Сообщение от Nameless One Посмотреть сообщение
Тогда и J хорошо бы сделать 21, т.к. максимальная длина логина - 20 символов
да это ребят необязательно, там по заданию это роли не играет, хотя сделаю так, спасибо

Добавлено через 15 минут
Ребят, а как сделать, что бы добавить password[5], password[6] и они представляли одно двухзначное число, равное N^4 mod 100, а если оно однозначное, то password[5]=0, а password[6] равно самому получившемосю числу?

Добавлено через 3 часа 49 минут
Все отбой)
Yandex
Объявления
20.11.2010, 22:32     Нужно что бы пароль и имя записывались в файл, как исправить?
Ответ Создать тему
Опции темы

Текущее время: 21:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru