#c
#c
Вопрос:
`#include<stdio.h>
#include<conio.h>
void main()
{
char L,F,H;
float length,breadth,CID,Aoc;/*Pte*/
float Cost_per_sqft,Total_cost, GST;
int dicnt,age,ch;
char Pte;
printf("Enter the Client IDn");
scanf("%f", amp;CID);
printf("Enter the age of clientn");
scanf("%d", amp;age);
if (age >=60)
{
printf("The client is eligible for a discountn");
}
else if (age<60)
{
printf("The client is not eligible for a discountn");
}
{ printf("Select Porperty typenF=FlatnL=LandnH=Housen");
scanf(" %c", amp;Pte);
printf("Enter lengthn");
scanf("%f", amp;length);
printf("Enter breadthn");
scanf("%f", amp;breadth);
if (Pte=F)
{
Cost_per_sqft = 5000.0;
printf("Cost per sqft = %fn", Cost_per_sqft);
}
else if (Pte=L)
{
Cost_per_sqft = 6000.0;
printf("Cost per sqft = %fn", Cost_per_sqft);
}
else if (Pte=H);
{
Cost_per_sqft = 9000.0;
printf("Cost per sqft = %fn", Cost_per_sqft);
}
printf("Please select the menu optionn");
printf("1.Client IDn");
printf("2.Property detailsn");
printf("3.Exitn");
scanf("%d", amp;ch);
switch(ch)
{
case 1:
printf("Client ID = %fn", CID);
printf("Age of client = %d", age);
break;
case 2:
printf("Property type = %cn", Pte);
printf("Cost per square feet = %fn", Cost_per_sqft);
Total_cost = (length*breadth*Cost_per_sqft);
printf("Total cost = %f", Total_cost);
break;
case 3:
;//add content
break;
}
}
}
Программа принимает значение стоимости за квадратный фут дома, которое равно 9000, даже если я ввожу переменные Flat или Land. другой проблемой является общая стоимость свойства. вместо того, чтобы брать желаемые типы свойств, стоимость за квадратный фут, я считаю, что это умножение стоимости за квадратный фут для всех значений F, L, H. и в меню сведений о свойстве тип свойства также не отображается.
Комментарии:
1. Интересно, есть ли какие-то предупреждения от вашего компилятора относительно присваивания в условии или какое-то отклонение
;
послеif
. Если нет, вам следует включить предупреждения. Для GCC вы можете сделать это с помощью-Wall -Wextra
2. Я бы посоветовал применять последовательные отступы к вашему коду. Разные отступы для одного и того же уровня отступа сбивают с толку читателей.
3. Наконец, вы не должны публиковать текст в виде изображений. Вы можете скопировать и вставить обычный текст в вопрос. Нет необходимости добавлять графику.
Ответ №1:
Я бы посоветовал вам использовать комментарии к вашему коду, так будет легко найти ошибку даже для вас.
else if (Pte=H);
{
Cost_per_sqft = 9000.0;
printf("Cost per sqft = %fn", Cost_per_sqft);
}
Попробуйте удалить оператор завершения (‘;’) из оператора else if .
Также используйте ‘==’ вместо ‘=’ в условных операторах. например. в if (Pte=F)
использовании if (Pte=='F')
вместо
Это должно просто помочь вам запустить ваш код.