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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 15:35   #1
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию Структура С++

Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<dos.h>
void menu();
void sozd();
void prosm();
void  dobav();
void poisk();
void poisk_st();
void yd();
struct Avia
{
char naz[50],timev[5],timep[5];
char reys[10];
int mesta;
} r;

void main()
{
clrscr();
menu();
getch();
}

void menu()
{
clrscr();
int v;
for(;;)
{
printf("\n1. б®§¤*вм д*©«");
printf("\n2. Їа®б¬®ва §*ЇЁбҐ©");
printf("\n3. ¤®Ў*ўЁвм §*ЇЁбм");
printf("\n4. Ї®ЁбЄ Ї® Ј®а®¤г");
printf("\n5. Ї®ЁбЄ Ї® ўаҐ¬Ґ*Ё ўл«Ґв*");
printf("\n6. г¤*«Ґ*ЁҐ §*ЇЁбҐ©");
printf("\n7. ўл室");
printf("\nўлЎа*вм Їг*Єв ¬Ґ*о ->");
scanf("%d",&v);
switch(v)
{
case 1: sozd(); break;
case 2: prosm(); break;
case 3: dobav(); break;
case 4: poisk();  break;
case 5: poisk_st(); break;
case 6: yd(); break;
case 7:exit(1);delay(2000);
}
}
}

void sozd()
{
clrscr();
FILE *f;
f=fopen("spisok","w");
int prw=1;
while (prw==1)
{ printf("\nўўҐ¤ЁвҐ *®¬Ґа ३б* ");
  scanf("%s",&r.reys);
  printf("\nўўҐ¤ЁвҐ Їг*Єв **§**зҐ*Ёп ");
  scanf("%s",&r.naz);
  printf("\nўаҐ¬п ўл«Ґв* ");
  scanf("%s",&r.timev);
  printf("\nўўҐ¤ЁвҐ ўаҐ¬п ЇаЁ«Ґв* ");
  scanf("%s",&r.timep);
  printf("\nўўҐ¤ЁвҐ Є®«ЁзҐбвў® ¬Ґбв ў б*¬®«ҐвҐ ");
  scanf("%d",&r.mesta);
  fwrite(&r,sizeof(r),1,f);
  printf("\n Їа®¤®«¦Ёвм? 1-¤* 0-*Ґв");
  scanf("%d",&prw);
}
fclose(f);
getch();
menu();
}

void prosm()
{
clrscr();
FILE *f;
f=fopen("spisok","r");

while (fread(&r,sizeof(r),1,f)==1)
{ printf("\n %5s  %5s %5s %5s %8d ",r.reys, r.naz,r.timev,r.timep,r.mesta);
}
fclose(f);
getch();
menu();
}

void dobav()
{
clrscr();
FILE *f;
f=fopen("spisok","a");
int prw=1,k=0;
while (prw==1)
{ printf("\nўўҐ¤ЁвҐ *®¬Ґа ३б* ");
  scanf("%s",&r.reys);
  printf("\nўўҐ¤ЁвҐ Їг*Єв **§**зҐ*Ёп ");
  scanf("%s",&r.naz);
  printf("\nўаҐ¬п ўл«Ґв* ");
  scanf("%s",&r.timev);
  printf("\nўўҐ¤ЁвҐ ўаҐ¬п ЇаЁ«Ґв* ");
  scanf("%s",&r.timep);
  printf("\nўўҐ¤ЁвҐ Є®«ЁзҐбвў® ¬Ґбв ў б*¬®«ҐвҐ ");
  scanf("%d",&r.mesta);
  fwrite(&r,sizeof(r),1,f);
  printf("\n Їа®¤®«¦Ёвм? 1-¤* 0-*Ґв");
  scanf("%d",&prw);
  k++;
}
printf("¤®Ў*ў«Ґ*® §*ЇЁбҐ©: %d",k);
fclose(f);
getch();
menu();
}

void poisk()
{
clrscr();
FILE *f;
char g[50];
int v=0,y=1;
f=fopen("spisok","r");
while (y==1)
{
printf("ўўҐ¤ЁвҐ Ј®а®¤ ");
scanf("%s",&g);
rewind(f);
while (fread(&r,sizeof(r),1,f)==1)
{
if (strcmp(g,r.naz)==0)
{printf("\n %5s  %5s %15s %5s %8d ",r.reys, r.naz,r.timev,r.timep,r.mesta);
 v=1;}
}
if (v==0)
 printf("\n*Ґв в*Є®Ј® ३б*!");
printf("\nЇ®ўв®аЁвм Ї®ЁбЄ? 1-¤* 0-*Ґв");
scanf("%d",&y);
}
fclose(f);
getch();
menu();
}

void poisk_st()
{
clrscr();
FILE *f;
int v=0,k=0;
char y[5];
f=fopen("spisok","r");

printf("ўўҐ¤ЁвҐ ўаҐ¬п ўл«Ґв*: ");
scanf("%d",&y);
rewind(f);
while (fread(&r,sizeof(r),1,f)==1)
if (strcmp(y,r.timev)) k++;
printf("\n %5s %5s %15s %5s %8d ",r.reys, r.naz,r.timev,r.timep,r.mesta);

fclose(f);
getch();
menu();
}

void yd()
{
clrscr();
FILE *f,*u;
char *z;
f=fopen("spisok","r");
u=fopen("spisok2","w");
printf("ўўҐ¤ЁвҐ ३б ");
scanf("%s",&z);

while (fread(&r,sizeof(r),1,f)==1)
{ if (strcmp(z,r.reys))
  fwrite(&r,sizeof(r),1,u);
  else printf("%s г¤*«Ґ*",z);
}
fclose(f);
fclose(u);
remove("spisok");
rename("spisok2","spisok");
getch();
menu();

 }
Помогите найти косики, программа работает то нормально то с ошибками, на несколько раз ее пересывал одно и тоже.....
Defender42 вне форума Ответить с цитированием
Старый 05.04.2011, 16:21   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Это справедливо и нормально. Отладка (нахождение и устранение ошибок) - обязательная часть работы. И наиболее эффектифно ее выполняет автор.
Но если уж сильно нужна помощь, то обращайтесь ... контакты в профиле.
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 05.04.2011, 16:32   #3
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

ну хотя бы намекни где ошибся,не думаю что такая серьеная ошибочка....
Defender42 вне форума Ответить с цитированием
Старый 05.04.2011, 18:30   #4
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Я программу не тестировал. Я просто знаю, что по шагам любую ошибку найду.
Но браться или не браться за такую неблагодарную работу еще думаю.
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 05.04.2011, 19:03   #5
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

неблагодарную.....смешно.....
Defender42 вне форума Ответить с цитированием
Старый 05.04.2011, 19:26   #6
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Но это действительно так.
Человек написал сочинение (торопясь, не расставляя запятых) и говорит: "кто хочет проверить мое сочинение, поисправлять ошибки и расставить запятые..."
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 06.04.2011, 05:04   #7
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

я ее писал около часа,переписывал ее,и не могу найти где ошибся. Прога работает,например,создание файла работает нормально,просмотр уже с ошибками выводит, и вот так вся программа,что то нормально,что то с ошибками...

Последний раз редактировалось Defender42; 06.04.2011 в 05:12.
Defender42 вне форума Ответить с цитированием
Старый 06.04.2011, 05:08   #8
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

я ее писал около часа,переписывал ее,и не могу найти где ошибся. Прога работает,например,создание файла работает нормально,просмотр уже с ошибками выводит, и вот так вся программа,что то нормально,что то с ошибками...
Defender42 вне форума Ответить с цитированием
Старый 09.04.2011, 05:28   #9
Defender42
Пользователь
 
Регистрация: 27.12.2008
Сообщений: 89
По умолчанию

Ошибку нашел,тока незнаю как ее исправить. При вводе времени прибытия и вылета я ставлю ':' и из за него у меня вся программа работает не правельное,подскажите как исправить.
Defender42 вне форума Ответить с цитированием
Старый 09.04.2011, 12:45   #10
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Код:
  scanf("%s",&r.reys);
  printf("\nўўҐ¤ЁвҐ Їг*Єв **§**зҐ*Ёп ");
  scanf("%s",&r.naz);
  printf("\nўаҐ¬п ўл«Ґв* ");
  scanf("%s",&r.timev);
  printf("\nўўҐ¤ЁвҐ ўаҐ¬п ЇаЁ«Ґв* ");
  scanf("%s",&r.timep);
  printf("\nўўҐ¤ЁвҐ Є®«ЁзҐбвў® ¬Ґбв ў б*¬®«ҐвҐ ");
  scanf("%d",&r.mesta);
  fwrite(&r,sizeof(r),1,f);
  printf("\n Їа®¤®«¦Ёвм? 1-¤* 0-*Ґв");
  scanf("%d",&prw);
везде убрать &
onewho вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура. Си Usefur Помощь студентам 0 25.12.2010 16:53
Структура в С 4eburator Помощь студентам 0 14.10.2010 17:32
структура в С 4eburator Помощь студентам 3 13.10.2010 18:16
структура на С++ yula92 Помощь студентам 0 25.05.2010 17:39
структура cr1mson Общие вопросы C/C++ 3 14.01.2009 18:08