5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
1

Перевести код с паскаля на Си

06.03.2012, 20:25. Показов 1145. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача написана под паскаль!
Знающим людям прошу,помогите написать ее на Borland C (чистый С)
Pascal
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
program lab17_1;
uses crt;
type baza=record
name:string[20];
sename:string[30];
group:string[7];
ser_bal:real;
end;
var stud:array[1..5] of baza;
i:byte;
begin
clrscr;
for i:=1 to 5 do
with stud[i] do
begin
write('Vvedite imja: ');
readln(name);
write('Vvedite familiju: ');
readln(sename);
write('Vvedite grupu: ');
readln(group);
write('Vvedite srednij bal: ');
readln(ser_bal);
clrscr;
end;
for i:=1 to 5 do
with stud[i] do
begin
writeln(name,' ',sename,' ',group,' ',ser_bal:3:2);
end;
writeln('Otlichiki: ');
for i:=1 to 5 do
with stud[i] do
if ser_bal=5 then
writeln(name,' ',sename,' ',group);
readln;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2012, 20:25
Ответы с готовыми решениями:

Перевести код из паскаля в си
var a, b: real; begin write('a = '); readln(a); write('b = '); readln(b); if a = b ...

Перевести код с Паскаля на СИ
Попробовал перевести но выдает не те результаты. Не подскажите где ошибка? Program P1; Var Map:...

Перевести код с Паскаля на C
var f,g: text; s: string; begin assign(f,'F:\text1.txt'); assign(g,'F:\text2.txt');...

Перевести код из Паскаля в Си
var a,b,c,d,e,f,g,h:real; f1,f2:real; begin write('a='); readln(a); write('b='); readln(b);...

10
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 21:37 2
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
#include <stdio.h>
 
struct Base
{
    char name[20];
    char sirname[20];
    char group[7];
    double srbal;
};
 
int main()
{
    Base students[5];
    for (int i = 0; i < 5; i++)
    {
        printf("Vvedite imya: ");
        scanf("%s", students[i].name);
 
        printf("Vvedite familiju: ");
        scanf("%s", students[i].sirname);
 
        printf("Vvedite gruppy: ");
        scanf("%s", students[i].group);
 
        printf("Vvedite srbal: ");
        scanf("%lf", &students[i].srbal);
    }
 
    for (int i = 0; i < 5; i++)
    {
        printf("\n%s %s %s %3.2f", students[i].name, students[i].sirname, students[i].group, students[i].srbal);
    }
 
    for (int i = 0; i < 5; i++)
    {
 
        if (students[i].srbal == 5)
        {
            printf("\nOtlichniki: %s %s %s", students[i].name, students[i].sirname, students[i].group);
        }   
    }
 
    return 0;
}
1
5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
06.03.2012, 21:46  [ТС] 3
multiple daclaration for 'i'
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 21:51 4
i объяви не в цикле, а вне циклов
1
5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
06.03.2012, 22:58  [ТС] 5
я немножко переделал и вот что получилось!

Pascal
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
#include <stdio.h>
 
struct Base
{
        char procesor[20];
        char Takchast[20];
        char Cina[7];
        
};
 
int main()
{int i;
char k;
        Base pc[5];
        for (i = 0; i < 5; i++)
        {
                printf("Vvedite nazvanie procesora: 
 
");
                scanf("%s", pc[i].procesor);
 
                printf("Vvedite taktovuyu 4astotu 
 
procesora: ");
                scanf("%s", pc[i].Takchast);
 
                printf("Vvedite cenu procesora: ");
                scanf("%s", pc[i].Cina);
 
        }
 
        for (i = 0; i < 5; i++)
        {
                printf("\n%s %s %s", pc[i].procesor, 
 
pc[i].Takchast, pc[i].Cina);
        }
  printf("Vvedite nazvanie iskomogo procesora:");
scanf("%s", k);
        for (i = 0; i < 5; i++)
        {
 
                if (pc[i].procesor == k)
                {
                        printf("\nOtlichniki: %s %s", 
 
pc[i].procesor,pc[i].Cina);
                }       
        }
 
        return 0;
}
но вот тут вот ошибка
Pascal
1
if (pc[i].procesor == k)
'cannot convert char to char *'
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:07 6
строки не сравнивают так, в си строка это массив символов, заканчивающийся терминальным нулем \0
их сравнивает функция strcmp
0
5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
06.03.2012, 23:18  [ТС] 7
а как тогда прировнять чтобы было разумно??
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:21 8
Цитата Сообщение от Fobos1994 Посмотреть сообщение
а как тогда прировнять чтобы было разумно??
вы мой пост читаете или нет? НЕЛЬЗЯ ПРИРАВНЯТЬ ибо строка - это массив символов!!!
сравнить две строки можно функцией strcmp!
0
5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
06.03.2012, 23:32  [ТС] 9
Да нет..я читаю,просто я и прошу чтобы Ты мне написал как она описыватся..
что мне просто писать?

C
1
if (pc[i].procesor strcmp k)
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
06.03.2012, 23:34 10
гугл и яндекс помогут, не ленитесь
0
5 / 5 / 1
Регистрация: 15.04.2011
Сообщений: 274
06.03.2012, 23:37  [ТС] 11
я очень Тебя прошу поправь эту строчку,как ее нужно писать правильно!
C
1
if (pc[i].procesor == k)
0
06.03.2012, 23:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2012, 23:37
Помогаю со студенческими работами здесь

Перевести код с Паскаля на Си
Думаю Вам не составит труда ). А я запутался) uses crt; var N,M:integer; function...

Перевести код из паскаля в си
program While16; var P, S, D:Real; K :Integer; begin Write('Введите процент: '); ...

Перевести код из Паскаля в Си
как перевести код паскаль в Си? program While16; var P, S, D:Real; K :Integer; ...

Перевести код работы с матрицей из Паскаля в Си
uses crt; const n=4; type Tmatr=array of real; procedure Vvod(var mt:Tmatr); var i,j:byte;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru