не получается сделать присваивание, аналогичное readln(x) в паскале. подскажите.
Lapp
10.07.2009 5:11
Цитата(sheka @ 10.07.2009 1:54)
не получается сделать присваивание, аналогичное readln(x) в паскале. подскажите.
Уточни: ты хочешь вводить оба числа на одной строке:
123.45 10
- или на разных:
123.45 10
- ?
sheka
10.07.2009 5:19
в данный момент - это роли не играет. если можешь, покажи и так и так.
Lapp
10.07.2009 5:53
Я бы сделал проще:
scanf("%f%d",&x,&n);
Вводить два числа на одной строке через пробел, в конце нажать <enter>. Полагаю, ты перемудрил с шириной поля. Если тебе она несущественна, то лучше не указывать. Иначе легко ошибиться при вводе.
Добавлено через 2 мин. Если после каждого числа нажимается <enter>, то так:
что-то у меня с вводом не получается. и выводит тоже неизвестно что.
Lapp
10.07.2009 6:29
Символы новой строки, "\n", в конце формата - лишние, убери их. См. мой предыдущий мессадж. И пиши более конкретно симптомы ошибки. У меня тут нет компилятора, и не всегда понятно, что ты имеешь в виду.
volvo
10.07.2009 15:37
sheka, ты когда программу компилируешь, то не только на ошибки, а и на Warning-и смотри, и бойся их как огня... Смотри, что твоя программа из первого поста выдает в предупреждениях:
F:\Programs\CPP\forum_quick_test\console_c\main.c|2|warning: return type defaults to `int'| F:\Programs\CPP\forum_quick_test\console_c\main.c||In function `main':| F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: unknown conversion type character `.' in format| F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: int format, double arg (arg 2)| F:\Programs\CPP\forum_quick_test\console_c\main.c|6|warning: too many arguments for format| F:\Programs\CPP\forum_quick_test\console_c\main.c|11|warning: float format, double arg (arg 2)| F:\Programs\CPP\forum_quick_test\console_c\main.c|14|warning: unknown conversion type character 0xa in format| F:\Programs\CPP\forum_quick_test\console_c\main.c|14|warning: too many arguments for format| ||=== Build finished: 0 errors, 7 warnings ===|
С такими предупреждениями запускать программу - только время терять, ясно, что работать она не будет. Исправляем все вышесказанное:
#include <stdio.h> int main(){ double x; int n; printf("vvedi x,n\n"); scanf("%lf %1d",&x,&n); int i; double a,f1=0; for(i=0;i<=n;i++){ printf("vvedi a%i\n",i); scanf("%lf",&a); f1+=x*a; } printf("f1=%.6lf\n",f1);
return(0); }
, запускаем и смотрим что получилось...
sheka
10.07.2009 17:11
да, класс. вроде с этим пока мне хватит. из первого поста почему-то Warnings не выдавало.
как мне создать новый сpp файл? file->new->empty file и дальше писать свое расширение? как сделать задержку типа readln; ?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.