Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 16:47   #1
Kolaps
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 15
Сообщение Строки, функции

Помогите переделать в функции(на Си).
Я тут начал, первая функция работает, а вот вторая выдаёт ошибки и я не понимаю в чем проблема

Код:
#include <string.h>
#include <conio.h>
#include<stdlib.h>
#include<stdio.h>

FILE *pf;

void vvod_stroki(char *a)
{
pf=fopen("kil.txt","wt");
if(pf!=0)
{

        printf("Vedite stroky\n ");
        fflush(stdin);
        gets(a);
        fputs(a,pf);
        fclose(pf);
}
else{
    printf("error W");
}
}

void pokaz_kod(int tr,int dl, char symb)
{
 int i;
 char *a;
pf=fopen("kil.txt","rt");
symb=a[0];
tr=(int)(symb);
printf("1 *** %d ***",tr);
dl=strlen(a);
symb=a[dl-1];
tr=(int)(symb);
printf("%d *** %d ***",dl-1,tr);
}

void main(void)
{
char a[101],symb;
int i,tr,k,dl;
vvod_stroki(a);
printf("Vvedenaia stroka: ");
puts(a);
pokaz_kod(tr,dl,symb,*a);
printf("");
puts(tr);
}

Последний раз редактировалось Kolaps; 04.05.2012 в 17:31.
Kolaps вне форума Ответить с цитированием
Старый 04.05.2012, 16:55   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

А что за ошибку то выдает и в какой строке?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 04.05.2012, 17:02   #3
Kolaps
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 15
По умолчанию

В 35-ой где symb=a[0] и 39-ой где symb=a[dl-1] строке.

Ну пишет вот что:
индексами значение не является ни массивом, ни указателем.

Я новичок.
Поэтому не очень понятно.
Kolaps вне форума Ответить с цитированием
Старый 04.05.2012, 17:18   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вы посмотрите что у вас a, и что вы пытаетесь с ним сделать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.05.2012, 17:28   #5
Kolaps
Пользователь
 
Регистрация: 21.04.2012
Сообщений: 15
По умолчанию

Я изменил но все ровно, что то не то

Не вините сильно в тупости)
Kolaps вне форума Ответить с цитированием
Старый 05.05.2012, 01:10   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

подсказка, сравните типы передаваемые в процедуре ввода, и в процедуре вывода(+ разименовывание в вызове последней не надо)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.05.2012, 00:54   #7
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

Пепел Феникса, не могли бы Вы, пояснить зачем разыменование вообще? я плохо разбираюсь с операторами & *, и указателями.
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 06.05.2012, 02:17   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

& взятие адреса.
* разименовывание адреса, для взятия элемента по адресу.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.05.2012, 11:01   #9
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Сообщений: 155
По умолчанию

В а хранится мусор - вы ничего не присвоили и не инициализировали.
rmv240899 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели, строки, функции Vera_0709 Общие вопросы C/C++ 3 05.01.2012 01:04
Строки и функции Batut Помощь студентам 1 10.10.2011 11:31
Функции,строки на Си Defender42 Помощь студентам 13 20.03.2011 16:57
функции строки CodeNOT Общие вопросы C/C++ 1 20.12.2010 00:13
Функции и массивы в С++.Строки. Metallica Помощь студентам 0 23.11.2010 18:40