#include
main()
{
int client_1 = 4839, client_2 = 8251, client_3 = 5817;
double sum_client_1 = 20000.17, sum_client_2 = 195.53, sum_client_3 = 5023.58,
limit_client_1, limit_client_2, limit_client_3,
first_limit_client_1 = 50000, first_limit_client_2 = 2000, first_limit_client_3 = 3000;
limit_client_1 /= 2;
limit_client_2 /= 2;
limit_client_3 /= 2;
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_1, limit_client_1, sum_client_1, sum_client_1 < limit_client_1 ? 'Limit previshen' : 'Limit ne previshen');
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_2, limit_client_2, sum_client_2, sum_client_2 < limit_client_2 ? 'Limit previshen' : 'Limit ne previshen');
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_3, limit_client_3, sum_client_3, sum_client_3 < limit_client_3 ? 'Limit previshen' : 'Limit ne previshen');
printf("Spisok schetov klientov s previshennim limitom\n");
if(sum_client_1 < limit_client_1)
printf("%d\n", client_1);
if(sum_client_2 < limit_client_2)
printf("%d\n", client_2);
if(sum_client_3 < limit_client_3)
printf("%d\n", client_3);
getchar();
return 0;
}
C/C++
Си. Программа выдаёт ошибку
Учебная программа. В чём ошибка? Я так понимаю где то в функции printf связано с спецификатором преобразования %s?
В данном коде есть несколько ошибок:
1. В функции main не указан тип возвращаемого значения. Рекомендуется указать int перед main().
2. В строках, где используется условный оператор для выбора строки для вывода, вы используете одинарные кавычки (') вместо двойных ("). Замените одинарные кавычки на двойные кавычки.
3. Переменные limit_client_1, limit_client_2 и limit_client_3 не инициализированы. Добавьте соответствующие значения перед делением на 2.
4. Используйте правильные операторы сравнения в условных выражениях в строках с проверкой на превышение лимита. Замените < на >.
5. Добавьте прототип функции main перед ее определением или перенесите определение функции main в начало программы.
Исправленный код будет выглядеть следующим образом:
#include <stdio.h>
int main(void)
{
int client_1 = 4839, client_2 = 8251, client_3 = 5817;
double sum_client_1 = 20000.17, sum_client_2 = 195.53, sum_client_3 = 5023.58,
limit_client_1 = 50000, limit_client_2 = 2000, limit_client_3 = 3000,
first_limit_client_1 = 50000, first_limit_client_2 = 2000, first_limit_client_3 = 3000;
limit_client_1 /= 2;
limit_client_2 /= 2;
limit_client_3 /= 2;
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_1, limit_client_1, sum_client_1, sum_client_1 < limit_client_1 ? "Limit previshen" : "Limit ne previshen");
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_2, limit_client_2, sum_client_2, sum_client_2 < limit_client_2 ? "Limit previshen" : "Limit ne previshen");
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_3, limit_client_3, sum_client_3, sum_client_3 < limit_client_3 ? "Limit previshen" : "Limit ne previshen");
printf("Spisok schetov klientov s previshennim limitom\n");
if (sum_client_1 > limit_client_1)
printf("%d\n", client_1);
if (sum_client_2 > limit_client_2)
printf("%d\n", client_2);
if (sum_client_3 > limit_client_3)
printf("%d\n", client_3);
getchar();
return 0;
}
После внесения этих изменений код будет исполняться без ошибок.
1. В функции main не указан тип возвращаемого значения. Рекомендуется указать int перед main().
2. В строках, где используется условный оператор для выбора строки для вывода, вы используете одинарные кавычки (') вместо двойных ("). Замените одинарные кавычки на двойные кавычки.
3. Переменные limit_client_1, limit_client_2 и limit_client_3 не инициализированы. Добавьте соответствующие значения перед делением на 2.
4. Используйте правильные операторы сравнения в условных выражениях в строках с проверкой на превышение лимита. Замените < на >.
5. Добавьте прототип функции main перед ее определением или перенесите определение функции main в начало программы.
Исправленный код будет выглядеть следующим образом:
#include <stdio.h>
int main(void)
{
int client_1 = 4839, client_2 = 8251, client_3 = 5817;
double sum_client_1 = 20000.17, sum_client_2 = 195.53, sum_client_3 = 5023.58,
limit_client_1 = 50000, limit_client_2 = 2000, limit_client_3 = 3000,
first_limit_client_1 = 50000, first_limit_client_2 = 2000, first_limit_client_3 = 3000;
limit_client_1 /= 2;
limit_client_2 /= 2;
limit_client_3 /= 2;
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_1, limit_client_1, sum_client_1, sum_client_1 < limit_client_1 ? "Limit previshen" : "Limit ne previshen");
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_2, limit_client_2, sum_client_2, sum_client_2 < limit_client_2 ? "Limit previshen" : "Limit ne previshen");
printf("Client number %d\n\nLimit = %.0f\nBalance = %.2f\n%30s\n\n", client_3, limit_client_3, sum_client_3, sum_client_3 < limit_client_3 ? "Limit previshen" : "Limit ne previshen");
printf("Spisok schetov klientov s previshennim limitom\n");
if (sum_client_1 > limit_client_1)
printf("%d\n", client_1);
if (sum_client_2 > limit_client_2)
printf("%d\n", client_2);
if (sum_client_3 > limit_client_3)
printf("%d\n", client_3);
getchar();
return 0;
}
После внесения этих изменений код будет исполняться без ошибок.
Ответ
Похожие вопросы
- Программа выдает ошибку c++
- Выдаёт ошибку в коде.Помогите
- Почему Visual studio выдаёт ошибку работы с памятью, если она была выделена calloc-ом?
- Dev C++. Выдаёт ошибки( Помогите, пожадуйста, исправить
- Написать программу на языке Си
- Программа на СИ. Циклы с постусловием и предусловием
- Помогите пожалуйста написать программу на Си
- Как на Си правильно создать резидентную программу, то есть "демона"?
- Написать программу на языке Си, которая решит эту задачу:
- Есть программа подсчета числа армстронга. И она выдает нули где ошибка?