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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
verona
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 31
#1

cannot convert "char *" to "char".... - C++

08.09.2010, 16:08. Просмотров 3237. Ответов 25
Метки нет (Все метки)

ПРОБЛЕМА в том, что выбивает ошибку cannot convert "char *" to "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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream.h>
#include <conio.h>
 
void main()
{
clrscr();
int i=0,f,p,a;
int password[5];
char login[5];
char log;
int pass;
 
login[1]="user1";
password[1]=11111;
login[2]="user2";
password[2]=22222;
login[3]="user3";
password[3]=33333;
login[4]="user4";
password[4]=44444;
login[5]="admin";
password[5]=12345;
   cout<<"\t LOGIN    :";cin>>log;
   cout<<"\t PASSWORD :";cin>>pass;
 
    for (i=1;i<=5;i++)
      {
      m2:if (login[i]==log)
      {
     m1: if(password[i]==pass)
        {
        cout<<"\n\t---welcome to the system---";goto m3;
        }
      else
        {
        cout<<"\t --ERROR PASSWORD--\n";f++;
        if (f<3)
        {
        cout<<"\t PASSWORD: ";
        cin>>pass;
        goto m1;
        }
        else { cout<<"COMPLETION OF SESSION";goto m7;}
        }
      }
     else
       {
        cout<<"\t --ERROR LOGIN--\n"; p++;
        if (p<3)
        {
        cout<<"\t LOGIN: ";
        cin>>log;
        goto m2;
        }
        else {
        cout<<"\t --ERROR--\n"<<"\npopitka nesank. dostupa";}
        }
      }
int j;
m3:
if (log=="admin")
   {
    cout<<"base of users:\n";
    for (j=1;j<5;j++)
    {
    cout<<"LOGIN:"<<login[j]<<"\n";
    cout<<"PASSWORD:"<<password[j]<<"\n";
    }}
m7:
 cout<<"\t End.";
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2010, 16:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос cannot convert "char *" to "char".... (C++):

Ошибка 6 error C2664: strtok: невозможно преобразовать параметр 1 из "const char *" в "char *" - C++
string s = &quot;555 44 55 66&quot;;//размер строки заранее неизвестен char* p = strtok(s.c_str(), ' '); не нравится такое...

error C2664: strcmp: невозможно преобразовать параметр 1 из "char (*)[20]" в "const char *" - C++
for(int i = 0; i&lt; 5; i++) { wr_struc (list); if (strcmp(&amp;list.Sostav,osn_sostav)==0 &amp;&amp; strcmp(&amp;list.MestoVkomande,attack)==0...

IntelliSense: несовместимые типы операндов ("char" и "const char *") - C++
привет всем! при таком коде: void main() { ifstream fin; ofstream fout; fin.open(&quot;input.txt&quot;); ...

Не открывается библиотека 'stdafx.h' и "char" не работает с параметром "char*" - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;cstring&gt; using namespace std; int one(char fam) //...

Невозможно преобразовать параметр 2 из "char" в "const char *" - C++
Ошибка strcpy: невозможно преобразовать параметр 2 из &quot;char&quot; в &quot;const char *&quot; //удаления из первой строки всех символов, встречающихся...

Несовместимые типы операндов "char" и "const char*" - C++
В чем проблема?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
08.09.2010, 17:16 #16
Использование goto плохой стиль программирование, используйте циклы.
bambino
193 / 19 / 4
Регистрация: 05.08.2010
Сообщений: 229
08.09.2010, 17:45 #17
Как по мне то,goto неуместен в больших проектах,так как он запутивает код програми,а в малих примерах его вполне можно юзать.
Impuls1989
6 / 6 / 0
Регистрация: 08.09.2010
Сообщений: 35
08.09.2010, 19:06 #18
Еще ошибка:
C
1
2
char log;
if (log=="admin")
char - один символ, а вы его сравниваете со строкой. Ну да это ладно, а Вам никто не говорил, что использование goto - плохой стиль программирования?
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
09.09.2010, 08:35 #19
Цитата Сообщение от rik_nel Посмотреть сообщение
Как по мне то,goto неуместен в больших проектах,так как он запутивает код програми,а в малих примерах его вполне можно юзать.
Если писать в мальньких проэктах, то со временем выработается привычка и вы будет писать goto и в больших проэктах поэтому лучше приучать себя с самого начала писать без goto. Но goto можно использывать например при выходе из нескольких вложеных циклов т.к. break не поможет.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.09.2010, 10:28 #20
Mencey,
Ну, можно с помощью нескольких ключей (по количеству вложенных циклов) выходить, но всё же по goto меньше заморочек... Но сам я никогда им не пользовался, даже не знаю, почему))) Всегда ключи))
Impuls1989
6 / 6 / 0
Регистрация: 08.09.2010
Сообщений: 35
09.09.2010, 10:39 #21
За всю мою практику я увидел лишь одну задачу, где goto был оправдан, идеально вписывался в программу и распутывал код программы. Мне нужно было написать Машину Тьюринга

Добавлено через 8 минут
Цитата Сообщение от verona Посмотреть сообщение
ПРОБЛЕМА в том, что выбивает ошибку cannot convert "char *" to "char"....
вот программа...посоветуйте что-то:
char * - это массив символов, а char - 1 символ. Ищите в каком месте не может преобразовать и исправляйте ошибку. Если хотите сравнить один символ, то так: if ('A' = str[0]){...}

и покажите наконец в каком месте ошибка?
Mencey
09.09.2010, 16:07
  #22

Не по теме:

Цитата Сообщение от Impuls1989 Посмотреть сообщение
char * - это массив символов
Если быть точнее, то указатель, а в случае массивов указатель на первы элемент массива.

Цитата Сообщение от silent_1991 Посмотреть сообщение
Mencey,
Ну, можно с помощью нескольких ключей (по количеству вложенных циклов) выходить, но всё же по goto меньше заморочек... Но сам я никогда им не пользовался, даже не знаю, почему))) Всегда ключи))
silent_1991, у меня к goto раньше были чуства не самые лучшие, но после изучения основ assembler'а (в котором чутли не на каждой строке использовался безусловный и условный переход) я понял что goto это нетак уж и плохо просто его использование должно быть оправдоным и по возможности закоментированым(имхо).

Impuls1989
6 / 6 / 0
Регистрация: 08.09.2010
Сообщений: 35
09.09.2010, 17:33 #23
Цитата Сообщение от Mencey Посмотреть сообщение

Не по теме:


silent_1991, у меня к goto раньше были чуства не самые лучшие, но после изучения основ assembler'а (в котором чутли не на каждой строке использовался безусловный и условный переход) я понял что goto это нетак уж и плохо просто его использование должно быть оправдоным и по возможности закоментированым(имхо).

Он там используется из за безысходности. Как вы по другому реализуете ветвление? Скажите. Вам было удобно лететь через всю программу, и искать где же находится эта чертова метка?
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
09.09.2010, 20:33 #24
Да прочитать чужую программу было очнь сложно именно из-за этих переходов.
Impuls1989
6 / 6 / 0
Регистрация: 08.09.2010
Сообщений: 35
10.09.2010, 01:35 #25
Но мы отвлекаемся от темы. Автор. На какие строки у Вас ругается компилятор?
verona
0 / 0 / 0
Регистрация: 08.09.2010
Сообщений: 31
15.10.2010, 01:25  [ТС] #26
закройте эту тему
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 01:25
Привет! Вот еще темы с ответами:

Error C2440: return: невозможно преобразовать "const char *" в "const char (&)[6]" - C++
Вроде все правильно а все равно не работает. Подскажите в чем ошибка #include &lt;iostream&gt; template&lt;typename T&gt; inline const T...

Ошибка "error C2446: :: нет преобразования "int" в "char *" - C++
Ошибка: &quot;error C2446: :: нет преобразования &quot;int&quot; в &quot;char *&quot; Когда нажимаю двойным кликом на ошибку меня перекидывает в файл...

C++ ошибка "Cannot convert 'char *' to char" - C++
void t(char *txt){ txt = &quot;1&quot;; } void main(){ clrscr(); char text = &quot;0&quot;;

Ошибка при компиляции "Cannot convert `std::string' to `const char*" - C++
Подскажите пожалуйста.Компилятор указывает на 13-ой позиции на ошибку типа: cannot convert `std::string' to `const char* for argument `1'...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.10.2010, 01:25
Ответ Создать тему
Опции темы

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