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

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

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

не вижу ошибки - C++

04.04.2011, 15:19. Просмотров 267. Ответов 0
Метки нет (Все метки)

программа компилируется,но выводит какие то иероглифы,помогите найти ошибки
#include<assert.h>
#include<iostream>
#include<string>
static const int N = 3; //количество "карточек" в массиве
static const int char_size = 256;

class note{
public:
char family_name[char_size];
int phone;
// и остальное.
private:
//nothing.
};

void add(note* const a, const int i); //заполняет i-тую "карточку"
void search(const char* const person,
const note* const a); //Поиск карточки по фамилии
void gsort(note* const a); //очевидно сортировка.

int main(void){
note a[N];
//заполняем:
for(int i = 0; i<N; i++) add(a,i);

//сортируем:
std::cout<<"==================================="<<std::endl;
for(int i = 0;i<N; i++)
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;

gsort(a);

std::cout<<"==================================="<<std::endl;
for(int i = 0;i<N; i++)
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;


//Ищем человека:
std::cout<<"кого ищем? : ";
char person[char_size];
std::cin>>person;

search(person,a);

return 0;
}

void add(note* const a, const int i){
assert((a!=NULL)&&(i>=0)&&(i<N));

//тут красивые запросы с проверкой вводимых данных.
//у нас - фамилия и телефон через пробел.
std::cout<<"\nфамилию и телефон через пробел введите пожалуйста."<<std::endl;
std::cin>>a[i].family_name>>a[i].phone;
}

void search(const char* const person, const note* const a){
assert( (a!=NULL)&&(person!=NULL)&&(N>0) );
//ниже должно быть красивое оформление и вывод всех данных
// по найденой карточке.
for(int i = 0;i<N; i++){
if(!strcmp(a[i].family_name, person)){
std::cout<<"найдено :";
std::cout<<a[i].family_name<<'\t'<<a[i].phone<<std::endl;
return;
}
}
std::cout<<"не найдено.";
}


void gsort(note* const a){
assert((a!=NULL)&&(N>0));
//гномья, разнообразия для:
int iterator = 1;
while(iterator<N){
if (a[iterator-1].phone > a[iterator].phone)
{
iterator++;}
else{
//обмен значениями (лучше написать функцию swap(a,b))
char str[char_size];
std::strcpy(str,a[iterator].family_name);
std::strcpy(a[iterator].family_name,
a[iterator-1].family_name);
std::strcpy(a[iterator-1].family_name,str);

int tmp = a[iterator].phone;
a[iterator].phone = a[iterator-1].phone;
a[iterator-1].phone = tmp;
//продолжаем:

iterator--;
if (iterator == 0) iterator = 1;
}
}
//отсортировано по убыванию.
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 15:19     не вижу ошибки
Посмотрите здесь:

не вижу ошибки - C++
у меня при любом в воде числа из заданного пользователем диапазона выводит угадали. Суть игры: пользователю предлагается вводить число из...

Не вижу последовательности - C++
Решаю задачи Абрамян. Не надо говорить решение. For 27. Скажите какая последовательность? Задание: Дано вещественное число X (|X| &lt; 1)...

Не вижу ошибку - C++
Здравствуйте! Не вижу в чём ошибка (выдает на 12 строчке). Так же возникла проблема с выравниванием по правому краю (нашел 2 варианта...

Не вижу ошибку - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int logarifm1(double *p1,...

Линейный алгоритм, а ошибку не вижу - C++
Вот задачка : Дано действительное число X. Не пользуясь никакими другими операциями, кроме умножения, сложения и вычитания, вычислить 1 -...

Не вижу сообщения из цикла фор - C++
Не представляю что это может быть. (строка 83) cout &lt;&lt; &quot;p1: &quot; &lt;&lt; p1 &lt;&lt; endl; cout &lt;&lt; &quot;i: &quot; &lt;&lt; i &lt;&lt; endl; //Листинг 8.11. Выделение...

То ли getchar мозги парит, то ли я что-то не вижу - C++
не срабатывает, получается бесконечный цикл... do { ch=getchar(); } while ((ch != 'y') | (ch!='n')); что не так,...

Игра Maze labirinth - не вижу начала игры - C++
Добрый вечер! Вопрос скорее по вижуал студио, хотя... // 8.15 sort.cpp : Defines the entry point for the console application. // ...

3, 4, 5 пункт меню программы не совсем коретно работает. Хоть убей но ошибку не вижу( - C++
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;iomanip&gt; #include&lt;fstream&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; #include...

Не вижу очевидной ошибки в jQuery.get - jQuery
Укажите, пожалуйста, на ошибку, почему код не срабатывает? $.get(&quot;upload.php&quot;, { num: num, R: R, imgdir:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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