ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

В помощь студенту по С или C++
  #1  
Старый 15.12.2009, 20:18
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию В помощь студенту по С или C++

Примерно такую прогу обычно сдают студенты 2-го курса.В прогу входит открытие файла, записать в файл массива, чтение из файла в массив и сортировка массива методом перебора(Прога написанна на Turbo C++)
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
void write_file(FILE *f, char *file_name,int size);
int main()
{
int a;
FILE *f1;
srand(time(NULL));
char *file_name = "file_in.txt";
char array[256];
printf("Random massiv:\n");
f1 =fopen(file_name,"wr");
    if(f1==NULL)
	printf("Error open file");
	else
	{
	  for(int i=0;i<256;i++)
	  {
	    a = rand() % 100;
	    array[i] = a;
	    if(i>0&&i<254)
	    {
	    fprintf(f1,"%d,",array[i]);
	    printf("%d,",array[i]);
	    }
	    if(i==255)
	    {
	    fprintf(f1,"%d.",array[i]);
	    printf("%d.",array[i]);
	    }
	  }
	  fclose(f1);
	}
getch();
write_file(f1,file_name,256);
clrscr();
return 0;
}
void write_file(FILE *f,char *file_name, int size)
{
FILE *file_out;
file_out = fopen("file_out.txt","w");
f = fopen(file_name,"r");
int int_from_file,i=0;
char c;
char mass[256];
while(fscanf(f,"%d %c",&int_from_file,c)!=EOF)
{ mass[i] = int_from_file;
  i++;
}
int min;
int temp;
for(int r=0;r<size-1;r++)
{
 min = r;
  for(int j=r+1;j<size;j++)
  {
    if(mass[j]<mass[min])
    {
      min=j;
    }
  }
  temp = mass[r];
  mass[r] = mass[min];
  mass[min] = temp;
}
fclose(f);
if(file_out==NULL)
    printf("Error open file");
 else
  printf("\nOtsortirovanii massiv\n");
   for(int d=0;d<size;d++)
    {
     if(d>0&&d<size)
      {
       fprintf(file_out,"%d,",mass[d]);
       printf("%d,",mass[d]);
      }
     if(d==size-1)
      {
       fprintf(file_out,"%d.",mass[d]);
       printf("%d.",mass[d]);
      }
    }
fclose(file_out);
getch();
}
Если кому что не понятно , пишите ответим

Последний раз редактировалось cheater_man; 17.12.2009 в 12:46..
 
Ответить с цитированием

  #2  
Старый 15.12.2009, 20:26
Аватар для ASQX
ASQX
Познающий
Регистрация: 21.06.2008
Сообщений: 57
Провел на форуме:
633209

Репутация: 44
Отправить сообщение для ASQX с помощью ICQ
По умолчанию

разве в С++ ф-ция main не должна возвращять int число?
 
Ответить с цитированием

  #3  
Старый 15.12.2009, 20:37
Аватар для rushter
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Цитата:
Сообщение от ASQX  
разве в С++ ф-ция main не должна возвращять int число?
Если void,то нет.
__________________
Blog
 
Ответить с цитированием

  #4  
Старый 16.12.2009, 00:16
Аватар для razb
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Вообще не могу понять зачем эта тема?
Уже есть тема для помощи студентам с лабами, хватит засирать раздел!
 
Ответить с цитированием

  #5  
Старый 16.12.2009, 04:54
Аватар для 0xF0RD
0xF0RD
Новичок
Регистрация: 02.12.2009
Сообщений: 19
Провел на форуме:
131508

Репутация: 8
По умолчанию

Вообще, по правилам языка С++ , если функция main() имеет тип возвращаемого значения void, то она должна заканчиваться так exit (0), где 0-код возврата
 
Ответить с цитированием

  #6  
Старый 16.12.2009, 13:54
Аватар для R1der23
R1der23
Новичок
Регистрация: 28.07.2008
Сообщений: 25
Провел на форуме:
139293

Репутация: 0
Отправить сообщение для R1der23 с помощью ICQ
По умолчанию

вообще то по стандарту с++ функция main должна возвращать int ..
 
Ответить с цитированием

  #7  
Старый 16.12.2009, 23:23
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Нет стандарта у main, и не обязательно она возвращать int.
Например могу еще и вот так написать
Код:
void main(void)
{
....
}
И это не будет считаться за ошибку, т.к main это главный поток программы и он должен быть не обязательно int
А эта тема создана для студентов и всё на это
 
Ответить с цитированием

  #8  
Старый 17.12.2009, 01:40
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
Нет стандарта у main, и не обязательно она возвращать int.
Есть.
Только вот в нем написано should.
Т.е. "рекомендуется", которое применено к компилеру.
 
Ответить с цитированием

  #9  
Старый 17.12.2009, 02:30
Аватар для vdm
vdm
Новичок
Регистрация: 16.12.2009
Сообщений: 3
Провел на форуме:
1488

Репутация: 5
По умолчанию

По стандарту всё-таки int. Есть (плохие) компилеры, которые это глотают, но вообще это некорректно. Программа должна хоть что-то отдавать ОС, т.е. обычно 0 в случае отсутствия ошибки - это весьма удобно, так как exit code тоже можно обработать уже в самой ОС, например так:

Код:
./proga
if [ $? -ne 0 ]; then
  echo "Shit happens";
fi
 
Ответить с цитированием

  #10  
Старый 17.12.2009, 12:45
Аватар для cheater_man
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
Провел на форуме:
709575

Репутация: 17
По умолчанию

Цитата:
Сообщение от vdm  
По стандарту всё-таки int. Есть (плохие) компилеры, которые это глотают, но вообще это некорректно. Программа должна хоть что-то отдавать ОС, т.е. обычно 0 в случае отсутствия ошибки - это весьма удобно, так как exit code тоже можно обработать уже в самой ОС, например так:

Код:
./proga
if [ $? -ne 0 ]; then
  echo "Shit happens";
fi
Да всетаки соглашусь, что main должна быть int. Гуглил на счет main и в некоторых стaтьяx пишут:
Код:
viod main()
{
...
}
Все таки это не правильно! Действительно правильней будет так:
Код:
int main()
{
...
return 0;
}
->http://ru.wikipedia.org/wiki/C%2B%2B
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статейки УК Украины.Выборка по ИТ и не только. liquidcube Статьи 23 10.12.2009 06:23
Взлом E-Mail и анкет Vkontakte.ru на заказ Frost26 О Работе 25 19.11.2009 22:00
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Закон Sinay Авторские статьи 15 01.02.2009 22:55
10 вещей, которые вам нужно знать про Vista Firewall ground_zero Мировые новости 2 11.02.2007 19:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ