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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2009, 12:50   #1
Freez
 
Регистрация: 08.04.2009
Сообщений: 5
Счастье Помогите с поиском в списке

Помогите исправить прогу ,чтобы работала.Ошибок компеляция не выдаёт, но при запуске прога поиска не работает.
printf("\nPOISK\n");
char *isk;
printf("Vvedite iskomyi fucul ");
scanf("%isk",&isk);
print("--------------------------------------------------------------------\n"); printf("| nomer | Familiya,inicial | Facultet | Nomer special |\n"); printf("--------------------------------------------------------------------\n");
for(i=0;i<n;i++)
if(strcmp(a[i].fuc,isk)==0)
printf(" %12d %14s %17s %17ld\n",a[i].nomer,a[i].fio,a[i].fuc,a[i].spec);
printf("--------------------------------------------------------------------\n");[/SIZE][/SIZE][/SIZE]
Freez вне форума Ответить с цитированием
Старый 21.05.2009, 12:51   #2
Freez
 
Регистрация: 08.04.2009
Сообщений: 5
По умолчанию

Вот полная прога

#include<stdio.h>
#include<conio.h>
#include<string>
void main()
{
struct tip
{
int nomer;
char fio[20];
char fuc[5];
long spec;
};
int n,i;
char s[5],s1[5];
struct tip *a;
char z;
a=NULL;
n=0;
do
{
printf("\nVyberite deistvie:\n1-Vvod s klaviatury\n2-Vvod iz faila\n3-Udalenie\n4-Sortirovka\n5-Vivod massiva na ekran\n6-Vivod v fail\n7-Poisk\n8-Exit\n");
z=getch();
fflush(stdin);
if ((a==NULL)&&(z>2)&&(z<8))printf("\n oshibka\n");
else
switch(z)
{
case '1':
printf("\nVvedite chislo zapisei v spiske: ");
scanf("%d",&n);
if (a!=NULL)
delete []a;
a=new tip[n];
printf("\nVvedite spisok po polyam:\n");
for (int i=0;i<n;i++)
{
printf("nomer po poryad "); scanf("%d",&a[i].nomer);
printf("Familiya, inicial "); scanf("%s",&a[i].fio);
printf("Facultet "); scanf("%s",&a[i].fuc);
printf("Nomer special "); scanf("%ld",&a[i].spec);
printf("\n========================= ==\n");
}
break;
case '2':
FILE*f_in;
char fname[256];
printf("\nvvedite imya faila\n");
gets(fname);
f_in=fopen(fname,"rb");
if (f_in==NULL) printf("\noshibka\n");
else
{ int i;
if(fscanf(f_in,"%d",&n)!=1)
{
printf("\nOshibka\n");
n=0;
}
else
{
a=new tip[n];
for(i=0; i<n; i++)
fscanf(f_in," %d %s %s %ld",&a[i].nomer,&a[i].fio,&a[i].fuc,&a[i].spec);
}
}
break;
case '3':
int i,j;
j=0;
for(i=0;i<n;i++)
{
if ((a[i].spec)<102030)
{
for(j=i;j<n-1;j++)
a[j]=a[j+1];
n=n-1; i=i-1;
}
}
break;
case '4':
int key;
struct tip zap;
do
{
key=0;
for (i=0;i<n-1;i++)
if (a[i].spec > a[i+1].spec)
{
key=1;
zap=a[i];
a[i]=a[i+1];
a[i+1]=zap;
}
}
while(key!=0);
break;
case '5':
printf("\nmassiv:\n");
printf("--------------------------------------------------------------------\n");
printf("| nomer | Familiya,inicial | Facultet | Nomer special |\n");
printf("--------------------------------------------------------------------\n");
for (int i=0;i<n;i++)
{
printf("%12d",a[i].nomer);
printf("%14s",a[i].fio);
printf("%17s",a[i].fuc);
printf("%17ld",a[i].spec);
printf("\n");
printf("--------------------------------------------------------------------\n");
}
break;
case '6':
FILE*f_out;
printf("\nvvedite imya faila\n");
gets(fname);
f_out=fopen(fname,"w");
if (f_out==NULL) printf("\noshibka\n");
else
{
fprintf(f_out," %d\n",n);
for(int i=0;i<n;i++)
fprintf(f_out," %d %s %s %ld\n",a[i].nomer,a[i].fio,a[i].fuc,a[i].spec);
fclose(f_out);
}
break;
case '7':
printf("\nPOISK\n");
char *isk;
printf("Vvedite iskomyi fucul ");
scanf("%isk",&isk);
printf("--------------------------------------------------------------------\n");
printf("| nomer | Familiya,inicial | Facultet | Nomer special |\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i<n;i++)
if(strcmp(a[i].fuc,isk)==0)
printf(" %12d %14s %17s %17ld\n",a[i].nomer,a[i].fio,a[i].fuc,a[i].spec);
printf("--------------------------------------------------------------------\n");
break;
default: if(z!='8') printf("\nnevernoe deistvie\n");
}
}
while(z!='8');
delete []a;
}
Freez вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с поиском EugenZyr Помощь студентам 1 07.05.2008 14:02
Помогите с поиском 1234 БД в Delphi 5 01.04.2008 11:33
Помогите с поиском Egych PHP 1 09.08.2007 08:00