На
Наталья

Помогите найти ошибку. Язык С

Есть вот такой элементарный код, при компиляции программа ошибок не выдает. После ввода первого scanf выбрасывает и ничего не происходит. В чем может быть ошибка? #include ;#include ;main (){clrscr();char n[10];float kil;float vartist;float vart;float summ;printf("Vvedit nazvu tovaru\n");scanf("%s",n);printf("Vvedit kilkist'");scanf("%f",kil);printf("Yaka vartist' tovaru?\n");scanf("%f",vartist);vart=vartist*kil;printf("|Tovar |Kilkist'|Vartist'|\n");printf("|s|%8.2f|%8.2f|",n,kil,vart);getch();}P.S. Это должна быть программа "Товарный чек". Помогите пожалуйста еще сделать так, чтобы можно было вводить несколько товаров и подсчитывать полную их стоимость.

Оно все смешало. Повторяю код.
#include ;
#include ;
main ()
{
clrscr();
char n[10];
float kil;
float vartist;
float vart;
float summ;
printf("Vvedit nazvu tovaru\n");
scanf("%s",n);
printf("Vvedit kilkist'");
scanf("%f",kil);
printf("Yaka vartist' tovaru?\n");
scanf("%f",vartist);
vart=vartist*kil;
printf("|Tovar |Kilkist'|Vartist'|\n");
printf("|s|%8.2f|%8.2f|",n,kil,vart);
getch();
}

Спасибо огромное, помогло.

Помогите пожалуйста еще сделать так чтобы можно было внести несколько товаров в таблицу и вычеслить их общею конечную стоимость

Ел
Елена

Естественно выбрасывает и должно выбрасывать, потому что Вы не поставили в scanf перед именем переменной знак &.

И еще. Можно все переменные одного типа объявлять после первого упоминания о типа, то есть я имею в виду, что проще было бы написать:
float kil, vartist, vart, summ;

Еще один момент - для ввода строки лучше использовать функцию gets(n); Только для этого нужно добавить заголовочный файл string.h, то есть вначале программы написать #include
При вводе строк лучше пользоваться именно gets(), потому что scanf() вводит строку только пока не встретился разделитель, например:
Допустим нужно ввести abcd efg
Если использовать scnf(), то в строковой переменной будет только abcd. Если использовать gets(), то введется то, что и хотели ввести.

___________________________________________

Чтобы можно было ввести несколько товаров, то нужно ввести двумерный символьный массив. Ввести новую переменную, показывающую сколько товаров будет вводиться и вводить с помощью цикла товары.
Общую сумму можно посчитать, если ввести еще одну переменную, первоначально присвоить ей значение ноль, а потом каждый раз, когда вводите цену какого-то товара, то прибавлять это число к числу в этой переменной. Это сделать просто. Сами оформите.

ВЕ
Вадим Евсеев

ты слышал про такую чудесную функцию как ФОРМАТИРОВАНИЕ?

Похожие вопросы
Помогите пожалуйста найти ошибку в задаче (Язык программирования Си)
помогите найти ошибку в программе на языке паскаль
Помогите найти ошибку) _)))
Помогите найти ошибку))))
помогите найти ошибку!!! на с++
Помогите найти ошибки в программе. Язык программирования С и С++
Языка паскаль не могу найти ошибку, помогите!
Помогите найти ошибку программы на языке С программирования?
язык программирования Transact-sql, помогите пожалуйста найти ошибку
Найти ошибки в коде. Язык си