Я хочу создать меню, в котором отображается 1. Идентификатор клиента, 2. Сведения о свойстве, 3.Выход

#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') вместо

Это должно просто помочь вам запустить ваш код.