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

Проверьте пожалуйста код - C++

Восстановить пароль Регистрация
 
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
11.10.2012, 23:39     Проверьте пожалуйста код #1
Программа должна проверить введенную строчку на соответствие слову как паролю.Условия Не меньше 8 символов, содержание латинских букв и цифр. код прилагается. не работает, помогите
Миниатюры
Проверьте пожалуйста код  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
11.10.2012, 23:41  [ТС]     Проверьте пожалуйста код #2
Вот текст кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(int argc, char* argv[])
{
char s=' ';
char A[20];
int i,k=0;
 
printf("vvedite parol:\n");
for (i = 0; i < 4; i++) {
       s=getchar();
       A[k]=s; k++; }
 
      for (i = 0; i <=k; i++) {
     if ('0'<=A[i]<='9')
         if ('A'<=A[i]<='Z')
     if ('a'<=A[i]<='z')printf("parol  veren\n");
     else printf("oshibka\n");break;}
 
 
                   getch();
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 00:05     Проверьте пожалуйста код #3
goto не используйте пожалуйста ни где.
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
bool fl,fl1,flag;
fl1=1;
while(fl1){
    fl=1;
    while(fl){
        printf("vvedite parol:\n");
        for (i = 0; i < 19; i++) {
            s=getchar();
            A[k]=s; k++;
        }
        if(k<8)
            fl=0;
    }
    flag=0;
    for (i = 0; i <=k; i++) {
        flag=1;
        if (('0'<=A[i]<='9')||('A'<=A[i]<='Z')||('a'<=A[i]<='z'))
            flag=0;
    }
    if(!flag){
        fl1=1;
        printf("oshibka\n");
    }
    else
        fl=0;
}
printf("parol veren\n");
getch();
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
12.10.2012, 00:08  [ТС]     Проверьте пожалуйста код #4
Ошибки [C++ Error] laba1.cpp(13): E2141 Declaration syntax error
[C++ Error] laba1.cpp(16): E2303 Type name expected
[C++ Error] laba1.cpp(16): E2238 Multiple declaration for 'fl1'
[C++ Error] laba1.cpp(14): E2344 Earlier declaration of 'fl1'
[C++ Error] laba1.cpp(17): E2040 Declaration terminated incorrectly
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 00:13     Проверьте пожалуйста код #5
ну в данном случае хватит stdio.h хотя я её пользовался только на первом курсе, сейчас для мемя боле предпочтительны ios библиотеки =) для гетча точно не помню какая нужна, возможно stdlib

Добавлено через 1 минуту
единственное у вас в программе если более 8 символов, но сами символы не подходят, то у вас задача рекращается, у меня задаче не прекратится пока не выполнятся все условия, если 2е условие не играет роли уберите внешний цикл
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
12.10.2012, 00:23  [ТС]     Проверьте пожалуйста код #6
Если не сложно киньте полностью рабочий код программы.

Добавлено через 3 минуты
MrGrig, не работает, ввожу подходящий пароль и ничего(abCD1234), тоже самое если ввожу не подходящие символы(
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 00:35     Проверьте пожалуйста код #7
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
#include<stdio.h>
#include<conio.h>/*библиотеки на всякий случай, к сожалению компилятора под рукой нет так что работоспособность проверить не могу*/
#include<stdlib.h>
 
int main(int argc, char* argv[])
{
 
char A[20];
int i,k;
bool fl,fl1,flag;
fl1=1;
while(fl1){
    fl=1;
    while(fl){
        printf("vvedite parol:\n");
        for (i = 0,k=0; i < 19; k++,i++) 
            A[k]=getchar();
        if(k<8)
            fl=0;
    }
    flag=0;
    for (i = 0; i <=k; i++) {
        if (!(('0'<=A[i]<='9')||('a'<=A[i]<='Z')))
            flag=1;
    }
    if(flag){
        fl1=1;
        printf("oshibka\n");
    }
    else
        fl=0;
}
printf("parol veren\n");
getch();
return(0);
}
должно работать
Mr.kto
 Аватар для Mr.kto
92 / 91 / 1
Регистрация: 18.08.2012
Сообщений: 309
12.10.2012, 00:40     Проверьте пожалуйста код #8
Цитата Сообщение от MrGrig Посмотреть сообщение
#include<stdlib.h>
зачем?

Добавлено через 41 секунду
Цитата Сообщение от MrGrig Посмотреть сообщение
для гетча точно не помню какая нужна, возможно stdlib
#include <conio.h>
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
12.10.2012, 00:40  [ТС]     Проверьте пожалуйста код #9
MrGrig, к сожалею нет, но все равно спасибо, буду искать ошибку, вводишь слово и ничего не пишет( ввожу слово из 8 букв с латинскими и цифрами а он снова пишет введите пароль. Еще аз о задаче, водишь минимум 8,максимум не ограничено но у меня 20 символов и проверяешь есть ли там латинские и цифры, если все норм, то пишешь пароль верен, если нет то ошибка и сначала вводить нужно. Помогите очень нужно!
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 00:54     Проверьте пожалуйста код #10
Цитата Сообщение от Mr.kto Посмотреть сообщение
зачем?

Добавлено через 41 секунду

#include <conio.h>
под рукой нету компилятора и я написал на всякий случай, просто обычно пишу проги где используются данные библиотеки, поэтому по привычке =)


Цитата Сообщение от Василий1192 Посмотреть сообщение
MrGrig, к сожалею нет, но все равно спасибо, буду искать ошибку, вводишь слово и ничего не пишет( ввожу слово из 8 букв с латинскими и цифрами а он снова пишет введите пароль
по эксперементируйте с последними условиями, и лучше делать это в отладчике, там видимо просто влаг ставится на обратный который нужен, пару прогонов и вы поймете что нужно изменить

Добавлено через 5 минут
Цитата Сообщение от Василий1192 Посмотреть сообщение
Еще аз о задаче, водишь минимум 8,максимум не ограничено но у меня 20 символов и проверяешь есть ли там латинские и цифры, если все норм, то пишешь пароль верен, если нет то ошибка и сначала вводить нужно
дело в том что моя программа выполняется лишь в том случае если пароль состоит лишь из цифр и латинских букв оО если хотябы 1 не соответствие флаг меняется и вас выкидывает в начало, если же вам именно нужно чтобы хотябы одна цифра или 1 символ присутствовал то уберите ! из условияи поменяйте чтобы с верху флагу присваивалась 1 а с низу 0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2012, 01:06     Проверьте пожалуйста код
Еще ссылки по теме:

Проверьте код пожалуйста C++
Написать код для игры НИМ. проверьте пожалуйста тот ли это код C++
C++ Проверьте код пожалуйста

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

Или воспользуйтесь поиском по форуму:
Василий1192
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 29
12.10.2012, 01:06  [ТС]     Проверьте пожалуйста код #11
MrGrig, нет мне как раз и нужно чтобы все символы соответствовали. В том то и дело что при вводе подходящего пароля все равно выкидывает в начало((
Yandex
Объявления
12.10.2012, 01:06     Проверьте пожалуйста код
Ответ Создать тему
Опции темы

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