Начал изучать C по книге Грега Перри и Дина Миллера "Программирование на C для начинающих. 3-е издание".
Я конечно был предупреждён об обилии ошибок и опечаток в данной книге, но до определённого момента, по мере прочтения книги, удавалось исправлять их самостоятельно.
Понять, в чем же проблема в следующем фрагменте я не смог.
В конце при выводе баланса пользователя, даже там, где баланс например 35.50, программа выводит
35.00.
#include <stdlib.h>
#include <stdio.h>
main()
{
int cusID[10] = {1, 2, 6, 3, 37, 7, 38, 63, 46, 9};
int cusBal[10] = {0.00, 10.00, 400.00, 25.00, 39.80, 262.44, 39.02, 1.34, 73.42, 1.61};
int idSearch;
int ctr;
int i;
int found;
int inn, out, swap;
int tempID;
float tempBal;
//ДО СОРТИРОВКИ
puts("До сортировки:");
for(i = 0; i < 10; i++)
{
printf(" %d\n", cusID[i]);
}
//СОРТИРОВКА
for(out = 0; out < 10; out++)
{
for(inn = out; inn < 10; inn++)
{
if (cusID[inn] < cusID[out])
{
tempID = cusID[inn];
cusID[inn] = cusID[out];
cusID[out] = tempID;
tempBal = cusBal[inn];
cusBal[inn] = cusBal[out];
cusBal[out] = tempBal;
}
}
}
//ПОСЛЕ СОРТИРОВКИ
puts("\nПосле:");
for(i = 0; i < 10; i++)
{
printf(" %d\n", cusID[i]);
}
printf("\nВведи айди:\n");
scanf(" %d", &idSearch);
//ПОИСК
found = 0;
for(ctr = 0; ctr < 10; ctr++)
{
if(idSearch == cusID[ctr])
{
found = 1;
break;
}
if(cusID[ctr] > idSearch)
{
break;
}
}
if(found)
{
if(cusBal[ctr] > 100.00)
{
printf("Баланс велик $%.2f. Плохо\n", cusBal[ctr]);
}
else
{
printf ("Баланс мал $%.2f. Хорошо", cusBal[ctr]);
}
}
else
{
printf("Нетy ID %d", idSearch);
}
return(0);
}