Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
cyberbustarf
1 / 1 / 0
Регистрация: 09.11.2018
Сообщений: 85
1

Некорректная работа

03.01.2019, 20:33. Просмотров 498. Ответов 3

Почему когда ввожу численные значения (1.2.3.4) все столбцы ровные и все корректно отображается ,но когда ввожу хоть одну букву ,то все столбцы кривятся и название неправильно отображается
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
#include<stdio.h>
 
using namespace std;
 
struct orgt 
 {
    char n;
    char Firm[10];
    char Model[10];
    float price[10];
};
int main (){
    orgt s[10];
    char c;
printf("You start table filing!\r\n");
    for(int i=0;i<10;i++)
    {
    
        printf("Countine? 1 - No\r\n");
        scanf("%s",&c);
        if(c=='1')
        break;
        printf("Enter  NAME: ");
       scanf("%d",&s[i].n);
        printf("Enter Firm: ");
        scanf("%s",&s[i].Firm);
        printf("Enter Model name: ");
        scanf("%s",&s[i].Model);
        printf("Enter price of item: ");
        scanf("%f",&s[i].price[0]);
    }
    {
        printf("Table:\r\n");
        printf("Name\t\tFirm\t\tModel\t\price\r\n");
        for(int j=0;j<1;j++)
        printf("%i\t\t%s\t\t%s\t%f\r\n",s[j].n,s[j].Firm,s[j].Model,s[j].price[0]);
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2019, 20:33
Ответы с готовыми решениями:

Работа с файлом (корректный код, некорректная работа программы)
Для записи и чтения файла использую разные функции. По одиночке они работают нормально. Вставляю...

Некорректная работа меню
Почему &quot;Choose smth&quot; два раза выводится? И не понимаю, почему ввод выбора осуществляется именно...

Некорректная работа в программе с нумерации логинов
Написал программу ,которая выводит логин и результат в отдельные файлы,но вот с нумерацией...

Некорректная работа цикла do/while, вложенного в цикл for
Помогите!!!Почему не работает цикл while(1)?

3
TButton
273 / 75 / 21
Регистрация: 25.01.2016
Сообщений: 497
Записей в блоге: 1
04.01.2019, 04:17 2
Цитата Сообщение от cyberbustarf Посмотреть сообщение
Почему когда ввожу численные значения (1.2.3.4) все столбцы ровные и все корректно отображается ,но когда ввожу хоть одну букву ,то все столбцы кривятся
Потому что, ф-я scanf на сколько я понимааю, работает так, что она воспринимает только тот тип данных, который ты указал вначале. Т.е тут,
Цитата Сообщение от cyberbustarf Посмотреть сообщение
scanf("%d",&s[i].n);
Ты написал "%d", что означает тип double. А буква, которую ты вводишь, является типом char, что никак не соответствует тому, что принимает данная scanf. Следовательно, в переменную n у тебя ничего не записывается, даже если она типа char. В итоге, этой переменной не выделяется память в компьютере, и то, что ты выводишь - рандомный мусор.
Чтобы эжто исправить, напиши %s
0
zss
Модератор
Эксперт С++
9233 / 7979 / 4900
Регистрация: 18.12.2011
Сообщений: 21,268
Завершенные тесты: 1
04.01.2019, 06:12 3
Цитата Сообщение от cyberbustarf Посмотреть сообщение
scanf("%s",&c);
C
1
scanf("%c",&c);
0
Байт
Эксперт C
22708 / 14391 / 3017
Регистрация: 24.12.2010
Сообщений: 30,659
04.01.2019, 11:48 4
Цитата Сообщение от TButton Посмотреть сообщение
Ты написал "%d", что означает тип double.
Поправочка. %d - int, %f - float, %lf - double
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2019, 11:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Некорректная работа с памятью (calloc и free)
Суть задачи: Пользователь вводит с клавиатуры строку с разделителями в виде пробела. Надо выделить...

Некорректная работа тестовой программы для проверки клавиатуры
Всем доброго времени суток! Сейчас решаю задачу по созданию теста для проверки работоспособности...

Некорректная работа программы по работе с файлами - добавляется лишний символ
Доброго времени суток. Есть вот такая вот программа. Она работает корректно, за исключением одного...

Некорректная запись в файл
задача - считать из файла1 тхт текст, ввести длину строки и записать в файл2.тхт этот же текст в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.