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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
Benassi
0 / 0 / 0
Регистрация: 22.04.2009
Сообщений: 14
#1

Необходимо C++/C - C++

03.05.2009, 13:45. Просмотров 2411. Ответов 9
Метки нет (Все метки)

Собственно необходимо данный код (C++) перевести его в Cи. Пожалуйста помогите написал на C++ а необходимо на Си написать...
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
#include <stdio.h>
#include <string.h>
#define LIM 20
struct ST
{
char name[20];
char bd[8];
ST *next;
};
struct ST getst();
int main()
{
 
struct ST st[LIM],temp;
int i,j;
for(i=0;i<LIM;i++)
st[i]=getst();
puts("You entered this names \n");
for (i=0;i<LIM;i++)
{
printf(" Name: %s",st[i].name);
printf(" Birthday %s",st[i].bd);
}
printf("Summer babyes");
for(i=0;i<LIM;i++)
if(st[i].bd[1]>4 ||st[i].bd[1]<9)
printf("\n %s", st[i].name);
for (i=0;i<LIM-1; i++)
for (j=i+1;j<LIM;j++)
if (strcmp(st[i].name,st[j].name)>0)
{
temp=st[i];
st[i]=st[j];
st[j]=temp;
}
printf("\n Here sorted list ");
for (i=0;i<LIM;i++)
{
printf(" Name: %s",st[i].name);
printf(" Birthday %s",st[i].bd);
}
getchar();
}
struct ST getst()
{
struct ST inputcl, *st;
puts("Input data\n");
(*st).next=new(ST);
printf(" Input name");
gets(inputcl.name);
printf(" Input birthday");
gets(inputcl.bd);
return(inputcl);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
03.05.2009, 13:47     Необходимо C++/C #2
Так ведь здесь всё на Си.
P.S. Или я чего то не знаю.
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 13:53     Необходимо C++/C #3
Действительно, может наоборот в ++ перевести?
Benassi
0 / 0 / 0
Регистрация: 22.04.2009
Сообщений: 14
03.05.2009, 14:01  [ТС]     Необходимо C++/C #4
Народ смотрите я пробовал компилировать под *.c у меня выдает множество ошибок, такие как незнание например new(ST); и т.д. вот а под *cpp все отлично компилируется вот такая проблема
Может быть я чтото неправильно делаю, тогда поправьте...
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 14:05     Необходимо C++/C #5
А, ну так вместо new надо юзать malloc.
Код
(*st).next = (ST *) malloc(sizeof(struct ST));
radiohobbyt
192 / 190 / 4
Регистрация: 27.01.2009
Сообщений: 548
03.05.2009, 14:07     Необходимо C++/C #6
(*st).next=new(ST);
Замени на
(*st).next=malloc(sizeof(struct ST));
в си нет new
Benassi
0 / 0 / 0
Регистрация: 22.04.2009
Сообщений: 14
03.05.2009, 14:18  [ТС]     Необходимо C++/C #7
Заменил, как вы сказали.
Народ, а подскажите как исправить эти ошибки при компиляци:
32.c:8: ошибка: expected specifier-qualifier-list before ‘ST’
32.c: В функции ‘getst’:
32.c:48: ошибка: ‘struct ST’ не содержит элемента с именем ‘next’
32.c:48: предупреждение: несовместимая неявная декларация внутренней функции ‘malloc’
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 14:22     Необходимо C++/C #8
8 строка: struct ST *next;
и подключай <stdlib.h>
Benassi
0 / 0 / 0
Регистрация: 22.04.2009
Сообщений: 14
03.05.2009, 14:31  [ТС]     Необходимо C++/C #9
после подключения осталось:
32.c:9: ошибка: expected specifier-qualifier-list before ‘ST’
32.c: В функции ‘getst’:
32.c:49: ошибка: ‘struct ST’ не содержит элемента с именем ‘next’
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2009, 14:36     Необходимо C++/C
Еще ссылки по теме:

C++ Sh(x) Необходимо написать код
Необходимо скомпилировать проект C++
Необходимо выровнять предложение C++
Что необходимо сделать C++
Необходимо найти ошибку (С++) C++

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

Или воспользуйтесь поиском по форуму:
Gravity
557 / 551 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
03.05.2009, 14:36     Необходимо C++/C #10
Рабочий вариант. Сравни, может что-то пропустил.
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define LIM 20
struct ST
{
    char name[20];
    char bd[8];
    struct ST *next;
};
struct ST getst(void);
 
int main()
{
    struct ST st[LIM],temp;
    int i,j;
    for(i=0;i<LIM;i++)
    st[i]=getst();
    puts("You entered this names \n");
    for (i=0;i<LIM;i++)
    {
        printf(" Name: %s",st[i].name);
        printf(" Birthday %s",st[i].bd);
    }
    printf("Summer babyes");
    for(i=0;i<LIM;i++)
        if(st[i].bd[1]>4 ||st[i].bd[1]<9)
            printf("\n %s", st[i].name);
    for (i=0;i<LIM-1; i++)
        for (j=i+1;j<LIM;j++)
            if (strcmp(st[i].name,st[j].name)>0)
            {
                temp=st[i];
                st[i]=st[j];
                st[j]=temp;
            }
    printf("\n Here sorted list ");
    for (i=0;i<LIM;i++)
    {
        printf(" Name: %s",st[i].name);
        printf(" Birthday %s",st[i].bd);
    }
    getchar();
}
 
struct ST getst()
{
    struct ST inputcl, *st;
    
    puts("Input data\n");
    (*st).next = (struct ST*) malloc(sizeof(struct ST));
    
    printf(" Input name");
    gets(inputcl.name);
    printf(" Input birthday");
    gets(inputcl.bd);
    
    return(inputcl);
}
Yandex
Объявления
03.05.2009, 14:36     Необходимо C++/C
Ответ Создать тему
Опции темы

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