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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KeR
0 / 0 / 0
Регистрация: 05.12.2009
Сообщений: 102
#1

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

20.11.2010, 13:37. Просмотров 399. Ответов 5
Метки нет (Все метки)

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     Нужно что бы пароль и имя записывались в файл, как исправить?
Посмотрите здесь:

Работа с битами - в файл записывается не то, что нужно C++
C++ как вывести имя программы? именно имя, то что видно в провонике example.exe
C++ Написала программу,но работает не так, как нужно. Что исправить?
C++ Запускаеться только консоль результаты не показывает,что нужно исправить?
C++ что исправить? нужно вывести значения y
C++ Исправить регулярку, чтобы в rgxm записывалось последовательно логин, пароль, адрес сервера, порт и имя потока
Сделать либо так, чтобы в файл записывались рандомные матрица и вектор, либо из файла считывать C++
Запись в файл. После прохода программы содержимое файла не то, что нужно C++
Некорректный вывод результатов: что нужно исправить в коде? C++
C++ Нюансы синтаксиса: что означает запись return класс (имя, имя) ?
C++ Сделать так что бы в файл записывались только отличники

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
turtLe
3 / 3 / 2
Регистрация: 11.11.2009
Сообщений: 41
20.11.2010, 16:46     Нужно что бы пароль и имя записывались в файл, как исправить? #2
Цитата Сообщение от KeR Посмотреть сообщение
C++
1
2
int f;
ofstream f;}
для начала объясни значение этих двух строк.Чего ты ожидал от этого?
пароль ты записываешь в файл,в чем проблема сделать запись имени?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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
5761 / 3410 / 255
Регистрация: 08.02.2010
Сообщений: 7,412
20.11.2010, 18:23     Нужно что бы пароль и имя записывались в файл, как исправить? #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Во первых. Массив char должен завершаться нулевым символом. Следовательно - он должен иметь размер 5+1. И следовательно шестой символ должен быть явно указан '\0'.
Тогда и J хорошо бы сделать 21, т.к. максимальная длина логина - 20 символов
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 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     Нужно что бы пароль и имя записывались в файл, как исправить?
Ответ Создать тему
Опции темы

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