Здравствуйте, помогите немного подредачить код.
Все работает как положено, лишь один косяк есть .
В конце когда вводишь результат нужно по вводу маршрута который введен введён уже находить его , а у меня работает по номеру маршрутах
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 3
struct MARSH
{
int num;
char start[50];
char stop[50];
};
void print_marsh(int index);
void input_marsh(int index);
void sort_marsh(struct MARSH marsh[]);
struct MARSH marshruty[8];
int main()
{
int i,res;
for(i = 0;i < N;i++)
input_marsh(i);
sort_marsh(marshruty);
printf("======================\n");
for(i = 0;i < N;i++)
{
print_marsh(i);
printf("================\n");
}
do
{
scanf("%d",&res);
for(i = 0;i < N;i++)
{
if (marshruty[i].num == res)
{
printf("================\n");
print_marsh(i);
printf("================\n");
break;
}
else if(i == N - 1)
{
printf("Takogo marshruta net\n");
break;
}
}
}while(res != 999);
getch();
return 0;
}
void print_marsh(int index)
{
printf("Nomer marshruta: %d\n",marshruty[index].num);
printf("Nazvanie nachalnogo marshruta: %s\n",marshruty[index].start);
printf("Nazvanie konechnogo marshruta: %s\n",marshruty[index].stop);
}
void input_marsh(int index)
{
printf("Vvedite nomer marshruta: ");
scanf("%d",&marshruty[index].num);
printf("Vvedite nazvanie nachlnogo marshruta: ");
scanf("%s",&marshruty[index].start);
printf("Vvedite nazvanie konechnogo marshryta: ");
scanf("%s",&marshruty[index].stop);
}
void sort_marsh(struct MARSH marsh[])
{
int i,j;
struct MARSH temp;
for(i = 0;i < N;i++)
for(j = N - 1;j > i;j--)
if (marsh[j - 1].num> marsh[j].num)
{
temp = marsh[j-1];
marsh[j-1] = marsh[j];
marsh[j] = temp;
}
}