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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 23:06   #1
Margo93
Новичок
Джуниор
 
Регистрация: 12.05.2011
Сообщений: 1
По умолчанию Описать структуру. С.

Начали изучать язык Си, еще не могу отвыкнуть от Pascal,написала программу на нем,помогите пожалуйста доперевести на СИ и вдруг есть какие-либо ошибки..
Текст задания


Описать запись с именем ZNAK, содержащую следующие поля:
– фамилия, имя;
– знак Зодиака;
– дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми элементов типа
ZNAK;
– вывод таблицы на экран;
– записи упорядочить по датам рождения;
– вывод отсортированной таблицы на экран;
– вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
– если такого нет, выдать на дисплей соответствующее сообщение.
+ МЕНЮ

Текст программы
Код:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define N 8
struct znak
{
char name[30];
char zodiak[100];
int bday[3];
};
struct znak note[N];

void input(void)
{
for (int i=0; i<N;i++)
{
puts("Vvedite familiyu");
scanf("%s",note[i].name);
puts("Vvedite znak");
scanf("%s",note[i].zodiak);
puts("Vvedite den' rozdenya v formate DD MM GGGG");
scanf("%d %d %d",&note[i].bday[0],&note[i].bday[1],&note[i].bday[2]);
system("cls");
}
}
void output(void)
{
puts("|---------------------|-----------|---------------|");
puts("|       Familiya      |  Zodiak   |Den' rozhdeniya|");
puts("|---------------------|-----------|---------------|");
for (int i=0; i<N;i++)
printf("|%21s|%11d|%2d.%2d.%4d |\n",note[i].name,note[i].zodiak,note[i].bday[0],note[i].bday[1],note[i].bday[2]);
printf("|-------------------------------------------------|\n");
}
void sort(void)
{
	{
  for j=1 to N-1 do
    for i=1 to N-j do
     if(m[i].bday[2]) > (m[i+1].bday[2]) then
     
	  m[i]=buf[i];
      buf[i]=buf[i+1];
      buf[i+1]=m[i];
	}

	{for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])=(m[i+1].bday[2]) then
      if (m[i].bday[1]) > (m[i+1].bday[1]) then
	}
	{
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
	}
	{
   for j=1 to N-1 do
    for i=1 to N-j do
     if (m[i].bday[2])==(m[i+1].bday[2]) then
      if (m[i].bday[1]) == (m[i+1].bday[1]) then
       if (m[i].bday[0]) > (m[i+1].bday[0]) then
	}	   
	   {
      buf[1]=m[i];
      m[i]=m[i+1];
      m[i+1]=buf[1];
	 }
}
}

void search()
puts("VVedite familiyu");

 scanf(name);
  for i=1 to k do
   if m[i].name==fam then
   {
     puts("Фамилия:",m[i].f:14,'  ');
     puts("Знак зодиака:",m[i].zodiak:14,' ');
     puts("Дата рождения:");
      for j=1 to 3 do
       printf(m[i].bday[j],'.');
   }
  else
   puts("Неверно");

}
}


void main()
{
	int i,j;
	struct znak
input();
puts("Ishodnaya tablica");
output();
puts("Vyberete deystvie");
puts("1 - sortirovka");
puts("2 - poisk");
int i=0;
scanf("%d", &i);
switch(i)
{
case 1:sort();
	puts("otsortirivannaya");
	output();
	break;
case 2:search();
}
fflush(stdin);
char c=getchar();
return 0;
}
Margo93 вне форума Ответить с цитированием
Старый 12.05.2011, 23:54   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

for i=1 to k do
в С++ записывается for(i = 1; i <= k; i++) соответствено первое - начальное значение, второе - будет выполняться до тех пор пока это истинно, третье - что делать после завершения каждого "шага".

Код:
if (m1.name == fam)
{
    do something1;
    do something2;
}
else
{
   do something1;
   do something2;
}
Или если 1 оператор, то можно так (применимо и к for)
Код:
if (a < b)
   do smthng;
else
   do smthng2;
Все это можно было легко найти в гугле или учебнике)

И если void main() , то какой return 0?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 12.05.2011 в 23:59.
Alex11223 вне форума Ответить с цитированием
Старый 13.05.2011, 00:50   #3
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
И если void main() , то какой return 0?
main должен быть int
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 29.05.2012, 16:22   #4
timofei'ka
Новичок
Джуниор
 
Регистрация: 29.05.2012
Сообщений: 1
По умолчанию

нужна ваша помощь, нужно написать программу в с++(сам в этом полный ноль)
помогите пожалуйста; правда есть код этой программы, но его нужно отредактировать(т.к. многое не проходили, и много лишнего, на мой взгляд)

Описать запись с именем ZNAK, содержащую следующие поля:
– фамилия, имя;
– знак Зодиака;
– дата рождения (массив из трех чисел).

Написать программу, выполняющую следующие действия:
– ввод с клавиатуры данных в массив, состоящий из восьми элементов типа
ZNAK;
– вывод на экран информации о человеке, чья фамилия была введена с клавиатуры
– если такого нет, выдать на дисплей соответствующее сообщение.

585845250- скину код, который нужно исправить. помогите пожалуйста, очень надо

Последний раз редактировалось timofei'ka; 29.05.2012 в 16:26.
timofei'ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Для хранения данных о ноутбуках описать структуру вида: greendoom Помощь студентам 0 02.05.2011 19:05
Нужно описать структуру с объединением blinkapec Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.11.2010 12:40
Описать структуру ВадикСтрах Помощь студентам 2 21.11.2010 17:57
Описать структуру NOTE stellavin Общие вопросы .NET 1 13.12.2009 21:01
Описать структуру содержащую поля LuenFen Общие вопросы C/C++ 1 16.04.2009 23:00