Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
1

Программа телефонный номер

04.09.2009, 20:01. Просмотров 1791. Ответов 24
Метки нет (Все метки)

Тут столкнулся с проблемой. Программа не выводит телефонный номер, при вводе русских символов, реагирует только на английский ввод.
Не знаю, вроде всё должно работать.Вот исходник:

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
#include <iostream>
#include <cstdio>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int i;
    char str[80];
    char numbers[10][80] = {
    "Том","555-332",
    "Мария","555-8976",
    "Джон","555-1037",
    "Раиса","555-1400",
    "Golovastik","222-5050"
    };
    cout<<"Введите имя:  ";
    cin>>str;
    for(i = 0; i < 10; i+=2)
    if(!strcmp(str,numbers[i]))
    {
        cout<<"Телефонный номер: "<<numbers[i+1]<<'\n';
        break;
    }
    if(i==10) cout<<"Отсутствует в каталоге. \n";
    cin.ignore();
    cin.get();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2009, 20:01
Ответы с готовыми решениями:

Создать структуру, содержаую данные фамилию, имя, дату рождения и телефонный номер
Создать структуру, содержаую данные фамилию, имя, дату рождения и телефонный...

Посмотрите код! (используя функцию strtok, разбить телефонный номер формата (555) 555-5555, введенный как строку, на лексемы)
Посмотрите код все правильно ли??? Задание звучит так, используя функцию...

Реализовать связь классов "телефонная книга" и родительский класс "телефонный номер"
Суть проблемы:есть дочерний класс &quot;телефонная книга&quot; и родительский класс...

Программа, запрашивающую номер месяца (1-12)
Создайте программу, запрашивающую номер месяца (1-12) и выводящую на экран...

Программа находит макс. номер в файле...
Написал программу с классами fstream, которая в определенном файле находит мин....

24
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
05.09.2009, 18:14 21
Есть такая хорошая программистская поговорка
Если программа работает, то лучше ничего там не трогай!!!
И поверь она себя оправдывает, поэтому используй лучше эту функцию.

Цитата Сообщение от Golovastik Посмотреть сообщение
Программа перестанет работать?
Потому что надо вернуть указатель на результирующую строку
0
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
05.09.2009, 18:17  [ТС] 22
Ответьте пожалуйста на вторую часть вопроса, в последнем посте. Это последний вопрос, окончательный, в этой теме.
0
chelovechek
сишник
Автор FAQ
130 / 37 / 1
Регистрация: 25.07.2009
Сообщений: 291
05.09.2009, 18:22 23
Golovastik, char - это только один символ, а char* - указатель на массив символов, т.е. строка.
0
Golovastik
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
05.09.2009, 18:24  [ТС] 24
А конкретней, в данной программе, почему программа не скомпилится,если написать так:
C++
1
char aladin(const char *balada)
а не так:

C++
1
char *aladin(const char *balada)
0
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
05.09.2009, 19:03 25
потому что синтаксис функции такой
C++
1
2
3
4
5
тип_возвращаемой_переменной Имя_функции(тип_параметра имя параметра)
{
        тело функции;
        return возвращаемая переменная;
}
В данном случае мы возвращаем переменную maska. Она у нас является массивом char'ов. Любой массив возвращается по указателю. Указатель возвращается как
C++
1
тип_переменной_на_которую_указывает_указатель*
В переменной maska есть 256 элементов и компилятор просто не понимает, что тебе надо вернуть, потому что
Цитата Сообщение от chelovechek Посмотреть сообщение
char - это только один символ, а char* - указатель на массив символов
Поэтому компилятор и выдает тебе эти законные 3 ошибки
Код
error C2440: 'return' : cannot convert from 'char [256]' to 'char'
error C2664: 'strcmp' : cannot convert parameter 2 from 'char' to 'const char *'
error C2678: binary '==' : no operator found which takes a left-hand operand of type 
             'std::string' (or there is no acceptable conversion)
0
05.09.2009, 19:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2009, 19:03

первая программа попытка номер три)
здравствуйте! начал читать книгу по c++ там предлагается написать программу для...

Программа вычисляющая номер позиции первого символа 0
Доброго времени суток Требуется написать такую программу: Используя тип...

Программа, показывающая номер человека в очереди по его фамилии
Помогите, пожалуйста! Нужно написать программу, показывающую номер человека...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

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