Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Несколько if и else в одной функции https://www.cyberforum.ru/ c-beginners/ thread2691025.html
Здравствуйте. Подскажите пожалуйста, в языке Си может ли в одной функции быть несколько else или if, например: void a (void) { If { ; } diegoarmanda, можно по-разному, только вот вторую, полагаю, надо записать так: void a (void) { if () { ; } else if () {
Как сделать проверку значений такого плана 001, 0005 C (СИ)
#include "logic.h" #include "screen.h" #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); display(); Как сделать проверку значений такого плана 001, 0005 но кроме как fgets у меня не получилось сделать защиту от букв Не понял. Так от чего вы пытаетесь сделать защиту? В заголовке фигурируют...
кто нибудь может создать программу рисовалку C (СИ)
кто нибудь может создать программу рисовалку, чтобы она рисовала не как мазками кисти а как валиком, но основная особенность это создание своих кистей, таких которые бы рисовали не одним цветом, а... вот так, походя, тебе тут на форуме кто-то напишет прогу покруче фотошопа? Конечно! Это же легко Просто не барское это дело, к тому же нудно и долго жаль на это время тратить. А нам тут всё...
Scanf ведет себя отвратительно C (СИ)
Здравствуйте.Scanf не работает в цикле for.Почему? #include <stdio.h> #include <stdlib.h> void FreeAnArray(double *arr) {free(arr);} void CreateAnArray(int length,double *arr){ arr =... #include <stdio.h> #include <stdlib.h> void FreeAnArray(double *arr) {free(arr);} double* CreateAnArray(int length){ return (double*)malloc(length*8); } void ShowAnArray(int length,double...
Определить наиболее часто повторяющееся число в массиве C (СИ)
Ограничение времени 2 секунды Ограничение памяти 64Mb Ввод input.txt Вывод output.txt Известно, что в массиве длины N все элементы являются целыми числами, по модулю не превосходящими M.... Заводите массив интов A размером M+1. С учётом все элементы являются целыми числами, по модулю не превосходящими M я бы сказал 2M + 1
C (СИ) Форма записи массива двоично-десятичных чисел
Здравствуйте. Не могу понять форму записи массива двоично-десятичных чисел. Объясните пожалуйста. например {0x34,0x12,0x99} запись ведется в шеснадцетиричном виде, а числа в десятичном диапазоне 0-9
C (СИ) Считывание слова из файла https://www.cyberforum.ru/ c-beginners/ thread2690885.html
Такая проблема. Мне нужно из файла algorithm считать слово. Я это делаю так: сначала я с помощью функции fgets() считыванию всю строку из файла в символьный массив char* line. Далее с помощью... signore, fgets первым параметром принимает указатель на массив символов зачем Вы для line применяете взятие адреса, тут вообще по идее Вас компилятор должен отругать мол: can't convert parameter 1 in...
C (СИ) Чтение отсчетов .wav -файла в файл .txt
У кого есть пример программы чтения отсчетов данных .wav -файла в файл .txt (.bin) или отправки их в USART CP2102 (например, для управления ШИМ в PIC16 на скорости 115200 бод для... Пробный вариант программы чтения (пока на консоль , под DevC++) #include <iostream> //#include <stdio.h> #include <string.h> #include <math.h> using namespace std;
C (СИ) Непонятное поведение указателя https://www.cyberforum.ru/ c-beginners/ thread2692044.html
Добрый день! Столкнулся со следующей проблемой. Есть функция, которая оконным методом вычисляет дисперсию данных. На вход она получает указатель на массив исходных данных и его размер. В первую... УМВР, не знаю что у вас не так, но закоментированный цикл вообще не при чем, а вот при четных значениях апертуры Ваша функция явно косячит в расчетах
C (СИ) fgets не проверяет значения такие как 00001, 005 и.т.д #include <stdio.h> #include <stdlib.h> #include <time.h> #include "screen.h" #include "logic.h" int main() { srand(time(NULL)); system("clear"); fgets не проверяет значения такие как 00001, 005 и.т.д Чего? :scratch: https://www.cyberforum.ru/ c-beginners/ thread2691315.html
C (СИ) Struct bitfields
Разбираюсь в stm32. И вот для регистров хочу использовать структуры типа typedef struct { uint16_t bENABLE :1; uint16_t bSOFT_RESET :1; uint16_t bNEW_METHOD :1; ... Хм, интересно. Спасибо, надо будет испробовать
C (СИ) Генерация заголовочных файлов в CMake https://www.cyberforum.ru/ c-beginners/ thread2690908.html
Добрый вечер! Нужно вставить содержимое файла XML в строковую константу заголовочного файла с помощью CMake. Для этого я использую такие команды в CMakeLists.txt: file(STRINGS... Можно попробовать прочитать содержимое файла во временную переменную, а затем поджойнить получившийся список в одну строку. file(STRINGS src/main_window.glade TMP_MAIN_WINDOW_CONTENT) list(JOIN...
2483 / 1147 / 707
Регистрация: 25.04.2016
Сообщений: 3,294
12.09.2020, 05:34 0

printf не работает - C (СИ) - Ответ 14834471

12.09.2020, 05:34. Показов 4162. Ответов 29
Метки (Все метки)

Ответ

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
 
typedef struct {
    char name[32];
    char surname[32];
    double ball;
} Student;
 
int main (void) {
    setlocale(LC_ALL, "russian");
    //setlocale(LC_ALL, "ru_RU.UTF-8");    // GNU/Linux
    setlocale(LC_NUMERIC, "C");
 
    int i, amount;
    printf("Введите количество студентов: ");
    if (scanf("%d", &amount) != 1 || amount < 1) {
        fprintf(stderr, "Неподходящее число студентов!\n");
        return 1;
    }
 
    Student * students = (Student *)malloc(sizeof(Student) * amount);
    if (students == NULL) {
        fprintf(stderr, "Ошибка выделения памяти!\n");
        return 2;
    }
 
    double sum = 0;
    for (i = 0; i < amount; i++) {
        printf("\nВведите данные %d-го студента.\nИмя: ", i+1);
        if (scanf("%32s", students[i].name) != 1) {
            fprintf(stderr, "Ошибка чтения данных!\n");
            free(students);
            return 3;
        }
        printf("Фамилия: ");
        if (scanf("%32s", students[i].surname) != 1) {
            fprintf(stderr, "Ошибка чтения данных!\n");
            free(students);
            return 3;
        }
        printf("Балл: ");
        if (scanf("%lf", &students[i].ball) != 1) {
            fprintf(stderr, "Ошибка чтения данных!\n");
            free(students);
            return 3;
        }
 
        sum += students[i].ball;
    }
 
    double avg = sum/amount;
    printf("Среднее арифметическое: %lf\n", avg);
    for (i = 0; i < amount; i++)
        if ((students[i].ball - avg) > 0.00002)
            printf("%s %s\n", students[i].name, students[i].surname);
 
    free(students);
    return 0;
}
По-хорошему стоит вынести получение данных с клавиатуры в отдельную функцию, и там уже развернуться на полную: полноценно считывать строку, проверять корректность ввода данных и прочее. Но такими мелочами заниматься в дошкольном проекте как-то совсем не хочется, поэтому я просто оставил закладки с намеком, что здесь вообще-то стоит уделить побольше внимания контролю возможных ошибок. Тем более, что у нас не только может попасться юзер с прибабахом, но и техника вовсе не безгрешна и может работать с ошибками. По этой же причине, например, мы не сравниваем величины double напрямую, а извращаемся с вычитанием.

И да, еще один момент, стоит помнить, что setlocale() позволяет выводить текст на русском на экран, но наличие этой строки в коде вовсе не гарантирует, что вы можете безболезненно и безнаказанно вводить русский текст с клавиатуры. Это вообще отдельная песня, особенно когда у вас шиндовс, где вопрос локализации зависит от стольких параметров, что трогать этот замечательный карточный домик вообще не хочется.

Вернуться к обсуждению:
printf не работает C (СИ)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2020, 05:34
Готовые ответы и решения:

Не работает printf()
Почему консоль ничего не выводит, в чём проблема? Microsoft Visual C++ Express 2010 #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; ...

Почему не работает printf?
int main(){ setlocale(LC_ALL,&quot;RUS&quot;); SetConsoleCP(1251); SetConsoleOutputCP(1251); char sym; int n=0; printf(&quot;введите...

Не корректно работает printf
Добрый день, у меня в этой программе почему то printf выводит нули. Хотя переменные правильно посчитаны. Можете подсказать, в чем проблема?...

29
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2020, 05:34
Помогаю со студенческими работами здесь

Не работает printf после циклов
Элементарная программа, перепечатанная из учебника Кернигана (только начал знакомство с Си). Первый printf работает нормально, второй...

Как вообще работает это printf() ?
Есть код: #include &lt;stdio.h&gt; int main(){ float f = 354.235; printf(&quot;%10f\n&quot;, f); printf(&quot;%2f\n&quot;, f); } ...

Printf не работает
Здравствуйте. В такой вот, пародии на программку последний printf ничего не выводит. Только начал изучать C++. Подкажите в чём может быть...

не работает PRINTf
вот я в браузере смотрю свою стр. в HTML *** &lt;form&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td class='cntr'&gt; а вот мой...

почему PRINTF не работает?
есть файл с следующим содержаним: aa fr ab ty ac qw .. az re нужно найти в этом файле комбинацию ab и во второй файл записать 2...

0
Новые блоги и статьи
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class - средства для работы с неизменяемыми структурами данных, каждое из которых предлагает свой уникальный подход к решению этой задачи. История их появления весьма. . .
Создание производительны­­х API с Java и gRPC
Wired 04.03.2025
В разработке производительность и масштабируемость микросервисных приложений играют ключевую роль. Традиционные REST API, несмотря на свою популярность и простоту, не всегда способны обеспечить. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 знаменует собой значительный скачок в развитии Java, внося фундаментальные улучшения в производительность, безопасность и удобство разработки. Релиз включает множество революционых изменений,. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Современная блокчейн-разработка на Java предоставляет разработчикам широкий спектр возможностей. В отличие от Solidity, который ограничен экосистемой Ethereum, Java позволяет создавать как. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
WebAssembly и Go: Работа с DOM и обработка ошибок
bytestream 03.03.2025
WebAssembly представляет собой технологию, позволяющую запускать низкоуровневый код в браузере практически на нативной скорости. Особенно интересные возможности открываются при использовании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru